:root{font-family:Avenir Next,Segoe UI,sans-serif;color:var(--theme-text-primary);background:var(--theme-bg-app);--color-white: #ffffff;--color-ink-900: #102a43;--color-ink-700: #334e68;--color-ink-500: #627d98;--color-cloud-100: #f2f7f5;--color-cloud-300: #dce7e4;--color-cloud-500: #bdd7d1;--color-brand-100: #eaf1f6;--color-brand-700: #2e4a63;--color-brand-900: #1e3246;--color-sky-100: #eef5fb;--color-sky-300: #d8e8f6;--color-sky-600: #a8c6e0;--color-danger-100: #ffe8ec;--color-danger-500: #d74862;--color-danger-800: #a10824;--color-success-100: #d1fae5;--color-success-600: #188038;--color-success-800: #065f46;--color-warning-300: #f2dc9c;--color-warning-500: #f5c542;--color-warning-800: #7c5a00;--color-family-1-base: #d12c58;--color-family-1-soft: #fde8ef;--color-family-1-border: #f6c3d2;--color-family-2-base: #d96a1c;--color-family-2-soft: #fff1e3;--color-family-2-border: #f8d5b3;--color-family-3-base: #c79a0b;--color-family-3-soft: #fff7de;--color-family-3-border: #f2dfaa;--color-family-4-base: #6d9d1f;--color-family-4-soft: #eef8df;--color-family-4-border: #cfe7a9;--color-family-5-base: #12915e;--color-family-5-soft: #e3f7ee;--color-family-5-border: #b5e6cf;--color-family-6-base: #0f8b97;--color-family-6-soft: #e2f6f8;--color-family-6-border: #b4e2e7;--color-family-7-base: #2563eb;--color-family-7-soft: #e8f0fe;--color-family-7-border: #bfcef7;--color-family-8-base: #5d5fca;--color-family-8-soft: #edecfb;--color-family-8-border: #c7c5f1;--color-family-9-base: #7f46c5;--color-family-9-soft: #f2eafb;--color-family-9-border: #dac5f1;--color-family-10-base: #ad2f78;--color-family-10-soft: #fbeaf3;--color-family-10-border: #efc3da;--color-family-11-base: #b85c1f;--color-family-11-soft: #fdefe6;--color-family-11-border: #f0cdb8;--color-family-12-base: #525252;--color-family-12-soft: #f3f3f3;--color-family-12-border: #d4d4d4;--color-surface-base: #ffffff;--color-surface-soft: #f9fbfb;--color-surface-muted: #f4f8f7;--color-surface-accent: #eef8f5;--color-surface-status-soft: #edf7f1;--color-border-subtle: #edf3f1;--color-border-default: #cbd5e0;--color-border-strong: #b7d2cb;--alpha-white-soft: rgba(255, 255, 255, .2);--alpha-white-border: rgba(255, 255, 255, .25);--alpha-white-surface: rgba(255, 255, 255, .92);--alpha-ink-border: rgba(14, 30, 37, .12);--alpha-overlay: rgba(10, 25, 41, .38);--alpha-shadow: rgba(16, 42, 67, .14);--theme-bg-app: var(--color-brand-100);--theme-bg-header: var(--color-brand-100);--theme-text-primary: var(--color-ink-900);--theme-text-secondary: var(--color-ink-700);--theme-text-muted: var(--color-ink-500);--theme-surface-base: var(--color-surface-base);--theme-surface-soft: var(--color-surface-soft);--theme-surface-muted: var(--color-surface-muted);--theme-surface-tint: var(--color-surface-accent);--theme-surface-status-soft: var(--color-surface-status-soft);--theme-border-subtle: var(--color-border-subtle);--theme-border-default: var(--color-border-default);--theme-border-strong: var(--color-border-strong);--theme-overlay-soft: var(--alpha-white-soft);--theme-overlay-border: var(--alpha-white-border);--theme-overlay-surface: var(--alpha-white-surface);--theme-shadow: var(--alpha-shadow);--theme-family-chip-fg: var(--color-ink-700);--theme-family-chip-fg-strong: var(--color-ink-900);--scrollbar-track: var(--color-brand-100);--scrollbar-thumb: var(--color-sky-300);--scrollbar-thumb-hover: var(--color-brand-700);--surface-radius-sm: 10px;--surface-radius-md: 12px;--surface-radius-lg: 14px;--surface-border-subtle: var(--theme-border-subtle);--surface-bg-base: var(--theme-surface-base);--surface-bg-soft: var(--theme-surface-soft);--surface-bg-tint: var(--theme-surface-tint);--surface-shadow-panel: 0 10px 30px var(--theme-shadow);--surface-shadow-modal: 0 18px 34px rgba(16, 42, 67, .24);--btn-focus-ring: 0 0 0 3px rgba(46, 74, 99, .28);--btn-disabled-opacity: 1;--btn-disabled-bg: var(--theme-surface-muted);--btn-disabled-border: var(--theme-border-default);--btn-disabled-fg: var(--theme-text-muted);--btn-font-weight: 600;--btn-font-weight-strong: 700;--btn-line-height: 1.15;--btn-transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;--btn-radius-square: 10px;--btn-radius-round: 999px;--btn-h-compact: 30px;--btn-h-small: 34px;--btn-h-medium: 44px;--btn-h-large: 52px;--btn-px-compact: .45rem;--btn-px-small: .55rem;--btn-px-medium: .75rem;--btn-px-large: 1rem;--btn-neutral-bg: var(--color-sky-100);--btn-neutral-border: var(--color-sky-300);--btn-neutral-fg: var(--color-brand-700);--btn-neutral-bg-hover: var(--color-sky-300);--btn-neutral-border-hover: var(--color-sky-600);--btn-neutral-fg-hover: var(--color-brand-900);--btn-navigation-bg: var(--color-sky-100);--btn-navigation-border: var(--color-sky-300);--btn-navigation-fg: var(--color-brand-700);--btn-navigation-bg-hover: var(--color-sky-300);--btn-navigation-border-hover: var(--color-sky-600);--btn-navigation-fg-hover: var(--color-brand-900);--btn-navigation-bg-selected: var(--color-brand-700);--btn-navigation-border-selected: var(--color-brand-700);--btn-navigation-fg-selected: var(--color-white);--btn-commit-bg: var(--color-brand-700);--btn-commit-border: var(--btn-commit-bg);--btn-commit-fg: var(--color-white);--btn-commit-bg-hover: var(--color-brand-900);--btn-commit-border-hover: var(--btn-commit-bg-hover);--btn-commit-fg-hover: var(--btn-commit-fg);--btn-danger-bg: var(--color-danger-100);--btn-danger-border: var(--color-danger-500);--btn-danger-fg: var(--color-danger-800);--btn-danger-bg-hover: var(--color-danger-100);--btn-danger-border-hover: var(--color-danger-800);--btn-danger-fg-hover: var(--color-danger-800)}:root[data-theme=dark]{--color-ink-900: #e6eef8;--color-ink-700: #c7d7ea;--color-ink-500: #9db2c8;--color-cloud-100: #0f1724;--color-cloud-300: #22364f;--color-cloud-500: #355677;--color-sky-100: #1b3043;--color-sky-300: #2b4a65;--color-sky-600: #3b678f;--color-surface-base: #132237;--color-surface-soft: #172a42;--color-surface-muted: #122338;--color-surface-accent: #1a2f49;--color-surface-status-soft: #173145;--color-border-subtle: #2a425e;--color-border-default: #355677;--color-border-strong: #4a7096;--alpha-white-soft: rgba(19, 34, 55, .72);--alpha-white-border: rgba(95, 134, 173, .45);--alpha-white-surface: rgba(18, 32, 49, .92);--alpha-ink-border: rgba(206, 225, 245, .24);--alpha-shadow: rgba(2, 8, 18, .55);--theme-bg-app: #0f1724;--theme-bg-header: rgba(15, 23, 36, .9);--theme-text-primary: #e6eef8;--theme-text-secondary: #c7d7ea;--theme-text-muted: #9db2c8;--theme-surface-base: #132237;--theme-surface-soft: #172a42;--theme-surface-muted: #122338;--theme-surface-tint: #1a2f49;--theme-surface-status-soft: #173145;--theme-border-subtle: #2a425e;--theme-border-default: #355677;--theme-border-strong: #4a7096;--theme-overlay-soft: rgba(19, 34, 55, .72);--theme-overlay-border: rgba(95, 134, 173, .45);--theme-overlay-surface: rgba(18, 32, 49, .92);--theme-shadow: rgba(2, 8, 18, .55);--btn-neutral-bg: var(--color-sky-100);--btn-neutral-border: var(--color-sky-300);--btn-neutral-fg: var(--color-ink-700);--btn-neutral-bg-hover: var(--color-sky-300);--btn-neutral-border-hover: var(--color-sky-600);--btn-neutral-fg-hover: var(--color-ink-900);--btn-navigation-bg: var(--color-sky-100);--btn-navigation-border: var(--color-sky-300);--btn-navigation-fg: var(--color-ink-700);--btn-navigation-bg-hover: var(--color-sky-300);--btn-navigation-border-hover: var(--color-sky-600);--btn-navigation-fg-hover: var(--color-ink-900);--btn-navigation-bg-selected: var(--color-sky-600);--btn-navigation-border-selected: var(--color-sky-600);--btn-navigation-fg-selected: var(--color-white);--scrollbar-track: #111f31;--scrollbar-thumb: #375a7d;--scrollbar-thumb-hover: #4c79a3}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;background:var(--theme-bg-app);color:var(--theme-text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.dashboard{max-width:1280px;margin:0 auto;padding:1rem}:root[data-display-mode=standalone] .dashboard,:root[data-display-mode=standalone] .settings-page,:root[data-display-mode=standalone] .family-settings-page{padding-top:calc(1rem + env(safe-area-inset-top));padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.connection-bar{margin-bottom:1rem;background:linear-gradient(135deg,var(--color-brand-700),var(--color-brand-900));color:var(--color-brand-100);border-radius:14px;padding:1rem}.connection-header h2{margin:0}.connection-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.connection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.connection-chip{background:var(--alpha-white-soft);border:1px solid var(--alpha-white-border);border-radius:12px;padding:.5rem .65rem;min-height:60px;transition:transform .12s ease,background .12s ease}.connection-chip:hover{transform:translateY(-2px);background:var(--alpha-white-soft)}.connection-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center}.connection-row.compact{align-items:center}.connection-chip-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.status-pill{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.status-pill.on{background:var(--color-success-100);color:var(--color-success-800)}.status-pill.off{background:var(--color-danger-100);color:var(--color-danger-800)}.header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center}.header-title h1{margin:0;line-height:1.2}.header-actions{display:flex;justify-content:flex-end;gap:.75rem;align-items:center}.header-weather{display:inline-flex;align-items:baseline;gap:.4rem;padding:.35rem .6rem;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);background:var(--surface-bg-tint);color:var(--color-ink-700);white-space:nowrap}.header-weather-trigger{font:inherit;cursor:pointer}.header-weather-wrap{position:relative;display:inline-flex;margin-left:auto}.header-weather-temp{font-size:1rem;font-weight:700;line-height:1}.header-weather-summary{font-size:.82rem;color:var(--color-ink-500)}.header-weather-popover{position:absolute;top:calc(100% + .45rem);right:0;min-width:280px;max-width:340px;padding:.55rem;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);background:var(--surface-bg-base);box-shadow:var(--surface-shadow-panel);z-index:14}.header-weather-forecast-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.3rem .2rem;font-size:.82rem;color:var(--color-ink-700)}.header-weather-forecast-row+.header-weather-forecast-row{border-top:1px solid var(--color-cloud-300)}.forecast-day{font-weight:700;color:var(--color-ink-900)}.baby-page{--baby-bottom-clearance: calc(9.6rem + env(safe-area-inset-bottom)) ;padding-bottom:var(--baby-bottom-clearance);--baby-bg: var(--theme-bg-app);--baby-surface: var(--surface-bg-base);--baby-surface-soft: var(--surface-bg-soft);--baby-border: var(--surface-border-subtle);--baby-text: var(--theme-text-primary);--baby-muted: var(--theme-text-muted);--baby-overlay-surface: var(--theme-overlay-surface);--baby-input-bg: var(--surface-bg-base);--baby-quick-bg: var(--btn-navigation-bg);--baby-quick-border: var(--btn-navigation-border);--baby-quick-fg: var(--btn-navigation-fg);--baby-quick-bg-hover: var(--btn-navigation-bg-hover);--baby-quick-border-hover: var(--btn-navigation-border-hover);--baby-scroll-track: var(--scrollbar-track);--baby-scroll-thumb: var(--scrollbar-thumb);--baby-scroll-thumb-hover: var(--scrollbar-thumb-hover)}.baby-page.night{--baby-bg: var(--theme-bg-app);--baby-surface: #132237;--baby-surface-soft: #172a42;--baby-border: #2c4969;--baby-text: #e6eef8;--baby-muted: #9db2c8;--baby-overlay-surface: rgba(19, 34, 55, .92);--baby-input-bg: #0f1e30;--baby-quick-bg: #1b2d43;--baby-quick-border: #2b4665;--baby-quick-fg: #cfe2f6;--baby-quick-bg-hover: #2b4665;--baby-quick-border-hover: #3b648f;--scrollbar-track: #111f31;--scrollbar-thumb: #375a7d;--scrollbar-thumb-hover: #4c79a3;--baby-scroll-track: var(--scrollbar-track);--baby-scroll-thumb: var(--scrollbar-thumb);--baby-scroll-thumb-hover: var(--scrollbar-thumb-hover);color-scheme:dark;background:var(--baby-bg);color:var(--baby-text)}.baby-page.night .header{background:var(--baby-bg)}.baby-page.night .panel{background:var(--baby-surface);border:1px solid var(--baby-border);color:var(--baby-text)}.baby-page.night .muted-line,.baby-page.night small{color:var(--baby-muted)}.baby-page .baby-summary-card,.baby-page .baby-trend-bar-card,.baby-page .baby-event-item{background:var(--baby-surface-soft);border-color:var(--baby-border)}.baby-page .baby-composer-sheet,.baby-page .baby-toast{background:var(--baby-surface);border-color:var(--baby-border)}.baby-page .baby-quick-rail{background:var(--baby-overlay-surface);border-color:var(--baby-border)}.baby-page .baby-quick-button{background:var(--baby-quick-bg);border-color:var(--baby-quick-border);color:var(--baby-quick-fg)}.baby-page .baby-quick-button:hover{background:var(--baby-quick-bg-hover);border-color:var(--baby-quick-border-hover)}.baby-header .header-title p{margin:.3rem 0 0}.baby-grid{grid-template-columns:minmax(0,1fr);gap:.85rem;padding-bottom:1.2rem}.baby-panel h2{margin-top:0}.baby-handoff-panel{display:grid;gap:.65rem}.baby-handoff-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.baby-handoff-header h2{margin:0}.baby-handoff-edit{display:grid;gap:.55rem}.baby-handoff-actions{display:flex;flex-wrap:wrap;gap:.45rem}.baby-handoff-note{margin:0;white-space:pre-wrap;line-height:1.4}.baby-handoff-pills{display:flex;flex-wrap:wrap;gap:.4rem}.baby-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}.baby-summary-card{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.7rem;background:var(--surface-bg-soft)}.baby-summary-card h3{margin:0 0 .45rem;font-size:.88rem}.baby-summary-card p{margin:0;font-size:1.3rem;font-weight:700}.baby-summary-card small{display:block;margin-top:.28rem}.baby-reminder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.baby-reminder-grid label,.baby-profile-form label,.baby-export-grid label,.baby-composer-form label,.baby-edit-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.baby-reminder-toggle{flex-direction:row!important;align-items:center;gap:.45rem!important}.baby-legal-copy{margin:-.1rem 0 .75rem;font-size:.77rem;color:var(--baby-muted)}.baby-trend-row{display:flex;justify-content:space-between;align-items:center;gap:.55rem;padding:.3rem 0;border-bottom:1px solid var(--surface-border-subtle)}.baby-trend-bars{margin-top:.65rem;display:grid;gap:.4rem}.baby-trend-bar-card{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);padding:.45rem .55rem;background:var(--surface-bg-soft)}.baby-trend-bar{width:100%;height:8px;border-radius:999px;background:var(--baby-border);overflow:hidden;margin:.3rem 0;position:relative}.baby-trend-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-brand-700),var(--color-brand-900))}.baby-trend-target-marker{position:absolute;left:75%;top:0;bottom:0;width:2px;transform:translate(-1px);background:var(--surface-bg-base);opacity:.95;pointer-events:none}.baby-events-list{display:grid;gap:.6rem}.baby-event-item{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.7rem;background:var(--surface-bg-soft)}.baby-event-item h3{margin:0;font-size:.97rem}.baby-event-item p{margin:.32rem 0 .18rem}.baby-event-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.55rem}.baby-edit-grid{margin-top:.65rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.baby-edit-notes{grid-column:1 / -1}.baby-export-grid,.baby-profile-form{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}.baby-quick-rail{position:fixed;left:.75rem;right:.75rem;bottom:max(.65rem,env(safe-area-inset-bottom));z-index:20;display:grid;gap:.32rem;padding:.42rem;border-radius:16px;border:1px solid var(--baby-border);background:var(--baby-overlay-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--surface-shadow-panel)}.baby-last-feed-card{border:1px solid var(--baby-border);border-radius:11px;padding:.3rem .5rem;background:var(--baby-surface-soft)}.baby-last-feed-card p{margin:0;line-height:1.25;font-size:.72rem}.baby-last-feed-title{font-size:.75rem!important;font-weight:700}.baby-quick-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.baby-page.night .baby-quick-rail{background:var(--baby-overlay-surface);border-color:var(--baby-border)}.baby-quick-button{min-height:56px;border:1px solid var(--baby-quick-border);border-radius:12px;font:inherit;font-weight:700;color:var(--baby-quick-fg);background:var(--baby-quick-bg);cursor:pointer;transition:var(--btn-transition)}.baby-quick-button:hover,.baby-quick-button[aria-pressed=true]{background:var(--baby-quick-bg-hover);border-color:var(--baby-quick-border-hover)}.baby-composer-sheet{position:fixed;left:.75rem;right:.75rem;bottom:calc(9.9rem + env(safe-area-inset-bottom));z-index:21;border:1px solid var(--baby-border);border-radius:16px;background:var(--baby-surface);box-shadow:var(--surface-shadow-modal);padding:.7rem}.baby-page.night .baby-composer-sheet{background:var(--baby-surface);border-color:var(--baby-border)}.baby-composer-sheet header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem}.baby-composer-sheet h3{margin:0}.baby-composer-form{display:grid;gap:.55rem}.baby-chip-row{display:flex;gap:.4rem;flex-wrap:wrap}.baby-still-asleep-block{display:grid;gap:.3rem}.baby-still-asleep-block .muted-line{margin:0}.baby-still-asleep-block--diaper{margin-top:.4rem}.baby-chip-row--singleline{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.1rem}.baby-chip-value{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 .65rem;border-radius:10px;border:1px solid var(--baby-border);background:var(--baby-surface-soft);font-weight:700;white-space:nowrap}.baby-feed-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.45rem}.baby-segmented-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.baby-bottle-amount-row{display:flex;align-items:center;justify-content:center;gap:.75rem}.baby-diaper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.baby-feed-choice-grid{display:grid;gap:.55rem}.baby-toast{position:fixed;left:.75rem;right:.75rem;bottom:calc(16.7rem + env(safe-area-inset-bottom));z-index:24;display:flex;justify-content:space-between;align-items:center;gap:.55rem;border:1px solid var(--baby-border);border-radius:12px;padding:.62rem .74rem;background:var(--baby-surface);box-shadow:var(--surface-shadow-panel);animation:baby-toast-enter .18s ease-out}@keyframes baby-toast-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.baby-page.night .baby-toast{background:var(--baby-surface);border-color:var(--baby-border)}.baby-toast-actions{display:flex;gap:.4rem}.baby-queue-status{margin:.25rem 0 .5rem;padding:.45rem .6rem;border-radius:10px;background:var(--color-warning-300);color:var(--color-warning-800);font-weight:600}.baby-page input,.baby-page select,.baby-page textarea{min-height:40px;border:1px solid var(--baby-border);border-radius:10px;padding:.42rem .55rem;font:inherit;background:var(--baby-input-bg);color:inherit}.baby-page textarea{min-height:74px;resize:vertical}.baby-page.night input,.baby-page.night select,.baby-page.night textarea{background:var(--baby-input-bg);border-color:var(--baby-border);color:var(--baby-text)}@media(max-width:760px){.baby-page .baby-events-list{padding-bottom:calc(var(--baby-bottom-clearance) + .8rem)}.baby-quick-buttons{grid-template-columns:repeat(5,minmax(0,1fr))}.baby-toast{bottom:calc(17.6rem + env(safe-area-inset-bottom))}}.forecast-summary{color:var(--color-ink-500)}.forecast-temps{font-weight:600;color:var(--color-ink-700);white-space:nowrap}.mobile-tabs{display:none}.home-primary-nav{display:flex;gap:.5rem;margin-top:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.home-primary-nav-button{white-space:nowrap}.home-primary-nav-button--mobile-only,.home-primary-nav-icon{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--btn-border, var(--btn-neutral-border));background:var(--btn-bg, var(--btn-neutral-bg));color:var(--btn-fg, var(--btn-neutral-fg));border-radius:var(--btn-radius, var(--btn-radius-square));min-height:var(--btn-height, var(--btn-h-small));padding:0 var(--btn-px, var(--btn-px-small));cursor:pointer;font-weight:var(--btn-font-weight);line-height:var(--btn-line-height);text-decoration:none;transition:var(--btn-transition)}.btn:hover{background:var(--btn-bg-hover, var(--btn-bg, var(--btn-neutral-bg)));border-color:var(--btn-border-hover, var(--btn-border, var(--btn-neutral-border)));color:var(--btn-fg-hover, var(--btn-fg, var(--btn-neutral-fg)))}.btn:active{background:var(--btn-bg-active, var(--btn-bg-hover, var(--btn-bg, var(--btn-neutral-bg))));border-color:var(--btn-border-active, var(--btn-border-hover, var(--btn-border, var(--btn-neutral-border))));color:var(--btn-fg-active, var(--btn-fg-hover, var(--btn-fg, var(--btn-neutral-fg))))}.btn.is-selected,.btn[aria-pressed=true],.btn[aria-current=page]{background:var(--btn-bg-selected, var(--btn-bg-active, var(--btn-bg)));border-color:var(--btn-border-selected, var(--btn-border-active, var(--btn-border)));color:var(--btn-fg-selected, var(--btn-fg-active, var(--btn-fg)))}.btn:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.btn:disabled{background:var(--btn-disabled-bg);border-color:var(--btn-disabled-border);color:var(--btn-disabled-fg);opacity:var(--btn-disabled-opacity);cursor:not-allowed}.btn--square{--btn-radius: var(--btn-radius-square)}.btn--round{--btn-radius: var(--btn-radius-round)}.btn--compact{--btn-height: var(--btn-h-compact);--btn-px: var(--btn-px-compact)}.btn--small{--btn-height: var(--btn-h-small);--btn-px: var(--btn-px-small)}.btn--medium{--btn-height: var(--btn-h-medium);--btn-px: var(--btn-px-medium)}.btn--large{--btn-height: var(--btn-h-large);--btn-px: var(--btn-px-large)}.btn--icon{width:var(--btn-height, var(--btn-h-small));min-width:var(--btn-height, var(--btn-h-small));padding:0}.btn--neutral{--btn-bg: var(--btn-neutral-bg);--btn-border: var(--btn-neutral-border);--btn-fg: var(--btn-neutral-fg);--btn-bg-hover: var(--btn-neutral-bg-hover);--btn-border-hover: var(--btn-neutral-border-hover);--btn-fg-hover: var(--btn-neutral-fg-hover);--btn-bg-active: var(--btn-neutral-bg-hover);--btn-border-active: var(--btn-neutral-border-hover);--btn-fg-active: var(--btn-neutral-fg-hover);--btn-bg-selected: var(--btn-neutral-bg-hover);--btn-border-selected: var(--btn-neutral-border-hover);--btn-fg-selected: var(--btn-neutral-fg-hover)}.btn--navigation{--btn-bg: var(--btn-navigation-bg);--btn-border: var(--btn-navigation-border);--btn-fg: var(--btn-navigation-fg);--btn-bg-hover: var(--btn-navigation-bg-hover);--btn-border-hover: var(--btn-navigation-border-hover);--btn-fg-hover: var(--btn-navigation-fg-hover);--btn-bg-active: var(--btn-navigation-bg-hover);--btn-border-active: var(--btn-navigation-border-hover);--btn-fg-active: var(--btn-navigation-fg-hover);--btn-bg-selected: var(--btn-navigation-bg-selected);--btn-border-selected: var(--btn-navigation-border-selected);--btn-fg-selected: var(--btn-navigation-fg-selected)}.btn--commit{--btn-bg: var(--btn-commit-bg);--btn-border: var(--btn-commit-border);--btn-fg: var(--btn-commit-fg);--btn-bg-hover: var(--btn-commit-bg-hover);--btn-border-hover: var(--btn-commit-border-hover);--btn-fg-hover: var(--btn-commit-fg-hover);--btn-bg-active: var(--btn-commit-bg-hover);--btn-border-active: var(--btn-commit-border-hover);--btn-fg-active: var(--btn-commit-fg-hover);--btn-bg-selected: var(--btn-commit-bg-hover);--btn-border-selected: var(--btn-commit-border-hover);--btn-fg-selected: var(--btn-commit-fg-hover);font-weight:var(--btn-font-weight-strong)}.btn--danger{--btn-bg: var(--btn-danger-bg);--btn-border: var(--btn-danger-border);--btn-fg: var(--btn-danger-fg);--btn-bg-hover: var(--btn-danger-bg-hover);--btn-border-hover: var(--btn-danger-border-hover);--btn-fg-hover: var(--btn-danger-fg-hover);--btn-bg-active: var(--btn-danger-bg-hover);--btn-border-active: var(--btn-danger-border-hover);--btn-fg-active: var(--btn-danger-fg-hover);--btn-bg-selected: var(--btn-danger-bg-hover);--btn-border-selected: var(--btn-danger-border-hover);--btn-fg-selected: var(--btn-danger-fg-hover);font-weight:var(--btn-font-weight-strong)}.icon-only-button{width:36px;min-width:36px;flex-shrink:0}.control-icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;fill:none}.voice-fab{position:fixed;right:max(1.1rem,calc(env(safe-area-inset-right) + .8rem));bottom:max(1.1rem,calc(env(safe-area-inset-bottom) + .8rem));width:56px;min-height:56px;z-index:64;box-shadow:var(--surface-shadow-panel)}.voice-fab.is-listening{animation:voice-pulse 1.5s ease-in-out infinite}@keyframes voice-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-brand-700) 35%,transparent)}55%{box-shadow:0 0 0 14px transparent}}.voice-listening-overlay{position:fixed;left:1rem;right:5.2rem;bottom:calc(5.1rem + env(safe-area-inset-bottom));z-index:63;pointer-events:none;border-radius:var(--surface-radius-md)}.voice-listening-title{margin:0 0 .25rem;font-size:.82rem;font-weight:700}.voice-listening-text{margin:0;font-size:.92rem;color:var(--theme-text-secondary)}.voice-confirm-banner{position:fixed;left:1rem;right:1rem;bottom:calc(5rem + env(safe-area-inset-bottom));z-index:65;display:grid;gap:.45rem}.voice-confirm-title{margin:0;font-size:.82rem;font-weight:700}.voice-confirm-text{margin:0}.voice-confirm-actions{display:flex;flex-wrap:wrap;gap:.45rem}.voice-status-banner{position:fixed;left:1rem;right:1rem;bottom:calc(5rem + env(safe-area-inset-bottom));z-index:65;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.65rem .75rem;background:var(--surface-bg-base);box-shadow:var(--surface-shadow-panel)}.baby-page .voice-fab{bottom:calc(10.6rem + env(safe-area-inset-bottom));z-index:25}.baby-page .voice-listening-overlay,.baby-page .voice-confirm-banner,.baby-page .voice-status-banner{bottom:calc(14.8rem + env(safe-area-inset-bottom));z-index:25}.grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.standalone-grid{grid-template-columns:minmax(0,1fr)}.standalone-page-panel{display:flex;flex-direction:column;min-height:0;overflow:auto}.panel{background:var(--surface-bg-base);border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-lg);padding:1rem;box-shadow:var(--surface-shadow-panel)}.todo-panel{overflow:hidden}.todo-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.todo-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.todo-workspace{display:block;margin-top:.75rem}.todo-list-column{min-width:0}.todo-item{padding:.75rem;border-radius:var(--surface-radius-sm);margin-bottom:.5rem;background:var(--color-surface-muted);display:flex;gap:.5rem;justify-content:space-between;align-items:center}.task-active{border:1px solid var(--color-border-strong)}.task-completed{opacity:.72;border:1px solid var(--color-border-strong)}.all-day{border-left:4px solid var(--color-success-800)}.capture-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.capture-input{flex:1;min-width:220px;min-height:44px;border-radius:10px;border:1px solid var(--color-border-default);background:var(--surface-bg-base);color:var(--theme-text-primary);padding:.7rem}.capture-input::placeholder,.inline-title-input::placeholder{color:var(--theme-text-muted)}.capture-input:disabled,.inline-title-input:disabled{background:var(--theme-surface-muted);border-color:var(--theme-border-subtle);color:var(--theme-text-muted);opacity:1}.picker-label{display:block;margin-bottom:.4rem;font-size:.9rem}.muted-line{color:var(--color-ink-500);margin-top:0}.active-list-trigger{border:none;background:transparent;color:var(--color-brand-700);cursor:pointer;padding:0;text-decoration:underline}.task-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%}.task-main strong{font-size:.98rem;font-weight:700}.task-title-button{border:none;background:transparent;padding:0;text-align:left;cursor:text;color:inherit}.inline-title-input{width:100%;min-width:0;min-height:34px;border:1px solid var(--color-border-default);border-radius:8px;background:var(--surface-bg-base);color:var(--theme-text-primary);padding:.35rem .5rem}.task-expand{font-size:.8rem}.task-actions{display:inline-flex;align-items:center;gap:.4rem}.modal-task-item-row{display:flex;align-items:center;gap:.45rem}.modal-task-item-row .modal-task-item{flex:1;margin-bottom:0}.task-due{font-size:.82rem;color:var(--assigned-muted-color, var(--color-ink-500));white-space:nowrap}.task-stack{display:flex;flex-direction:column}.completed-drawer{margin-top:.8rem;border-top:1px solid var(--color-border-subtle);padding-top:.6rem}.drawer-toggle{border:none;background:transparent;color:var(--color-ink-700);font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.4rem;padding:.2rem 0}.chevron{display:inline-block;transform:rotate(0);transition:transform .22s ease}.chevron.open{transform:rotate(90deg)}.completed-list{margin-top:.5rem}.modal-card.todo-detail-modal-card{width:min(1248px,100%);height:min(82vh,760px);display:flex;flex-direction:column}.todo-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.6rem}.todo-detail-header h3{margin:0}.todo-modal-layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr 2fr;gap:.9rem}.todo-modal-task-list{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);background:var(--surface-bg-base);padding:.5rem;overflow-y:auto}.modal-task-item{--btn-bg: var(--color-sky-100);--btn-border: var(--color-sky-300);--btn-fg: var(--color-ink-700);--btn-bg-hover: var(--color-sky-300);--btn-border-hover: var(--color-sky-600);--btn-fg-hover: var(--color-ink-700);--btn-bg-active: var(--color-sky-300);--btn-border-active: var(--color-sky-600);--btn-fg-active: var(--color-ink-900);width:100%;margin-bottom:.4rem;text-align:left}.modal-task-item.active{--btn-bg: var(--color-sky-600);--btn-border: var(--color-sky-600);--btn-fg: var(--color-white);--btn-bg-hover: var(--color-sky-600);--btn-border-hover: var(--color-sky-600);--btn-fg-hover: var(--color-white);--btn-bg-active: var(--color-sky-600);--btn-border-active: var(--color-sky-600);--btn-fg-active: var(--color-white)}.todo-modal-detail-content{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.9rem;background:var(--surface-bg-soft);overflow-y:auto}.detail-row{display:flex;gap:.5rem;align-items:center}.detail-notes{min-height:120px;resize:vertical;width:100%;margin-bottom:.6rem}.timezone-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.4rem 0 .5rem}.timezone-label{color:var(--color-ink-500);font-size:.86rem}.timezone-editor{display:grid;gap:.45rem;margin-bottom:.6rem}.timezone-select{min-width:0}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--alpha-overlay);display:grid;place-items:center;padding:1rem;z-index:20}.modal-scrim-dismiss{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:transparent;padding:0}:root[data-display-mode=standalone] .modal-scrim{padding-top:calc(1rem + env(safe-area-inset-top));padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.task-modal-scrim{z-index:80}.recipe-editor-modal-scrim{z-index:78;padding-bottom:calc(1.85rem + env(safe-area-inset-bottom))}.manage-recipes-modal-scrim{z-index:76}.meal-detail-modal-scrim{z-index:74}.calendar-modal-scrim{z-index:72}.grocery-modal-scrim{z-index:70}.list-picker-modal-scrim{z-index:68}.settings-modal-scrim{z-index:66}.modal-card{position:relative;z-index:1;width:min(560px,100%);background:var(--surface-bg-base);border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);box-shadow:var(--surface-shadow-modal);padding:1rem}.briefing-modal-scrim{z-index:84}.briefing-modal-card{width:min(680px,100%);display:grid;gap:.85rem;background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-sky-100) 88%,transparent),transparent 50%),var(--surface-bg-base)}.briefing-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.briefing-modal-header h3{margin:0}.briefing-modal-body{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);background:var(--surface-bg-soft);padding:.75rem;max-height:min(56dvh,460px);overflow-y:auto}.briefing-modal-content{margin:0;white-space:pre-wrap;line-height:1.45}.briefing-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.55rem;flex-wrap:wrap}.briefing-modal-meta{font-size:.82rem}.quickstart-trigger{display:inline-flex;align-items:center;gap:.4rem}.quickstart-trigger--new{--btn-navigation-bg: var(--color-brand-700);--btn-navigation-border: var(--color-brand-700);--btn-navigation-fg: var(--color-white);--btn-navigation-bg-hover: var(--color-brand-900);--btn-navigation-border-hover: var(--color-brand-900);--btn-navigation-fg-hover: var(--color-white)}.quickstart-trigger-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-warning-800) 45%,var(--color-warning-300));background:color-mix(in srgb,var(--color-warning-300) 38%,var(--color-white));color:var(--color-warning-800);font-size:.68rem;font-weight:800;line-height:1;padding:.16rem .36rem}.quickstart-modal-scrim{z-index:82;padding:.75rem}.quickstart-modal-card{width:min(980px,100%);max-height:min(88dvh,780px);display:grid;gap:.8rem;padding:1rem;background:radial-gradient(circle at 8% -8%,color-mix(in srgb,var(--color-sky-100) 86%,transparent),transparent 45%),linear-gradient(145deg,color-mix(in srgb,var(--surface-bg-base) 96%,var(--color-brand-100)),var(--surface-bg-base))}.quickstart-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.quickstart-modal-header h3{margin:.1rem 0 0}.quickstart-modal-kicker{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--theme-text-muted)}.quickstart-modal-header-actions{display:inline-flex;align-items:center;gap:.55rem}.quickstart-modal-counter{font-weight:700;color:var(--theme-text-muted);white-space:nowrap}.quickstart-slide-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.7rem;min-height:0}.quickstart-nav-btn{align-self:center;min-width:96px}.quickstart-slide-card{min-height:0;overflow-y:auto;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-lg);background:color-mix(in srgb,var(--surface-bg-soft) 92%,var(--color-sky-100));padding:.9rem}.quickstart-slide-description{margin:0 0 .7rem;color:var(--theme-text-secondary)}.quickstart-card-content{display:grid;gap:.65rem;min-height:0}.quickstart-card-lead,.quickstart-helper-line{margin:0}.quickstart-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.quickstart-preview-tile{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);background:var(--surface-bg-base);padding:.65rem .75rem;display:grid;gap:.35rem}.quickstart-preview-tile h4,.quickstart-preview-tile p{margin:0}.quickstart-status-pill-row,.quickstart-provider-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.quickstart-status-pill,.quickstart-provider-chip{border-radius:999px;border:1px solid var(--surface-border-subtle);padding:.2rem .58rem;background:var(--surface-bg-base);color:var(--theme-text-secondary);font-size:.8rem;line-height:1.2}.quickstart-status-pill.is-positive,.quickstart-provider-chip.is-connected{border-color:color-mix(in srgb,var(--color-success-600) 50%,var(--surface-border-subtle));background:color-mix(in srgb,var(--color-success-100) 58%,var(--surface-bg-base));color:var(--color-success-800)}.quickstart-timeline-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}.quickstart-timeline-scroll{max-height:min(46dvh,430px);overflow-y:auto;padding-right:.12rem}.quickstart-timeline-item{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);background:var(--surface-bg-base);padding:.58rem .68rem;display:grid;gap:.28rem}.quickstart-timeline-meta,.quickstart-timeline-summary{margin:0}.quickstart-timeline-meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--theme-text-muted);font-size:.8rem}.quickstart-timeline-summary{color:var(--theme-text-secondary);font-size:.9rem}.quickstart-dots{display:flex;justify-content:center;align-items:center;gap:.42rem;flex-wrap:wrap}.quickstart-dot{width:10px;height:10px;border-radius:999px;border:1px solid var(--theme-border-default);background:var(--surface-bg-muted);padding:0;cursor:pointer}.quickstart-dot.is-active{background:var(--color-brand-700);border-color:var(--color-brand-700);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-brand-700) 18%,transparent)}.connections-modal-card{width:min(760px,100%)}.connections-modal-actions{display:flex;gap:.45rem;flex-wrap:wrap}.auth-login-panel{overflow:hidden}.auth-login-showcase{--auth-grad-a: #f4f8ff;--auth-grad-b: #ecf7f1;--auth-grad-c: #fefaf3;--auth-stage-bg: rgba(255, 255, 255, .76);--auth-stage-border: rgba(16, 42, 67, .12);position:relative;isolation:isolate;display:grid;gap:.9rem;padding:1rem;border-radius:14px;border:1px solid var(--auth-stage-border);background:radial-gradient(circle at 8% 12%,rgba(255,255,255,.86),transparent 38%),radial-gradient(circle at 92% 5%,rgba(255,255,255,.72),transparent 33%),linear-gradient(130deg,var(--auth-grad-a),var(--auth-grad-b),var(--auth-grad-c));background-size:auto,auto,160% 160%;animation:auth-login-pan 16s ease-in-out infinite alternate}.auth-login-showcase:before,.auth-login-showcase:after{content:"";position:absolute;pointer-events:none;border-radius:999px;z-index:-1}.auth-login-showcase:before{width:180px;height:180px;top:-62px;right:-54px;background:#ffffff7a;animation:auth-login-float 9s ease-in-out infinite}.auth-login-showcase:after{width:132px;height:132px;bottom:-38px;left:-34px;background:#fff6;animation:auth-login-float 7s ease-in-out infinite reverse}.auth-login-layout{display:grid;gap:.82rem;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);align-items:start}.auth-login-main{display:grid;gap:.9rem}.auth-login-showcase--aurora{--auth-grad-a: #eef6ff;--auth-grad-b: #e5f8ef;--auth-grad-c: #f3f9ff}.auth-login-showcase--mosaic{--auth-grad-a: #fff6eb;--auth-grad-b: #f8efe7;--auth-grad-c: #eef6ff}.auth-login-showcase--spotlight{--auth-grad-a: #f3f7fb;--auth-grad-b: #e8f1ff;--auth-grad-c: #f9f4eb}.auth-login-header{display:grid;gap:.35rem}.auth-login-brand-title{margin:0;font-size:clamp(1.45rem,3.2vw,2.2rem);line-height:1.05}.auth-login-login-title{margin:.08rem 0 0;font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1.1}.auth-login-eyebrow{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:var(--theme-text-secondary)}.auth-login-header h2{margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem);line-height:1.1}.auth-login-support-copy{margin:0;color:var(--theme-text-secondary)}.auth-login-provider-card{border-radius:12px;border:1px solid var(--auth-stage-border);background:var(--auth-stage-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.8rem;animation:auth-login-rise .32s ease-out}.auth-login-provider-card{display:grid;align-content:start;gap:.52rem}.auth-login-provider-label{margin:0;font-size:.8rem;color:var(--theme-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.auth-login-provider-actions{display:grid;gap:.5rem}.auth-login-provider-btn{--auth-provider-bg: var(--theme-surface-base);--auth-provider-border: var(--theme-border-default);--auth-provider-fg: var(--theme-text-primary);display:inline-flex;align-items:center;justify-content:flex-start;gap:.55rem;min-height:42px;border-radius:10px;border:1px solid var(--auth-provider-border);background:var(--auth-provider-bg);color:var(--auth-provider-fg);font:inherit;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;padding:.56rem .68rem;transition:var(--btn-transition)}.auth-login-provider-btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px #102a4324}.auth-login-provider-btn:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.auth-login-provider-btn:disabled{cursor:wait;opacity:.86}.auth-login-provider-btn--google{--auth-provider-bg: #fff9f4;--auth-provider-border: #efcfbb;--auth-provider-fg: #5f3a24}.auth-login-provider-btn--microsoft{--auth-provider-bg: #f1f7ff;--auth-provider-border: #c5d8f5;--auth-provider-fg: #214463}.auth-login-provider-icon{width:25px;height:25px;border-radius:999px;border:1px solid rgba(16,42,67,.17);background:#ffffffe6;display:inline-flex;align-items:center;justify-content:center;font-size:.79rem;font-weight:800}.auth-login-provider-footnote{margin:.05rem 0 0;color:var(--theme-text-muted);font-size:.81rem}.auth-login-sidebar{border-radius:12px;border:1px solid var(--auth-stage-border);background:var(--auth-stage-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.82rem;display:grid;gap:.58rem;animation:auth-login-rise .32s ease-out}.auth-login-sidebar-title{margin:0;font-size:1.1rem}.auth-login-feature-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.auth-login-feature-item{border:1px solid var(--auth-stage-border);border-radius:10px;padding:.52rem .56rem;background:#ffffff9e;display:grid;gap:.15rem}.auth-login-feature-item strong{font-size:.87rem}.auth-login-feature-item span{color:var(--theme-text-secondary);font-size:.8rem;line-height:1.25}.auth-login-sidebar-footnote{margin:.18rem 0 0;font-size:.82rem;color:var(--theme-text-muted)}.auth-login-showcase .error{margin:.1rem 0 0}@keyframes auth-login-pan{0%{background-position:0 0,0 0,0% 50%}to{background-position:0 0,0 0,100% 50%}}@keyframes auth-login-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes auth-login-rise{0%{transform:translateY(6px);opacity:.74}to{transform:translateY(0);opacity:1}}:root[data-theme=dark] .auth-login-showcase{--auth-stage-bg: rgba(16, 33, 52, .7);--auth-stage-border: rgba(196, 216, 237, .26)}:root[data-theme=dark] .auth-login-provider-btn--google{--auth-provider-bg: #3a2b25;--auth-provider-border: #775948;--auth-provider-fg: #f7dfd2}:root[data-theme=dark] .auth-login-provider-btn--microsoft{--auth-provider-bg: #213248;--auth-provider-border: #426184;--auth-provider-fg: #d3e5fa}:root[data-theme=dark] .auth-login-feature-item{background:#0f1c2cb3}@media(max-width:980px){.auth-login-layout{grid-template-columns:1fr}}@media(max-width:760px){.auth-login-showcase{padding:.85rem}.auth-login-provider-btn{width:100%}.auth-login-sidebar{padding:.72rem}}@media(prefers-reduced-motion:reduce){.auth-login-showcase,.auth-login-showcase:before,.auth-login-showcase:after,.auth-login-provider-card{animation:none}.quickstart-modal-card,.quickstart-trigger,.quickstart-dot{transition:none}}.settings-group{margin-top:1rem;display:grid;gap:.5rem}.settings-group h3{margin:0}.settings-group-heading{display:flex;align-items:center;gap:.5rem}.info-help-trigger{width:24px;height:24px;border-radius:999px;border:1px solid var(--color-sky-300);background:var(--color-sky-100);color:var(--color-ink-700);font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.info-help-trigger:hover{background:var(--color-sky-300)}.info-help-trigger:focus-visible{outline:none;box-shadow:var(--btn-focus-ring)}.info-help-panel{width:min(460px,100%);background:var(--surface-bg-base);border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);box-shadow:inset 0 0 0 1px var(--color-surface-soft);padding:.65rem .75rem;color:var(--color-ink-700);font-size:.82rem}.info-help-panel ol{margin:0;padding-left:1rem;display:grid;gap:.25rem}.info-help-panel p{margin:.4rem 0 0}.info-help-panel a{color:var(--color-brand-700)}.list-picker-options{display:grid;gap:.5rem;margin:.8rem 0;max-height:45vh;overflow-y:auto}.picker-option{text-align:left;padding:.65rem;width:100%;justify-content:flex-start}.family-member-picker{position:relative;display:inline-flex}.family-member-picker-trigger{border:1px solid var(--color-border-subtle);border-radius:999px;background:var(--surface-bg-base);min-height:26px;padding:.12rem .35rem;display:inline-flex;align-items:center;gap:.3rem;cursor:pointer}.family-member-picker-trigger:disabled{opacity:.55;cursor:not-allowed}.family-member-name{font-size:.76rem;font-weight:600;color:var(--color-ink-700);white-space:nowrap}.family-member-dot{width:12px;height:12px;border-radius:999px;border:1px solid var(--color-border-default);display:inline-block;flex:0 0 auto}.family-member-picker-menu{position:fixed;min-width:130px;max-height:min(52vh,360px);overflow-y:auto;background:var(--surface-bg-base);border:1px solid var(--color-border-subtle);border-radius:10px;box-shadow:0 10px 20px var(--alpha-shadow);padding:.3rem;z-index:120;display:grid;gap:.2rem}.family-member-picker-menu.open-up{transform:translateY(-100%)}.family-member-picker-option{border:1px solid transparent;border-radius:8px;background:transparent;padding:.25rem .35rem;display:inline-flex;align-items:center;justify-content:flex-start;gap:.35rem;cursor:pointer;color:var(--color-ink-700);font-size:.82rem}.family-member-picker-option:hover{border-color:var(--color-border-subtle);background:var(--color-surface-soft)}.calendar-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.8rem}.calendar-panel-actions{display:flex;gap:.4rem}.calendar-selector{display:flex;flex-wrap:wrap;gap:.55rem .75rem;margin-bottom:.85rem;padding:.6rem;border:1px solid var(--color-sky-300);border-radius:10px;background:var(--color-sky-100)}.calendar-toggle{display:flex;align-items:center;gap:.3rem;font-size:.9rem}.calendar-selector input,.calendar-modal-selector input{accent-color:var(--color-brand-700)}.calendar-toggle-row{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--color-sky-300);border-radius:999px;padding:.2rem .3rem;background:var(--color-sky-100)}.calendar-color-dot{width:10px;height:10px;border-radius:999px;display:inline-block;flex:0 0 auto;border:1px solid var(--alpha-ink-border)}.calendar-selector-empty{color:var(--color-ink-500)}.calendar-selector-empty-link{color:var(--color-accent);text-decoration:underline}.calendar-timeline-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.timeline-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;padding-right:.15rem}.timeline-stack{display:grid;gap:.7rem;align-content:start}.timeline-day{border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-base)}.timeline-day-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid var(--color-border-subtle);background:var(--surface-bg-base);border-top-left-radius:10px;border-top-right-radius:10px}.timeline-day-header span{color:var(--color-ink-500);font-size:.78rem;font-weight:600}.timeline-day-body{display:grid;gap:.55rem;padding:.55rem}.timeline-card{border:1px solid var(--color-border-subtle);border-left:5px solid var(--color-success-600);background:var(--color-surface-soft);border-radius:10px;padding:.7rem;text-align:left;display:grid;gap:.2rem;cursor:pointer}.timeline-card small{color:var(--assigned-muted-color, var(--color-ink-500))}.timeline-card.all-day{border-left-color:var(--color-brand-700)}.calendar-empty-center{display:grid;place-items:center;min-height:180px;color:var(--color-ink-500);font-weight:600}.calendar-empty-center.modal-empty{min-height:60vh}.calendar-empty-inline{margin:0;color:var(--color-ink-500)}.calendar-modal-card{width:min(1200px,100%);max-height:92vh;overflow:hidden;display:flex;flex-direction:column}.calendar-modal-header{display:flex;justify-content:flex-start;gap:.8rem;align-items:flex-start;margin-bottom:0;padding-bottom:.8rem;position:sticky;top:0;z-index:4;background:var(--surface-bg-base);border-bottom:1px solid var(--surface-border-subtle)}.calendar-modal-period{flex:0 0 auto}.calendar-modal-period p{margin:.1rem 0 0;font-size:1rem;font-weight:700;white-space:nowrap;color:var(--color-ink-500)}.calendar-modal-controls{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;margin-left:auto}.calendar-modal-selector{display:flex;flex-wrap:wrap;gap:.55rem .75rem;margin:.7rem 0 .8rem;padding:.6rem;border:1px solid var(--color-sky-300);border-radius:10px;background:var(--color-sky-100)}.calendar-modal-selector.inline{flex:1 1 320px;margin:0;min-width:220px;padding:.45rem .55rem}.timeline-calendar-selector{margin-bottom:.7rem}.timeline-calendar-selector-empty{margin:0 0 .7rem}.calendar-modal-nav,.calendar-modal-views{display:inline-flex;flex-wrap:wrap;gap:.4rem}.calendar-modal-layout{display:grid;flex:1;min-height:0}.calendar-modal-layout.split{grid-template-columns:minmax(0,1fr) 320px;gap:.8rem;align-items:start;min-height:0}.calendar-modal-main{display:flex;min-width:0;min-height:0;overflow:hidden}.calendar-modal-main-month{overflow-y:auto}.calendar-day-view{display:flex;flex-direction:column;flex:1;width:100%;height:100%;min-height:0;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.7rem;background:var(--surface-bg-tint)}.calendar-day-banner{font-weight:700;margin-bottom:.45rem}.meal-section{border:1px solid var(--alpha-ink-border);border-radius:12px;padding:.6rem;background:var(--alpha-white-surface);display:grid;gap:.5rem;margin-bottom:.6rem}.meal-section.compact{padding:.45rem;gap:.4rem}.meal-compact-strip{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem;min-width:0}.meal-compact-items{display:flex;align-items:center;gap:.35rem;flex:1 1 12rem;min-width:0;overflow-x:auto;padding-bottom:.1rem}.meal-compact-controls{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}.meal-compact-empty{color:var(--color-ink-500);font-size:.8rem;white-space:nowrap}.meal-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.meal-header-actions{display:inline-flex;align-items:center;gap:.35rem}.meal-section-header span{color:var(--color-ink-500);font-size:.88rem}.meal-list{display:grid;gap:.45rem}.meal-mini-icon{font-weight:700}.meal-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--alpha-ink-border);border-radius:10px;padding:.5rem;background:var(--alpha-white-surface)}.meal-item-main{display:grid;gap:.1rem}.meal-item-main span{color:var(--assigned-muted-color, var(--color-ink-500));font-size:.82rem}.meal-item-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.meal-add-form{display:grid;gap:.4rem}.meal-input-row{display:flex;align-items:center;gap:.4rem}.meal-assignment-row{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;flex-wrap:wrap}.meal-input-row .capture-input{flex:1 1 auto}.meal-action-row{display:flex;align-items:center;gap:.35rem}.recipe-picker-fields{display:grid;gap:.5rem;width:100%}.recipe-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem}.recipe-picker-field{display:grid;gap:.22rem}.recipe-picker-field--labels{align-content:start}.recipe-picker-selection{display:grid;gap:.5rem}.recipe-picker-list{display:grid;gap:.45rem;max-height:min(18rem,42vh);overflow-y:auto;padding:.2rem;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-soft)}.recipe-picker-list-item{min-width:0}.recipe-picker-option{display:grid;width:100%;justify-content:flex-start;align-items:flex-start;gap:.18rem;padding:.65rem .75rem}.recipe-picker-option-title{font-weight:700}.recipe-picker-option-meta{font-size:.78rem;color:var(--color-ink-500)}.recipe-picker-option[aria-pressed=true] .recipe-picker-option-meta{color:currentColor}.recipe-label-cloud{display:flex;flex-wrap:wrap;gap:.35rem;border:0;margin:0;padding:0;min-inline-size:0}.recipe-label-cloud-button,.recipe-label-suggestion{--btn-radius: 999px;--btn-height: var(--btn-h-compact)}.meal-entry-popover{border:1px solid var(--color-border-subtle);border-radius:12px;padding:.7rem;background:var(--surface-bg-base);margin:0 0 .7rem;box-shadow:0 8px 20px var(--alpha-shadow)}.meal-entry-popover .recipe-picker-list{max-height:7rem}.meal-entry-popover-header{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.5rem}.meal-entry-popover-header span{color:var(--color-ink-500);font-size:.86rem}.recipe-modal-card{width:min(1200px,calc(100vw - 1.5rem));height:auto;max-height:calc(100dvh - 1.5rem - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}.recipe-modal-form{flex:1;min-height:0;overflow-y:auto;padding-right:.2rem;padding-bottom:calc(.3rem + env(safe-area-inset-bottom))}.recipe-modal-card .capture-input{font-size:16px}.recipe-modal-card textarea.capture-input{resize:none;overflow-y:hidden}.recipe-modal-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:.5rem}.recipe-ingredients-editor{min-height:260px}.recipe-modal-actions{position:sticky;bottom:0;justify-content:flex-end;margin-top:.35rem;padding-top:.6rem;padding-bottom:calc(.25rem + env(safe-area-inset-bottom));border-top:1px solid var(--surface-border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-bg-base) 0%,transparent) 0%,var(--surface-bg-base) 42%)}.recipe-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:.55rem}.recipe-modal-header h3{margin:0}.recipe-detail-editor{min-height:360px}.missing-ingredients-list{display:grid;gap:.45rem;margin:.6rem 0;min-height:0}.grocery-review-layout{display:grid;gap:.8rem;margin:.8rem 0;align-items:start;flex:1;min-height:0}.grocery-review-layout-v2{grid-template-columns:260px minmax(0,1fr) 320px}.grocery-meal-panel,.grocery-month-panel,.grocery-ingredient-panel{border:1px solid var(--color-border-subtle);border-radius:10px;padding:.65rem;background:var(--color-surface-soft);min-height:0}.grocery-side-header{display:grid;gap:.3rem;margin-bottom:.6rem}.grocery-side-header h4{margin:0}.grocery-meal-list{display:grid;gap:.45rem}.grocery-meal-list-item{border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-base);padding:.45rem;display:grid;gap:.35rem}.grocery-meal-list-item.active{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700)}.grocery-meal-list-item.past,.grocery-meal-list-item.past.active{border-color:var(--color-border-subtle);box-shadow:none;background:var(--surface-bg-soft)}.grocery-meal-list-main{border:0;background:transparent;width:100%;padding:.1rem;text-align:left;color:inherit;cursor:pointer;display:grid;gap:.25rem}.grocery-meal-list-main-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.grocery-meal-list-copy{display:grid;gap:.22rem}.grocery-meal-list-avatar{width:1.9rem;height:1.9rem;border-radius:999px;border:1px solid var(--btn-border, var(--btn-navigation-border));background:var(--btn-bg, var(--btn-navigation-bg));color:var(--btn-fg, var(--btn-navigation-fg));display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;line-height:1;flex:0 0 auto}.grocery-meal-list-title{font-weight:700}.grocery-meal-meta-line{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.grocery-meal-meta-date{color:var(--assigned-muted-color, var(--color-ink-500));font-size:.82rem}.grocery-status-pill{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;border-radius:999px;padding:.1rem .45rem;border:1px solid var(--color-border-subtle);width:fit-content}.grocery-meal-list-actions{display:flex;align-items:flex-end;gap:.35rem;flex-wrap:wrap}.grocery-meal-date-field{display:grid;gap:.15rem;min-width:9rem}.grocery-meal-date-field>span{font-size:.68rem;font-weight:700;color:var(--assigned-muted-color, var(--color-ink-500))}.grocery-meal-date-input{min-height:1.9rem;padding:.2rem .35rem;font-size:.8rem}.grocery-meal-action{width:1.85rem;min-width:1.85rem;min-height:1.85rem}.grocery-status-pill.past{background:var(--color-surface-soft);border-color:var(--color-border-subtle);color:var(--color-ink-500)}.grocery-status-pill.today_or_future_unsent{background:var(--color-warning-300);border-color:var(--color-warning-500);color:var(--color-warning-800)}.grocery-status-pill.today_or_future_sent{background:var(--color-surface-status-soft);border-color:var(--color-success-100);color:var(--color-success-800)}.grocery-month-panel{display:flex;flex-direction:column;gap:.55rem;min-width:0}.grocery-month-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem}.grocery-month-period{justify-self:start;min-width:0}.grocery-month-period strong{color:var(--color-ink-500)}.grocery-drag-hint{margin-top:-.15rem;margin-bottom:.1rem}.grocery-month-toolbar-actions{display:inline-flex;gap:.4rem;align-items:center;justify-content:flex-end;justify-self:end}.grocery-month-scroll{overflow-x:auto;min-width:0;padding-bottom:.2rem}.grocery-planning-surfaces{display:grid;gap:.55rem}.grocery-weekday-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:.25rem}.grocery-weekday-row span{font-size:.72rem;font-weight:700;color:var(--color-ink-500);text-align:center;text-transform:uppercase;letter-spacing:.02em}.grocery-month-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;min-width:560px}.grocery-month-view--three-week{min-width:560px}.grocery-month-day{position:relative;display:flex;flex-direction:column;min-height:108px;border:1px solid var(--color-border-subtle);border-radius:9px;background:var(--surface-bg-base);padding:.38rem;padding-bottom:calc(var(--btn-h-small) + .65rem);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.grocery-month-day.is-drop-target,.grocery-timeline-day.is-drop-target{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700);background:var(--color-surface-accent)}.grocery-month-day-header{display:flex;align-items:center;justify-content:flex-start;gap:.35rem;font-weight:700;font-size:.82rem}.grocery-day-add-cta{position:absolute;left:.3rem;right:.3rem;bottom:.3rem;width:auto;min-width:0;opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .14s ease,transform .14s ease}.grocery-month-day:hover .grocery-day-add-cta,.grocery-month-day:focus-within .grocery-day-add-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.grocery-day-add-cta--timeline{position:static;width:fit-content;min-width:0;opacity:1;pointer-events:auto;transform:none}.meal-entry-popover-modal{position:relative;z-index:1;width:min(560px,calc(100vw - 1.5rem));margin:0}@media(hover:none){.grocery-day-add-cta{opacity:1;pointer-events:auto;transform:translateY(0)}}.grocery-month-meal-stack{display:flex;flex:1;min-height:0;flex-direction:column;gap:.24rem;margin-top:.25rem}.grocery-month-meal-dots{display:flex;flex-wrap:wrap;gap:.28rem;align-items:flex-start}.meal-prep-badge{width:1.9rem;min-width:1.9rem;min-height:1.9rem;font-size:.72rem;font-weight:700;line-height:1;flex:0 0 auto;touch-action:none}.meal-prep-badge.today_or_future_unsent{box-shadow:0 0 0 1px var(--color-warning-500)}.meal-prep-badge.today_or_future_sent{box-shadow:0 0 0 1px var(--color-success-600)}.meal-prep-badge.past{opacity:.72}.meal-prep-badge.active,.meal-prep-badge.hover-match{transform:translateY(-1px)}.meal-prep-badge.is-dragging{opacity:.48}.grocery-month-meal{width:16px;height:16px;border-radius:999px;border:2px solid var(--color-border-subtle);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:var(--color-ink-500)}.grocery-month-meal.today_or_future_unsent{background:var(--color-warning-500);border-color:var(--color-warning-300)}.grocery-month-meal.today_or_future_sent{background:var(--color-success-600);border-color:var(--color-success-100)}.grocery-month-meal.past{background:var(--color-surface-soft);border-color:var(--color-border-subtle)}.grocery-month-meal.active,.grocery-month-meal.hover-match{box-shadow:0 0 0 2px var(--color-brand-700)}.grocery-month-meal.past.active,.grocery-month-meal.past.hover-match{box-shadow:0 0 0 2px var(--color-border-subtle)}.grocery-timeline-view{display:none}.grocery-timeline-day{border:1px solid var(--color-border-subtle);border-radius:9px;background:var(--surface-bg-base);padding:.45rem;display:grid;gap:.45rem;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.grocery-past-drawer{margin-top:.6rem}.grocery-ingredient-panel{display:flex;flex-direction:column;gap:.6rem;overflow:hidden}.grocery-serving-summary,.grocery-meal-serving-line{display:block;margin-top:.18rem}.grocery-ingredient-actions{display:flex;gap:.4rem;flex:0 0 auto}.missing-ingredients-list{flex:1 1 auto;overflow-y:auto;padding-right:.15rem}.grocery-ingredient-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-base);padding:.45rem .55rem;cursor:pointer}.grocery-ingredient-row:hover{border-color:var(--color-border-strong)}.grocery-ingredient-row.selected{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700);background:var(--color-surface-accent)}.grocery-ingredient-row input{margin:0}.grocery-ingredient-state{font-size:.72rem;border-radius:999px;padding:.1rem .4rem;border:1px solid var(--color-border-subtle)}.grocery-ingredient-state.sent{background:var(--color-surface-status-soft);border-color:var(--color-success-100);color:var(--color-success-800)}.grocery-ingredient-state.unsent{background:var(--color-warning-300);border-color:var(--color-warning-500);color:var(--color-warning-800)}.recipe-manage-item{border:1px solid var(--color-border-subtle);border-radius:10px;padding:.6rem;display:flex;justify-content:space-between;gap:.7rem;align-items:center}.recipe-manage-item.is-active{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700)}.recipe-manage-open{border:0;background:transparent;padding:0;color:inherit;text-align:left;display:grid;gap:.3rem;min-width:0;flex:1;cursor:pointer}.recipe-manage-actions{display:flex;align-items:center;gap:.35rem}.recipe-book-page-panel{overflow:hidden}.recipe-book-page-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:.85rem;min-height:0;flex:1}.recipe-book-sidebar,.recipe-book-detail-panel{border:1px solid var(--color-border-subtle);border-radius:12px;background:var(--surface-bg-soft);min-height:0}.recipe-book-sidebar{display:flex;flex-direction:column;padding:.75rem;overflow:hidden}.recipe-book-sidebar-header,.recipe-book-detail-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.recipe-book-sidebar-header{margin-bottom:.7rem}.recipe-book-sidebar-header h2,.recipe-book-detail-header h3{margin:0}.recipe-book-groups{min-height:0;overflow-y:auto;padding-right:.15rem}.recipe-book-detail-panel{padding:.85rem;overflow-y:auto}.recipe-book-empty,.recipe-book-view,.recipe-page-form{display:grid;gap:.8rem}.recipe-book-empty{align-content:start;min-height:100%}.recipe-book-mode-label{margin:0 0 .2rem}.recipe-book-detail-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.recipe-book-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.recipe-book-meta-card{border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-base);padding:.7rem;display:grid;gap:.18rem}.recipe-book-detail-section{display:grid;gap:.4rem}.recipe-book-detail-section h4{margin:0}.recipe-book-detail-copy{margin:0;white-space:pre-wrap;line-height:1.5}.recipe-page-section{display:grid;gap:.28rem}.recipe-page-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:.6rem}.recipe-page-grid--editor{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.recipe-page-form .capture-input{font-size:16px}.recipe-page-form textarea.capture-input{resize:none;overflow-y:hidden}.recipe-page-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;padding-top:.4rem;border-top:1px solid var(--surface-border-subtle)}.recipe-discard-modal-card{width:min(420px,100%)}.recipe-book-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:.5rem;margin-bottom:.6rem}.recipe-book-label-filter{display:grid;gap:.35rem}.recipe-book-group{display:grid;gap:.45rem}.recipe-book-group+.recipe-book-group{margin-top:.5rem}.recipe-book-group h4{margin:0;font-size:.92rem}.recipe-section-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.recipe-section-chip{border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--surface-bg-soft);color:var(--theme-text-secondary);font-size:.76rem;padding:.14rem .46rem}.recipe-label-editor{display:grid;gap:.45rem}.recipe-selected-label-row{display:flex;flex-wrap:wrap;gap:.35rem}.recipe-selected-label-chip{display:inline-flex;align-items:center;gap:.22rem;border-radius:999px;border:1px solid var(--color-border-subtle);background:var(--surface-bg-base);color:var(--theme-text-secondary);font-size:.8rem;padding:.18rem .32rem .18rem .5rem}.recipe-selected-label-remove{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;padding:0;cursor:pointer}.recipe-selected-label-remove:hover{color:var(--theme-text-primary)}.recipe-label-editor-input{display:grid;gap:.3rem}.recipe-label-editor-suggestions{display:flex;flex-wrap:wrap;gap:.35rem}.recipe-linked-meal-ingredients{display:grid;gap:.35rem}.recipe-linked-meal-ingredient{border:1px solid var(--color-border-subtle);border-radius:10px;background:var(--surface-bg-soft);padding:.42rem .55rem}.calendar-all-day-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.6rem}.calendar-day-scroll{flex:1;min-height:0;overflow-y:auto}.calendar-chip{padding:.28rem .55rem}.calendar-day-grid{height:980px;border:1px solid var(--color-border-strong);border-radius:10px;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--surface-bg-base) 0%,var(--surface-bg-soft) 100%)}.calendar-hour-line{position:relative;height:calc(100% / 24);border-top:1px solid var(--color-border-subtle)}.calendar-hour-line span{position:absolute;left:.2rem;top:-.45rem;font-size:.72rem;color:var(--color-ink-500)}.calendar-day-events{position:absolute;top:0;left:4.2rem;right:.45rem;bottom:0}.calendar-block{position:absolute;border:1px solid var(--color-border-default);border-left:3px solid var(--color-success-600);border-radius:8px;background:var(--color-surface-status-soft);color:var(--color-ink-900);padding:.25rem .35rem;text-align:left;overflow:hidden;cursor:pointer}.calendar-block.active{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700)}.calendar-block strong{display:block;font-size:.78rem;line-height:1.2}.calendar-block span{font-size:.7rem;color:var(--assigned-muted-color, var(--color-ink-700))}.calendar-week-view{--week-columns: 7;--week-day-min-width: 164px;--week-time-rail-width: 48px;display:grid;flex:1;width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:.35rem}.calendar-week-view.three-day{--week-columns: 3;--week-day-min-width: 220px}.calendar-week-scroll-x{min-height:0;overflow-x:auto;overflow-y:hidden}.calendar-week-static-shell,.calendar-week-body-shell{display:grid;grid-template-columns:var(--week-time-rail-width) minmax(0,1fr);gap:.45rem;min-width:calc(var(--week-time-rail-width) + (var(--week-columns) * var(--week-day-min-width)) + ((var(--week-columns) - 1) * .45rem))}.calendar-week-static-grid,.calendar-week-body-grid{display:grid;grid-template-columns:repeat(var(--week-columns),minmax(var(--week-day-min-width),1fr));gap:.45rem}.calendar-week-time-gutter{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);background:var(--surface-bg-tint)}.calendar-week-day{container-type:inline-size;display:flex;flex-direction:column;min-height:0;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);background:var(--surface-bg-tint);padding:0}.calendar-week-day-lanes{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);background:var(--surface-bg-tint);padding:0;overflow:hidden}.calendar-week-day header{font-size:.82rem;font-weight:700;margin:0;padding:.45rem .45rem .25rem}.calendar-week-day .meal-section.compact{margin:0 .35rem .25rem}.calendar-week-day .meal-compact-controls{margin-left:auto}@container (max-width: 212px){.calendar-week-day .meal-compact-items{flex-basis:100%}.calendar-week-day .meal-compact-controls{width:100%;justify-content:flex-end}}.calendar-week-all-day{display:flex;gap:.3rem;flex-wrap:wrap;margin:0;padding:0 .35rem .35rem}.calendar-week-all-day .calendar-chip{min-height:28px;padding:.2rem .45rem;font-size:.76rem}.calendar-week-lanes-scroll{flex:1;min-height:0;overflow-y:auto}.calendar-week-body-scroll{min-height:0;overflow-y:auto;overflow-x:hidden;width:max-content;min-width:100%}.calendar-week-time-rail{position:relative;height:980px;border:1px solid var(--color-border-strong);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,var(--surface-bg-base) 0%,var(--surface-bg-soft) 100%)}.calendar-week-time-slot{position:relative;height:calc(100% / 24);border-top:1px solid var(--color-border-subtle)}.calendar-week-time-slot span{position:absolute;left:.2rem;top:-.45rem;font-size:.68rem;color:var(--color-ink-500)}.calendar-week-lanes{position:relative;height:980px;border-top:1px solid var(--color-border-subtle);overflow:hidden;background:linear-gradient(180deg,var(--surface-bg-base) 0%,var(--surface-bg-soft) 100%)}.calendar-week-hour-line{position:relative;height:calc(100% / 24);border-top:1px solid var(--color-border-subtle)}.calendar-week-events{position:absolute;top:0;left:.3rem;right:.3rem;bottom:0}.calendar-week-block{position:absolute;border:1px solid var(--color-border-default);border-left:3px solid var(--color-sky-600);border-radius:7px;background:var(--color-surface-status-soft);padding:.2rem;font-size:.67rem;text-align:left;overflow:hidden;cursor:pointer}.calendar-week-block.active{border-color:var(--color-sky-600);box-shadow:inset 0 0 0 1px var(--color-sky-600)}.calendar-month-view{display:grid;flex:1;width:100%;height:100%;overflow:auto;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.calendar-month-day{position:relative;z-index:1;display:flex;flex-direction:column;min-height:112px;border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-sm);padding:.4rem;background:var(--surface-bg-base);overflow:visible}.calendar-month-day.is-expanded{z-index:6}.calendar-month-day-header{display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-bottom:.3rem}.calendar-month-day-meal-dots{display:inline-flex;align-items:center;gap:.2rem;max-width:calc(100% - 2rem);overflow:hidden}.calendar-month-meal-dot{width:9px;height:9px;border-radius:999px;border:2px solid var(--color-border-subtle);background:var(--color-ink-500);flex:0 0 auto}.calendar-month-meal-dot.today_or_future_unsent{background:var(--color-warning-500);border-color:var(--color-warning-300)}.calendar-month-meal-dot.today_or_future_sent{background:var(--color-success-600);border-color:var(--color-success-100)}.calendar-month-meal-dot-more{font-size:.68rem;color:var(--color-ink-500);line-height:1}.calendar-month-day-jump{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;border-radius:8px;padding:.12rem .3rem;cursor:pointer}.calendar-month-day-jump:hover{background:var(--color-cloud-300)}.calendar-month-stack{display:flex;flex:1;min-height:0;flex-direction:column;gap:.2rem}.calendar-month-overflow{position:absolute;left:.35rem;right:.35rem;top:calc(100% - .3rem);z-index:7;display:grid;gap:.2rem;padding:.45rem;border:1px solid var(--surface-border-subtle);border-radius:10px;background:var(--surface-bg-base);box-shadow:0 12px 28px var(--alpha-shadow)}.calendar-month-event{border:1px solid var(--color-border-default);border-left:3px solid var(--color-success-600);background:var(--color-surface-status-soft);border-radius:6px;padding:.15rem .25rem;font-size:.72rem;text-align:left;cursor:pointer}.calendar-month-event.active{border-color:var(--color-brand-700)}.calendar-more{font-size:.7rem;color:var(--color-ink-500)}.calendar-more-button{margin-top:auto;align-self:flex-start;border:0;background:transparent;font:inherit;color:inherit;padding:0;cursor:pointer}.calendar-more-button:hover{text-decoration:underline}.calendar-event-detail{border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-md);padding:.75rem;background:var(--surface-bg-soft);max-height:100%;overflow-y:auto}.calendar-event-detail h4{margin:0 0 .65rem}.calendar-event-detail p{margin:.35rem 0;font-size:.9rem}.calendar-detail-actions{display:flex;gap:.4rem;margin:.65rem 0}.clock{font-size:1.85rem;font-weight:700;line-height:1}.header-clock{text-align:center;white-space:nowrap}.kiosk .btn--commit,.kiosk .capture-input{min-height:56px;font-size:1.1rem}.family-settings-page{width:min(100%,1100px);max-width:1100px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.family-settings-header{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:flex-start}.family-settings-header h1{margin:0}.family-settings-header-actions{display:flex;flex-wrap:wrap;gap:.45rem}.settings-page{width:min(100%,1100px);max-width:1100px;margin:0 auto;padding:1rem;display:grid;gap:1rem}.settings-header{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:flex-start}.settings-header h1{margin:0}.settings-header-actions{display:flex;flex-wrap:wrap;gap:.45rem}.settings-nav{display:flex;flex-wrap:wrap;gap:.5rem}.settings-section{display:grid;gap:.7rem}.settings-section h2{margin:0}.settings-card{background:var(--surface-bg-base);border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-lg);box-shadow:var(--surface-shadow-panel);padding:.9rem;display:grid;gap:.65rem}.family-settings-grid{display:grid;gap:1rem}.family-settings-section{display:grid;gap:.7rem}.family-settings-section h2{margin:0}.family-settings-grid-compact{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.family-settings-grid-single{grid-template-columns:1fr}.family-settings-card{background:var(--surface-bg-base);border:1px solid var(--surface-border-subtle);border-radius:var(--surface-radius-lg);box-shadow:var(--surface-shadow-panel);padding:.9rem;display:grid;gap:.65rem}.family-settings-card h2,.family-settings-card h3,.family-settings-card h4{margin:0}.family-settings-form{display:grid;gap:.55rem}.family-settings-form label,.family-settings-card>label{display:grid;gap:.35rem;font-size:.9rem;color:var(--color-ink-700)}.family-settings-form input:not([type=checkbox]):not([type=radio]),.family-settings-card input:not([type=checkbox]):not([type=radio]),.family-settings-card select{width:100%;min-height:40px;border-radius:10px;border:1px solid var(--surface-border-subtle);background:var(--surface-bg-base);color:var(--color-ink-900);padding:.5rem .65rem;font:inherit}.family-settings-actions{display:flex;flex-wrap:wrap;gap:.45rem}.family-inline-block{border:1px solid var(--surface-border-subtle);border-radius:10px;padding:.55rem;background:var(--surface-bg-soft)}.family-link-line{margin:0;font-size:.82rem;word-break:break-all}.family-invite-list,.family-member-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.family-invite-item,.family-member-item{border:1px solid var(--surface-border-subtle);border-radius:10px;background:var(--surface-bg-soft);padding:.55rem;display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.family-member-title{display:inline-flex;align-items:center;gap:.4rem}.family-color-token-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem;margin-top:.25rem}.family-color-token{border:1px solid var(--surface-border-subtle);background:var(--surface-bg-base);border-radius:999px;min-height:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:.2rem}.family-color-token.is-selected{border-color:var(--color-brand-700);box-shadow:inset 0 0 0 1px var(--color-brand-700)}.family-color-token:disabled{opacity:.5;cursor:not-allowed}.settings-member-dot{margin-left:.5rem}.settings-family-color-block{display:grid;gap:.35rem}.family-toggle-list{display:grid;gap:.45rem}.family-toggle-item{display:flex;align-items:center;gap:.55rem;border:1px solid var(--surface-border-subtle);border-radius:10px;padding:.5rem .6rem;background:var(--surface-bg-soft)}.family-toggle-item input[type=checkbox],.calendar-toggle input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;padding:0;flex:0 0 18px;accent-color:var(--color-brand-700)}.family-settings-footer{display:flex;justify-content:flex-end;gap:.5rem}.error{color:var(--color-danger-800);background:var(--color-surface-status-soft);border:1px solid var(--color-danger-100);padding:.7rem;border-radius:var(--surface-radius-sm)}.warning{color:var(--color-warning-800);background:color-mix(in srgb,var(--color-warning-300) 45%,var(--color-white));border:1px solid color-mix(in srgb,var(--color-warning-800) 32%,var(--color-warning-300));padding:.7rem;border-radius:var(--surface-radius-sm)}@media(max-width:760px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]),textarea,select{font-size:16px}.dashboard{padding:.75rem}:root[data-display-mode=standalone] .dashboard{padding-top:calc(.75rem + env(safe-area-inset-top));padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.header{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title clock" "actions actions";gap:.45rem .65rem;align-items:start}.header-title{grid-area:title;min-width:0}.header-title h1{font-size:clamp(1.1rem,5.8vw,1.45rem);line-height:1.15;overflow-wrap:anywhere}.header-clock{grid-area:clock;justify-self:end;align-self:start;white-space:nowrap;font-size:.95rem}.header-actions{grid-area:actions;justify-content:flex-start;flex-wrap:wrap;gap:.5rem;min-width:0}.quickstart-modal-scrim{padding:.45rem}.quickstart-modal-card{max-height:calc(100dvh - .9rem);padding:.8rem;gap:.65rem}.quickstart-modal-header{flex-direction:column;gap:.45rem}.quickstart-modal-header-actions{width:100%;justify-content:space-between}.quickstart-slide-shell{grid-template-columns:1fr;gap:.55rem}.quickstart-slide-card{order:1;max-height:52dvh;padding:.75rem}.quickstart-nav-btn{width:100%;min-width:0}.quickstart-slide-shell .quickstart-nav-btn:first-child{order:2}.quickstart-slide-shell .quickstart-nav-btn:last-child{order:3}.quickstart-preview-grid{grid-template-columns:1fr}.quickstart-timeline-meta{flex-wrap:wrap}.quickstart-timeline-scroll{max-height:min(38dvh,360px)}.mobile-tabs{display:flex;gap:.5rem;margin-top:.75rem;margin-bottom:.5rem;position:sticky;top:0;z-index:11;background:var(--theme-bg-header);padding:.35rem 0}:root[data-display-mode=standalone] .mobile-tabs{top:env(safe-area-inset-top)}.home-primary-nav{position:sticky;top:0;z-index:11;background:var(--theme-bg-header);padding:.35rem 0;overflow-x:auto;flex-wrap:nowrap}.home-primary-nav-button--mobile-only{display:inline-flex}.grid{display:block;height:calc(100dvh - var(--main-top-offset, 300px));min-height:320px;overflow:hidden}.baby-page .grid.baby-grid{height:auto;min-height:0;overflow:visible}.baby-page .panel.baby-panel{max-height:none;overflow:visible}.grid.standalone-grid{height:auto;min-height:0;overflow:visible}.grid.standalone-grid .standalone-page-panel{max-height:none;overflow:visible}.mobile-panel{display:none;height:100%;overflow-y:auto}.mobile-panel.active{display:block}.panel.mobile-panel{padding:.55rem .65rem .65rem}.mobile-panel .mobile-panel-title{display:none}.calendar-timeline-panel.mobile-panel.active{display:flex;flex-direction:column;min-height:0;overflow:hidden}.header-weather{max-width:100%;overflow:hidden;text-overflow:ellipsis}.header-weather-summary{max-width:16ch;overflow:hidden;text-overflow:ellipsis}.header-weather-popover{right:0;left:auto;min-width:min(250px,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem)}.calendar-panel-header{flex-direction:column;margin-bottom:.45rem;gap:.5rem}.todo-header{margin-bottom:.45rem}.todo-header .muted-line{margin-bottom:.35rem}.calendar-modal-header{gap:.55rem}.calendar-modal-selector.inline{order:2;flex-basis:100%;min-width:0}.calendar-modal-controls{order:3;margin-left:0;width:100%;justify-content:flex-start}.calendar-modal-layout.split{grid-template-columns:1fr}.calendar-week-view,.calendar-month-view{gap:.5rem}.calendar-month-view{grid-template-columns:1fr;height:auto;min-height:100%;overflow:visible;align-content:start}.calendar-week-view{--week-day-min-width: 220px;--week-time-rail-width: 46px}.calendar-week-view.three-day{--week-day-min-width: 240px}.calendar-week-time-rail,.calendar-week-lanes,.calendar-day-grid{height:820px}.todo-modal-layout,.grocery-review-layout{grid-template-columns:1fr}.grocery-month-toolbar{grid-template-columns:minmax(0,1fr) auto;row-gap:.45rem}.grocery-month-toolbar-actions{justify-self:end}.grocery-month-scroll{display:none}.grocery-timeline-view{display:grid;gap:.45rem}.grocery-meal-date-field{min-width:100%}.grocery-day-add-cta--timeline{width:100%}.meal-input-row{flex-wrap:wrap}.recipe-picker-toolbar,.recipe-book-toolbar,.recipe-modal-grid,.recipe-page-grid,.recipe-book-page-layout{grid-template-columns:1fr}.recipe-editor-modal-scrim{padding:.45rem .45rem calc(1.3rem + env(safe-area-inset-bottom))}.recipe-modal-card{width:min(1200px,calc(100vw - .9rem));max-height:calc(100dvh - 1.75rem - env(safe-area-inset-bottom))}}@media(max-width:520px){.home-primary-nav{gap:.35rem}.home-primary-nav-button{min-width:var(--btn-h-small);padding:0 .5rem}.home-primary-nav-icon{display:inline-flex}.home-primary-nav-label{display:none}}@media(max-width:1080px){.grocery-review-layout{grid-template-columns:1fr}}@media(min-width:761px){body{height:100dvh;overflow:hidden}.family-settings-page,.settings-page{height:100dvh;overflow-y:auto;padding-top:1.25rem;padding-bottom:1.5rem}.dashboard{height:100dvh;overflow-y:auto}.header{position:sticky;top:0;z-index:10;background:var(--theme-bg-header);padding:.75rem 0}:root[data-display-mode=standalone] .header{top:env(safe-area-inset-top)}.grid{height:calc(100dvh - var(--main-top-offset, 240px));min-height:320px;overflow:hidden;align-items:stretch}.panel{min-height:0;max-height:calc(100dvh - var(--main-top-offset, 240px));overflow-y:auto}.panel.calendar-timeline-panel{display:flex;flex-direction:column;overflow:hidden}.baby-page .grid.baby-grid{height:auto;min-height:0;overflow:visible;align-content:start}.baby-page .panel.baby-panel{max-height:none;overflow:visible}.voice-fab{right:max(.8rem,calc(env(safe-area-inset-right) + .5rem));bottom:max(.8rem,calc(env(safe-area-inset-bottom) + .5rem))}.voice-listening-overlay{left:.7rem;right:4.6rem}.voice-confirm-banner,.voice-status-banner{left:.7rem;right:.7rem}.baby-page .voice-fab{bottom:calc(11.2rem + env(safe-area-inset-bottom))}.baby-page .voice-listening-overlay,.baby-page .voice-confirm-banner,.baby-page .voice-status-banner{bottom:calc(15.2rem + env(safe-area-inset-bottom))}}
