html,html[theme]{--brand-h: 155;--brand-h2: 199;--brand-sat: 1;--lumo-primary-color: light-dark( hsl(var(--brand-h),calc(62% * var(--brand-sat)),42%),hsl(var(--brand-h),calc(60% * var(--brand-sat)),46%));--lumo-primary-color-50pct: light-dark( hsla(var(--brand-h),calc(62% * var(--brand-sat)),42%,0.5),hsla(var(--brand-h),calc(60% * var(--brand-sat)),46%,0.5));--lumo-primary-color-10pct: light-dark( hsla(var(--brand-h),calc(62% * var(--brand-sat)),42%,0.1),hsla(var(--brand-h),calc(60% * var(--brand-sat)),46%,0.12));--lumo-primary-text-color: light-dark( hsl(var(--brand-h),calc(62% * var(--brand-sat)),34%),hsl(var(--brand-h),calc(65% * var(--brand-sat)),62%));--lumo-border-radius-m: 12px;--lumo-border-radius-l: 18px;--app-gradient: linear-gradient(160deg,hsl(var(--brand-h),calc(84% * var(--brand-sat)),39%) 0%,hsl(var(--brand-h2),calc(89% * var(--brand-sat)),48%) 100%);--app-header-shadow: 0 10px 30px hsla(var(--brand-h),calc(62% * var(--brand-sat)),40%,0.35)}html[data-palette="pink"]{--brand-h: 335;--brand-h2: 285}html[data-palette="blue"]{--brand-h: 212;--brand-h2: 190}html[data-palette="gray"]{--brand-h: 215;--brand-h2: 215;--brand-sat: 0.16;--lumo-primary-text-color: light-dark(hsl(215,12%,28%),hsl(215,14%,72%))}body{background: radial-gradient(1200px 600px at 100% -10%,light-dark(hsla(var(--brand-h2),calc(89% * var(--brand-sat)),60%,0.12),hsla(var(--brand-h2),calc(80% * var(--brand-sat)),45%,0.08)),transparent),radial-gradient(1000px 500px at -10% 110%,light-dark(hsla(var(--brand-h),calc(62% * var(--brand-sat)),45%,0.14),hsla(var(--brand-h),calc(55% * var(--brand-sat)),40%,0.09)),transparent)}html,body{overflow-x: hidden;overscroll-behavior-x: none}*,*::before,*::after{box-sizing: border-box}vaadin-text-field::part(label),vaadin-integer-field::part(label),vaadin-select::part(label){white-space: normal}.board-view{overflow-anchor: none}.centered-page{min-height: 100vh;min-height: 100dvh;box-sizing: border-box;align-items: center;justify-content: center;padding: var(--lumo-space-l);padding-top: max(var(--lumo-space-l),env(safe-area-inset-top));padding-left: max(var(--lumo-space-l),env(safe-area-inset-left));padding-right: max(var(--lumo-space-l),env(safe-area-inset-right));padding-bottom: max(var(--lumo-space-l),env(safe-area-inset-bottom))}.auth-card{width: 100%;max-width: 420px;background: var(--lumo-base-color);border-radius: var(--lumo-border-radius-l);box-shadow: 0 18px 50px rgba(0,0,0,0.14);padding: var(--lumo-space-xl)}.restore-overlay{position: fixed;inset: 0;z-index: 20;max-width: none;border-radius: 0;box-shadow: none;background: var(--lumo-base-color);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--lumo-space-m);padding-top: env(safe-area-inset-top);box-sizing: border-box}.restore-overlay vaadin-progress-bar{max-width: 220px}.brand-title{display: inline-flex;align-items: center;gap: 0.3em;font-size: 2.4rem;font-weight: 800;line-height: 1.05;margin: 0;background: var(--app-gradient);-webkit-background-clip: text;background-clip: text;color: transparent}.brand-title img{height: 1.15em;width: auto;border-radius: 22%;flex: none}.brand-sub{color: var(--lumo-secondary-text-color);margin: 0 0 var(--lumo-space-m) 0}.home-header{background: var(--app-gradient);color: #fff;border-radius: var(--lumo-border-radius-l);padding: var(--lumo-space-m) var(--lumo-space-l);box-shadow: var(--app-header-shadow);flex-wrap: wrap;row-gap: var(--lumo-space-s)}.home-header h1{margin: 0;font-size: 1.4rem;color: #fff}.header-id{flex: 1 1 0;min-width: 0}.home-title{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.header-code{flex-wrap: wrap;min-width: 0}.header-actions{flex: 0 0 auto;flex-wrap: nowrap}.code-chip{font-family: var(--lumo-font-family-monospace,monospace);letter-spacing: 3px;font-weight: 800;font-size: 1.15rem;background: rgba(255,255,255,0.22);padding: 4px 12px;border-radius: 999px;color: #fff}.chore-master{display: inline-block;margin-top: 4px;padding: 2px 10px;border-radius: 999px;background: rgba(255,255,255,0.18);font-size: 0.8rem;font-weight: 600;max-width: 100%;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;vertical-align: bottom}.home-header vaadin-menu-bar-button{background: rgba(255,255,255,0.22);color: #fff;border-radius: 999px}.menu-row{display: inline-flex;align-items: center;gap: 10px}.menu-row-icon{width: 18px;height: 18px;color: var(--lumo-secondary-text-color)}.code-menu-chip{font-family: var(--lumo-font-family-monospace,monospace);letter-spacing: 3px;font-weight: 800;background: var(--lumo-contrast-10pct);color: var(--lumo-body-text-color);padding: 2px 10px;border-radius: 999px}.filter-bar{display: flex;flex-wrap: wrap;gap: var(--lumo-space-xs);width: 100%;margin: 0 0 var(--lumo-space-s)}.filter-chip{display: flex;align-items: center;padding: 6px 12px;border-radius: 999px;background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct);font-size: 0.85rem;font-weight: 600;cursor: pointer;user-select: none}.filter-chip:hover{border-color: var(--lumo-contrast-30pct)}.filter-chip.selected{border-color: var(--lumo-primary-color);box-shadow: 0 0 0 2px var(--lumo-primary-color-10pct);color: var(--lumo-primary-text-color)}.filter-bar.scroll{flex-wrap: nowrap;overflow-x: auto;padding: 2px 0;scrollbar-width: none;-webkit-overflow-scrolling: touch}.filter-bar.scroll::-webkit-scrollbar{display: none}.filter-bar.scroll .filter-chip{flex: 0 0 auto;white-space: nowrap}vaadin-checkbox-group::part(group-field){flex-wrap: wrap}.board-sections{display: flex;flex-direction: column;gap: 0;width: 100%}.group-heading{font-weight: 700;font-size: 0.95rem;color: var(--lumo-body-text-color);margin: var(--lumo-space-m) 0 var(--lumo-space-xs) 4px}.group-heading:first-child{margin-top: 0}.task-grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: var(--lumo-space-m);width: 100%}.task-card{position: relative;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;padding: var(--lumo-space-l) var(--lumo-space-m);min-height: 130px;border-radius: var(--lumo-border-radius-l);background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct);box-shadow: 0 4px 14px rgba(0,0,0,0.06);cursor: pointer;text-align: center;transition: transform 0.08s ease,box-shadow 0.15s ease,border-color 0.15s ease;user-select: none}.task-card:hover{box-shadow: 0 10px 24px rgba(0,0,0,0.12);border-color: var(--lumo-primary-color-50pct)}.task-card:active{transform: scale(0.95)}.task-card .emoji{font-size: 2.6rem;line-height: 1}.task-card .name{font-weight: 700;font-size: 1rem}.task-card .streak{position: absolute;top: 8px;right: 8px;font-size: 0.72rem;font-weight: 700;padding: 2px 8px;border-radius: 999px;background: var(--lumo-contrast-10pct);color: var(--lumo-secondary-text-color)}.task-card.streak-hot .streak{background: hsla(25,95%,55%,0.18);color: light-dark(hsl(20,90%,42%),hsl(25,95%,68%))}.snooze-chip{position: absolute;top: 8px;left: 8px;max-width: 45%;overflow: hidden;white-space: nowrap;font-size: 0.72rem;font-weight: 700;padding: 2px 6px;border-radius: 999px;opacity: 0.35;cursor: pointer}.snooze-chip.armed{opacity: 1;background: var(--lumo-primary-color-10pct);color: var(--lumo-primary-text-color)}.task-card .streak{max-width: calc(100% - 52px);overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.task-card:has(.snooze-chip:active){transform: none}@media (pointer: coarse){.snooze-chip{display: inline-flex;align-items: center;justify-content: center;min-width: 40px;min-height: 40px;padding: 0 6px;top: 0;left: 0}}.task-card.locked{opacity: 0.55;cursor: not-allowed}.task-card.add-card{border-style: dashed;border-width: 2px;color: var(--lumo-primary-text-color);background: transparent;box-shadow: none}.task-card.help-card{border-style: dashed;border-width: 2px;border-color: var(--lumo-contrast-30pct);background: var(--lumo-contrast-5pct);box-shadow: none}.leaderboard{display: flex;flex-wrap: wrap;gap: var(--lumo-space-s);width: 100%}.member-chip{display: flex;align-items: center;gap: 8px;padding: 6px 12px 6px 6px;border-radius: 999px;background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct);font-weight: 600}.avatar-dot{width: 30px;height: 30px;border-radius: 50%;display: flex;align-items: center;justify-content: center;color: #fff;font-weight: 800;font-size: 0.85rem;flex: 0 0 auto;overflow: hidden}.avatar-dot img{width: 84%;height: 84%;object-fit: contain}.menu-section-label{display: block;padding: 6px 12px 2px;font-size: 0.7rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;color: var(--lumo-secondary-text-color)}.palette-dot{width: 16px;height: 16px;border-radius: 50%;flex: 0 0 auto;margin-right: 8px;border: 1px solid var(--lumo-contrast-20pct)}.palette-dot[data-palette="green"]{background: linear-gradient(160deg,hsl(155,84%,39%),hsl(199,89%,48%))}.palette-dot[data-palette="pink"]{background: linear-gradient(160deg,hsl(335,84%,39%),hsl(285,89%,48%))}.palette-dot[data-palette="blue"]{background: linear-gradient(160deg,hsl(212,84%,39%),hsl(190,89%,48%))}.palette-dot[data-palette="gray"]{background: linear-gradient(160deg,hsl(215,13%,39%),hsl(215,14%,48%))}.avatar-grid{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center}.avatar-cell{width: 52px;height: 52px;border-radius: 50%;display: flex;align-items: center;justify-content: center;background: var(--lumo-contrast-5pct);border: 2px solid transparent;cursor: pointer;font-size: 0.6rem;font-weight: 700;text-align: center;color: var(--lumo-secondary-text-color)}.avatar-cell img{width: 80%;height: 80%;object-fit: contain}.avatar-cell.selected{border-color: var(--lumo-primary-color);box-shadow: 0 0 0 2px var(--lumo-primary-color-10pct)}.member-chip.me{border-color: var(--lumo-primary-color);box-shadow: 0 0 0 2px var(--lumo-primary-color-10pct)}.leaderboard.compact .member-chip{padding: 4px 10px 4px 4px;gap: 6px}.leaderboard.compact .member-chip .name{display: none}.member-chip .count{background: var(--lumo-contrast-10pct);border-radius: 999px;padding: 1px 9px;font-size: 0.85rem}.member-chip .credit-chip{background: hsla(45,100%,51%,0.18);color: light-dark(hsl(38,92%,38%),hsl(45,95%,65%));border-radius: 999px;padding: 1px 9px;font-size: 0.8rem;font-weight: 700}.section-label{font-size: 0.8rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--lumo-secondary-text-color);margin: var(--lumo-space-s) 0 0 4px}.celebrate-dialog{text-align: center;padding: var(--lumo-space-l);max-width: 320px}.celebrate-emoji{font-size: 4.5rem;animation: pop 0.5s cubic-bezier(0.18,0.89,0.32,1.28)}.celebrate-title{font-size: 1.5rem;font-weight: 800;margin: var(--lumo-space-s) 0 4px}.celebrate-text{color: var(--lumo-secondary-text-color);margin: 0}@keyframes pop{0%{transform: scale(0.2) rotate(-15deg);opacity: 0}70%{transform: scale(1.15) rotate(6deg)}100%{transform: scale(1) rotate(0);opacity: 1}}.page-pad{padding: var(--lumo-space-m);padding-top: max(var(--lumo-space-m),env(safe-area-inset-top));max-width: 760px;margin: 0 auto;width: 100%;box-sizing: border-box}.admin-badge{font-size: 0.7rem;font-weight: 800;text-transform: uppercase;letter-spacing: 0.05em;background: rgba(255,255,255,0.25);color: #fff;padding: 2px 8px;border-radius: 999px}.member-chip .crown{font-size: 0.85rem;margin-left: 2px}.nav-badge{display: inline-flex;align-items: center;justify-content: center;min-width: 18px;height: 18px;padding: 0 5px;margin-left: 6px;font-size: 0.7rem;font-weight: 800;color: #fff;background: var(--lumo-error-color,#ef4444);border-radius: 999px}.daily-strip{display: flex;align-items: center;gap: 12px;padding: 10px 14px;border-radius: var(--lumo-border-radius-l);background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct)}.daily-ring{width: 46px;height: 46px;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-weight: 800;font-size: 0.85rem;color: var(--lumo-primary-text-color);flex: 0 0 auto}.daily-ring.done{color: #fff;background: var(--lumo-primary-color)}.done-today{margin: var(--lumo-space-xs) 0 var(--lumo-space-s)}.done-today vaadin-details-summary{font-size: 0.85rem;font-weight: 700;color: var(--lumo-secondary-text-color)}.undo-strip{display: flex;align-items: center;gap: 8px;margin-top: var(--lumo-space-s);padding: 6px 10px 6px 14px;border-radius: var(--lumo-border-radius-l);background: var(--lumo-contrast-5pct);border: 1px dashed var(--lumo-contrast-20pct);font-size: 0.85rem;color: var(--lumo-secondary-text-color)}.undo-strip .grow{flex: 1;min-width: 0}.feedback-row{display: flex;gap: 10px;justify-content: center;margin-top: var(--lumo-space-s)}.feedback-btn{font-size: 1.6rem;line-height: 1;padding: 8px 12px;border-radius: var(--lumo-border-radius-m);border: 1px solid var(--lumo-contrast-10pct);background: var(--lumo-base-color);cursor: pointer;transition: transform 0.08s ease,border-color 0.12s ease,background 0.12s ease}.feedback-btn:hover{border-color: var(--lumo-primary-color-50pct);transform: translateY(-2px)}.feedback-btn.selected{background: var(--lumo-primary-color-10pct);border-color: var(--lumo-primary-color)}.feedback-hint{font-size: 0.8rem;color: var(--lumo-secondary-text-color);margin: var(--lumo-space-s) 0 0}.chart-card{background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-l);padding: var(--lumo-space-m);margin-bottom: var(--lumo-space-m)}.chart-title{font-weight: 700;margin: 0 0 var(--lumo-space-s)}.bar-row{display: grid;grid-template-columns: 96px 1fr 34px;align-items: center;gap: 8px;margin: 6px 0;font-size: 0.85rem}.bar-row .bar-label{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: var(--lumo-secondary-text-color)}.bar-track{background: var(--lumo-contrast-10pct);border-radius: 999px;height: 14px;overflow: hidden}.bar-fill{height: 100%;border-radius: 999px;background: var(--app-gradient);min-width: 2px;transition: width 0.4s ease}.bar-row .bar-value{text-align: right;font-weight: 700}.seg-track{display: flex;height: 14px;border-radius: 999px;overflow: hidden;background: var(--lumo-contrast-10pct)}.seg-hate{background: #ef4444}.seg-ok{background: #f59e0b}.seg-love{background: #10b981}.stat-tiles{display: grid;grid-template-columns: repeat(4,1fr);gap: var(--lumo-space-xs);margin: 0 0 var(--lumo-space-s)}.stat-tile{display: flex;flex-direction: column;align-items: center;gap: 2px;padding: 8px 4px;border-radius: var(--lumo-border-radius-m);background: var(--lumo-contrast-5pct);border: 1px solid transparent;text-align: center;min-width: 0;cursor: pointer;user-select: none;transition: border-color 120ms,background 120ms}.stat-tile:hover{border-color: var(--lumo-contrast-30pct)}.stat-tile:focus-visible{outline: 2px solid var(--lumo-primary-color);outline-offset: 1px}.stat-tile.selected{border-color: var(--lumo-primary-color);background: var(--lumo-primary-color-10pct)}.stat-value{font-size: 1.35rem;font-weight: 800;line-height: 1}.stat-label{font-size: 0.75rem;color: var(--lumo-secondary-text-color);overflow-wrap: anywhere}.trend{display: flex;align-items: flex-end;gap: 4px;height: 104px;padding-top: 6px}.trend-col{flex: 1;display: flex;flex-direction: column;align-items: center;justify-content: flex-end;height: 100%;gap: 4px}.trend-bar{width: 70%;min-height: 2px;border-radius: 4px 4px 0 0;background: var(--app-gradient)}.trend-wide{gap: 2px}.trend-wide .trend-bar{width: 82%}.trend-wide .trend-day{font-size: 0.7rem;white-space: nowrap}.trend-day{font-size: 0.75rem;color: var(--lumo-secondary-text-color)}.trend-count{flex-shrink: 0;font-size: 0.7rem;font-weight: 600;line-height: 1;color: var(--lumo-secondary-text-color);font-variant-numeric: tabular-nums}.trend-wide .trend-count{font-size: 0.62rem}.admin-section{background: var(--lumo-base-color);border: 1px solid var(--lumo-contrast-10pct);border-radius: var(--lumo-border-radius-l);padding: var(--lumo-space-m);margin: 0 0 var(--lumo-space-m);width: 100%;box-sizing: border-box}.admin-section>vaadin-details-summary{color: var(--lumo-body-text-color);font-weight: 600;white-space: normal}.admin-section::part(content){padding: var(--lumo-space-s) 0 0}.admin-urgent>vaadin-details-summary{color: var(--lumo-primary-text-color);font-weight: 700}.admin-subsection{margin: var(--lumo-space-xs) 0 0}.admin-subsection>vaadin-details-summary{color: var(--lumo-body-text-color);font-weight: 600;white-space: normal;min-height: 40px}.admin-subsection::part(content){padding: 0 0 0 var(--lumo-space-s)}.row-menu vaadin-menu-bar-button{min-width: 40px;min-height: 40px;color: var(--lumo-secondary-text-color)}.danger-section{border-color: var(--lumo-error-color,#ef4444);background: hsla(0,84%,60%,0.04);margin-top: var(--lumo-space-l)}.danger-section>vaadin-details-summary{color: var(--lumo-error-text-color,#b91c1c)}.list-row{display: flex;align-items: center;gap: 8px;padding: 8px 0;border-top: 1px solid var(--lumo-contrast-5pct)}.list-row:first-of-type{border-top: none}.list-row .grow{flex: 1;min-width: 0}.list-row .row-tools{display: flex;align-items: center;gap: 2px;flex: 0 0 auto}.list-row .sub{font-size: 0.78rem;color: var(--lumo-secondary-text-color)}.list-kind-tabs{margin-bottom: var(--lumo-space-s)}.list-add-row{display: flex;gap: 8px;align-items: center;margin-bottom: var(--lumo-space-s)}.list-add-row vaadin-text-field{flex: 1;min-width: 0}.list-row.list-item{align-items: center;gap: var(--lumo-space-s)}.list-row .list-text{font-weight: 600;overflow-wrap: anywhere;cursor: pointer}.admin-list-row.list-off .grow{opacity: 0.55}.custom-list-head{display: flex;align-items: center;justify-content: space-between;gap: var(--lumo-space-s);margin-bottom: var(--lumo-space-xs)}.custom-list-name{font-weight: 700;min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.list-reminder{cursor: pointer}.list-row.list-item{display: block;position: relative;overflow: hidden;padding: 0}.list-item .swipe-face{position: relative;z-index: 1;display: flex;align-items: center;gap: var(--lumo-space-s);padding: 8px 0;touch-action: pan-y;transition: transform 180ms ease-out}.list-item.swiping .swipe-face{transition: none}.list-item.swiping .swipe-face,.list-item.swipe-open .swipe-face{background: var(--lumo-base-color)}.list-item .swipe-actions{position: absolute;inset: 0 0 0 auto;display: flex;align-items: stretch;visibility: hidden}.list-item.swiping .swipe-actions,.list-item.swipe-open .swipe-actions{visibility: visible}.swipe-actions vaadin-button{height: 100%;margin: 0;border-radius: 0;min-width: 72px;padding: 0 10px;font-size: 0.75rem;color: #fff;--vaadin-button-gap: 4px}.swipe-actions .swipe-edit{background: var(--lumo-primary-color)}.swipe-actions .swipe-delete{background: var(--lumo-error-color)}@media (prefers-reduced-motion: reduce){.list-item .swipe-face{transition: none}}.list-row .list-text.done{text-decoration: line-through;color: var(--lumo-secondary-text-color);font-weight: 400}.list-done-head{display: flex;justify-content: space-between;align-items: center;margin-top: var(--lumo-space-m)}.list-done-title{font-weight: 700;color: var(--lumo-secondary-text-color)}.list-row .list-reminder{color: var(--lumo-primary-text-color);font-weight: 600}.list-row .list-reminder.fired{color: var(--lumo-error-text-color)}.list-reminder-dialog .list-reminder-what{font-weight: 700;font-size: 1.1rem;overflow-wrap: anywhere;margin: 0}.list-reminder-pick{display: flex;flex-direction: column;gap: var(--lumo-space-s);width: 100%}.dinner-row{flex-direction: column;align-items: stretch;gap: 4px}.dinner-row .dinner-day{font-size: 0.85rem;font-weight: 600;color: var(--lumo-secondary-text-color);overflow-wrap: anywhere}.dinner-row.today{background: var(--lumo-primary-color-10pct);border-radius: var(--lumo-border-radius-m);padding: 8px;margin: 0 -8px}.dinner-row.today .dinner-day{color: var(--lumo-primary-text-color)}.dinner-field{display: flex;align-items: center;gap: 4px}.dinner-field vaadin-text-field{flex: 1;min-width: 0}.pin-box{font-family: var(--lumo-font-family-monospace,monospace);font-size: 1.4rem;letter-spacing: 6px;font-weight: 800;color: var(--lumo-primary-text-color)}.task-card .admin-tools{position: absolute;top: 6px;left: 6px;display: flex;gap: 2px}.task-card .admin-tools vaadin-button{background: light-dark(rgba(255,255,255,0.7),rgba(255,255,255,0.12))}.complete-area{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 8px;cursor: pointer;width: 100%;flex: 1}.task-card.locked .complete-area{cursor: not-allowed}.task-card .book-btn{margin-top: 10px}.task-card.mine{border-color: var(--lumo-primary-color);box-shadow: 0 0 0 2px var(--lumo-primary-color-10pct)}@media (hover: none){.task-card:hover{box-shadow: 0 4px 14px rgba(0,0,0,0.06);border-color: var(--lumo-contrast-10pct)}.feedback-btn:hover{border-color: var(--lumo-contrast-10pct);transform: none}.filter-chip:hover{border-color: var(--lumo-contrast-10pct)}.filter-chip.selected:hover{border-color: var(--lumo-primary-color)}.stat-tile:hover{border-color: transparent}.stat-tile.selected:hover{border-color: var(--lumo-primary-color)}}@media (pointer: coarse){.task-card,.feedback-btn,.member-chip,.filter-chip,.stat-tile{-webkit-tap-highlight-color: transparent}.header-actions vaadin-menu-bar-button{min-height: 40px;min-width: 40px}.filter-chip{min-height: 40px}.header-actions vaadin-button,.header-code vaadin-button,.list-row vaadin-button,.list-row vaadin-menu-bar-button{min-height: 40px;min-width: 40px}.book-btn,.undo-btn{min-height: 40px}.admin-section>vaadin-details-summary{min-height: 40px}}@media (max-width: 640px){.auth-card{padding: var(--lumo-space-l) var(--lumo-space-m)}.brand-title{font-size: 1.9rem}.centered-page{padding: var(--lumo-space-m);padding-top: max(var(--lumo-space-m),env(safe-area-inset-top));padding-left: max(var(--lumo-space-m),env(safe-area-inset-left));padding-right: max(var(--lumo-space-m),env(safe-area-inset-right));padding-bottom: max(var(--lumo-space-m),env(safe-area-inset-bottom))}.page-pad{padding: var(--lumo-space-s);padding-top: max(var(--lumo-space-s),env(safe-area-inset-top));padding-left: max(var(--lumo-space-s),env(safe-area-inset-left));padding-right: max(var(--lumo-space-s),env(safe-area-inset-right));padding-bottom: max(var(--lumo-space-s),env(safe-area-inset-bottom))}.home-header{padding: var(--lumo-space-s) var(--lumo-space-m)}.home-header h1{font-size: 1.15rem}.header-code .btn-label{display: none}.lang-select{width: 6.5em}.header-actions{gap: var(--lumo-space-xs)}.main-tabs vaadin-tab{flex: 1 1 0;min-width: 0;flex-direction: column;justify-content: center;gap: 2px;padding: 6px 2px;font-size: 0.72rem;line-height: 1.15;text-align: center}.main-tabs vaadin-tab vaadin-icon{width: 22px;height: 22px;margin: 0}.main-tabs vaadin-tab .tab-label{max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.main-tabs::part(back-button),.main-tabs::part(forward-button){display: none}.code-chip{font-size: 1rem;letter-spacing: 2px}.chore-master{font-size: 0.75rem}.filter-bar{gap: 4px}.filter-chip{font-size: 0.8rem;padding: 5px 10px}.task-grid{grid-template-columns: repeat(auto-fill,minmax(136px,1fr));gap: var(--lumo-space-s)}.task-card{min-height: 112px;padding: var(--lumo-space-m) var(--lumo-space-s)}.task-card .emoji{font-size: 2.2rem}.task-card .name{font-size: 0.9rem}.list-row,.list-item .swipe-face{flex-wrap: wrap}.list-row .grow{flex: 1 1 60%}.list-row:has(.row-tools) .grow{flex: 1 1 0;min-width: 0}.admin-section vaadin-horizontal-layout{flex-wrap: wrap}.bar-row{grid-template-columns: 1fr 28px;gap: 2px 6px;margin: 8px 0}.bar-row .bar-label{grid-column: 1 / -1;white-space: normal;overflow: visible;text-overflow: clip}.trend{gap: 2px}.pin-box{font-size: 1.2rem;letter-spacing: 4px}}@media (max-width: 360px){.brand-title{font-size: 1.65rem}.trend-wide .trend-col:nth-child(even) .trend-day{visibility: hidden}.task-grid{grid-template-columns: repeat(auto-fill,minmax(120px,1fr))}}