:root{--bg: #f4f7f7;--card: #ffffff;--border: #e3eae9;--text: #152221;--text-muted: #586866;--text-secondary: #4a5957;--teal: var(--tl-0f766e);--green: var(--tl-0f9488);--lime: var(--tl-0f9488);--lime-light: var(--tl-dff1ee);--amber: #eb6834;--amber-light: #f3a07a;--purple: var(--tl-bfe4df);--coral: #eb6834;--red: #ef4444;--teal-ink: var(--tl-0c6a63);--lime-ink: var(--tl-0c6a63);--coral-ink: #a8431b;--red-ink: #b33333;--purple-ink: var(--tl-0c6a63);--hub-display-font: var(--font-display);--hub-display-ink: var(--text);--hub-daylabel-ink: var(--teal-ink);--sage: var(--tl-5fb3a8);--sage-soft: var(--tl-e6f4f2);--lavender: var(--tl-5fb3a8);--lavender-soft: var(--tl-e6f4f2);--gold: var(--tl-0f9488);--gold-soft: var(--tl-e6f4f2);--coral-soft: #fdeee6;--teal-soft: var(--tl-e1f3f0)}*{box-sizing:border-box}html{font-size:calc(100% * var(--text-scale, 1))}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{background:var(--bg)}body{padding-bottom:84px;min-height:100vh}body{padding-top:env(safe-area-inset-top,0px)}#app{max-width:560px;margin:0 auto;padding:20px 16px 8px}h1,h2,h3{margin:0 0 4px}h1{font-size:1.4rem}h2{font-size:1.05rem;color:var(--text-secondary);font-weight:600;letter-spacing:0.01em}p{color:var(--text-secondary);margin:0}.settings-gear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:color 0.15s ease,background-color 0.15s ease,transform 0.1s ease}.hub-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hub-plain-link{display:inline-flex;align-items:center;gap:6px;padding:8px 10px 8px 4px;border-radius:10px;color:var(--text-muted);font-size:0.88rem;font-weight:650;text-decoration:none}.hub-plain-link:hover{background:var(--card);color:var(--text)}.dashboard-hero{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:26px;padding:20px 20px 22px;min-height:180px;background:linear-gradient(135deg,#f4f7f7,#f4f7f7 55%,#f4f7f7);box-shadow:0 12px 34px rgba(104,72,70,0.09);margin-bottom:14px}.dashboard-hero-copy{position:relative;z-index:2;width:66%}.dashboard-hero-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:0.09em;font-weight:800;color:var(--coral-ink);margin-bottom:4px}.dashboard-hero .brand-title{text-align:left;font-size:2.1rem;line-height:1;margin:0 0 8px}.dashboard-hero-sub{color:var(--text-muted);font-size:0.86rem;line-height:1.4;margin:0}.dashboard-hero-art{position:absolute;right:-12px;bottom:-20px;width:44%;max-width:220px}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:14px}.focus-tile{border:0;border-radius:22px;padding:15px;text-align:left;min-height:118px;color:var(--text);font-family:inherit;cursor:pointer;position:relative;overflow:hidden;box-shadow:0 5px 18px rgba(88,65,63,0.06);display:flex;flex-direction:column;transition:transform 0.12s ease}.focus-tile:active{transform:scale(0.97)}.focus-tile-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,0.72);font-size:1rem;font-weight:800;margin-bottom:8px}.focus-tile-number{font-family:var(--hub-display-font, "Quicksand", system-ui, sans-serif);font-weight:400;font-size:1.9rem;line-height:0.9;margin-bottom:2px}.focus-tile-label{font-size:0.92rem;font-weight:700}.focus-tile-sub{font-size:.75rem;line-height:1.3;color:var(--text-muted);margin-top:3px}.focus-tile-tonight{background:var(--coral-soft)}.focus-tile-family{background:var(--lavender-soft)}.focus-tile-meals{background:var(--sage-soft)}.focus-tile-capacity{background:var(--teal-soft)}.focus-tile-progress{height:8px;background:rgba(255,255,255,0.72);border-radius:99px;overflow:hidden;margin-top:10px}.focus-tile-progress span{display:block;height:100%;border-radius:99px;background:var(--teal);transition:width 0.3s ease}@media(max-width:380px){.dashboard-hero-copy{width:70%}.dashboard-hero-art{width:38%;right:-16px}.focus-tile{min-height:108px;padding:12px}.focus-tile-number{font-size:1.6rem}}.settings-gear-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text-muted) 14%,transparent)}.settings-gear-btn:active{transform:scale(0.94)}.settings-backdrop{position:fixed;inset:0;background:rgba(21,34,33,0.35);z-index:40}.settings-panel{position:fixed;top:0;left:0;right:0;z-index:41;max-height:90vh;overflow-y:auto;background:var(--bg);border-radius:0 0 22px 22px;box-shadow:0 12px 32px rgba(63,50,54,0.22);padding:16px 16px 24px;max-width:560px;margin:0 auto;animation:settings-panel-drop 0.18s ease}@keyframes settings-panel-drop{from{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.settings-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.settings-panel-header .section-title{margin-bottom:0}.settings-close-btn{background:none;border:none;font-size:1.6rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:4px 8px}.settings-close-btn:hover{color:var(--text)}.settings-panel-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding-top:4px}.header .tagline{color:var(--text-muted);font-size:0.85rem}.brand-title{font-family:var(--brand-font, var(--font-display));font-size:2.5rem;font-weight:700;text-align:center;color:var(--brand-color-ink, var(--brand-color, var(--teal-ink)));margin:0 0 2px;line-height:1.15}#scripture-banner{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;text-align:center;padding:8px 16px;background:var(--cv-soft, var(--tl-e3f1ef));border-bottom:1px solid var(--border);font-size:0.82rem;line-height:1.35}#scripture-text{color:var(--text-secondary);font-style:italic}#scripture-ref{font-family:var(--hub-display-font, "Quicksand", system-ui, sans-serif);color:var(--teal-ink);margin-left:7px;font-size:0.9rem;letter-spacing:0.01em}.view-header h1{font-family:var(--hub-display-font, "Quicksand", system-ui, sans-serif);font-weight:400;letter-spacing:0.01em;font-size:1.7rem}.brand-verse{font-family:var(--brand-font, "Quicksand", sans-serif);text-align:center;font-size:1.15rem;font-weight:600;color:var(--text-secondary);line-height:1.4;margin:0 0 10px}.logout-link{display:block;margin:8px auto 0;background:none;border:none;color:var(--text-muted);font-size:0.75rem;text-decoration:underline;cursor:pointer;font-family:inherit}.view-header{display:flex;align-items:center;gap:12px;border-radius:20px;padding:16px 18px}.view-header h1{margin:0}.view-header-icon{display:flex;flex-shrink:0}#view-tasks .view-header{background:linear-gradient(120deg,var(--tl-bfe4df),#ffffff)}#view-tasks .view-header-icon{color:var(--coral-ink)}#view-kids .view-header{background:linear-gradient(120deg,var(--tl-e6f4f2),var(--tl-bfe4df) 55%,#e3eae9)}#view-kids .view-header-icon{color:var(--tl-0c6a63)}#view-routines .view-header{background:linear-gradient(120deg,#e3eae9,#f4f7f7)}#view-routines .view-header-icon{color:#818cf8}#view-meals .view-header{background:linear-gradient(120deg,var(--tl-bfe4df),#f4f7f7)}#view-meals .view-header-icon{color:var(--lime-ink)}#view-budget .view-header{background:linear-gradient(120deg,#e3eae9,#f4f7f7)}#view-budget .view-header-icon{color:var(--tl-0d9488)}#view-purge .view-header{background:linear-gradient(120deg,var(--tl-bfe4df),var(--tl-bfe4df))}#view-purge .view-header-icon{color:var(--teal-ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--card-radius);padding:var(--card-padding);margin-bottom:var(--space-4);box-shadow:var(--card-shadow)}.section-title{margin-bottom:12px}.gauge-row{display:flex;gap:12px}.gauge{flex:1;padding:14px}.gauge-label{font-size:0.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:8px}.gauge-track{height:10px;overflow:hidden;margin-bottom:8px}.gauge-fill{height:100%;transition:width 0.4s ease}.gauge-value{font-size:0.9rem;font-weight:600}.gauge-sub{font-size:0.75rem;color:var(--text-muted)}.savings-goal-progress{padding:0 14px 4px}.savings-goal-guide{padding:0 14px 12px;font-size:0.8rem;color:var(--text-muted)}.savings-goal-guide.success{color:var(--lime-ink);font-weight:600}.savings-contribution-history{margin-top:6px;display:flex;flex-direction:column;gap:4px}textarea.dump-input{width:100%;min-height:90px;background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:12px;font-size:1rem;font-family:inherit;resize:vertical}textarea.dump-input:focus{outline:2px solid var(--cv-accent, var(--teal));outline-offset:1px}.btn{border:none;border-radius:12px;padding:12px 18px;font-size:0.95rem;font-weight:600;cursor:pointer;transition:opacity 0.15s ease,transform 0.1s ease}.btn:active{transform:scale(0.97)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:disabled{opacity:0.5;cursor:wait}.btn-row{display:flex;justify-content:flex-end;margin-top:10px}.btn-row[hidden]{display:none}.status-msg{font-size:0.85rem;margin-top:8px;min-height:1.1em}.status-msg.error{color:var(--red-ink)}.status-msg.success{color:var(--lime-ink)}.task-group{margin-bottom:20px}.task-group-title{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:8px}.task-row{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px}.task-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--text-muted);background:transparent;flex-shrink:0;cursor:pointer;position:relative}.task-check.done{background:var(--green);border-color:var(--lime-ink)}.task-check.done::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #b8c7c5;border-width:0 2px 2px 0;transform:rotate(45deg)}.task-body{flex:1;min-width:0}.task-title{font-size:0.95rem;word-break:break-word}.task-title.done{text-decoration:line-through;color:var(--text-muted)}.task-meta{display:flex;gap:8px;margin-top:3px;font-size:.75rem;color:var(--text-muted);flex-wrap:wrap}.pill{padding:2px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border)}.pill.is-tinted{color:var(--tint-ink, inherit);border-color:var(--tint-edge, var(--border))}.zone-status-btn.is-tinted{color:var(--tint-ink, inherit);border-color:var(--tint-edge, var(--border));background:var(--tint-wash, none)}.priority-tag{display:inline-flex;align-items:center;font-size:.75rem;color:var(--text-secondary)}.priority-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.priority-high{background:var(--red)}.priority-medium{background:var(--amber-light)}.priority-low{background:var(--text-muted)}.empty-state{color:var(--text-muted);font-size:0.85rem;padding:12px 4px}.today-tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.today-tasks-header .section-title{margin-bottom:0}.today-tasks-remaining{font-size:0.78rem;font-weight:600}.today-tasks-remaining.ok{color:var(--lime-ink)}.today-tasks-remaining.warn{color:var(--amber)}.today-tasks-remaining.over{color:var(--red-ink)}.today-tasks-sub{font-size:.75rem;color:var(--text-muted);margin-bottom:10px}.today-tasks-overflow{font-size:0.78rem;color:var(--text-muted);font-style:italic;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.tonight-task-item{margin-bottom:8px}.tonight-task-item .task-row{margin-bottom:4px}.tonight-task-more{display:block;margin:0 0 8px 4px;padding:0;border:none;background:none;font-size:.75rem;color:var(--text-muted);cursor:pointer;text-decoration:underline}.tonight-task-actions{display:flex;gap:6px;padding:6px 10px 8px;background:var(--card);border:1px solid var(--border);border-radius:12px;margin:-4px 0 8px}.tonight-task-actions[hidden]{display:none}#today-tasks-list .tonight-task-item .tonight-task-actions[hidden]{display:none!important}.tonight-task-actions .swap-toggle-btn{margin-top:0;padding:4px 10px;font-size:.75rem}.today-tasks-add-row{margin-top:6px}#view-kids .kid-column{margin-bottom:18px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:14px 16px;box-shadow:0 4px 18px rgba(230,170,150,0.12);border-left:6px solid var(--coral)}#view-kids .kid-column:nth-of-type(4n+2){border-left-color:var(--teal-ink)}#view-kids .kid-column:nth-of-type(4n+3){border-left-color:var(--lime-ink)}#view-kids .kid-column:nth-of-type(4n+4){border-left-color:var(--tl-0f9488)}#view-kids .kid-column.kid-column-accent{border-left-color:var(--accent, var(--tl-0f9488))}#view-kids .kid-column h2{font-size:1.25rem;color:var(--text)}.kid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.streak-badge{display:inline-flex;align-items:center;font-size:1.3rem;font-weight:700;color:#a8431b;background:linear-gradient(90deg,#fdeee6,#fdeee6);border:none;border-radius:999px;padding:6px 16px}.kid-empty-state{font-size:1rem;font-weight:600;color:var(--lime-ink)}.chore-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:12px 16px;margin-bottom:8px}#view-kids .task-check{width:34px;height:34px;border-width:3px;border-color:var(--lime-ink)}#view-kids .chore-row .task-title{font-size:1.05rem;font-weight:600}.chore-day{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;min-width:34px}.add-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.add-form[hidden]{display:none}.add-form label{font-size:0.78rem;color:var(--text-secondary);margin-bottom:-4px}.add-form input,.add-form select{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;font-size:0.9rem;font-family:inherit}.routine-row{display:flex;gap:14px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--border)}.routine-row:last-child{border-bottom:none}.routine-day{min-width:78px;font-size:0.8rem;font-weight:600;color:var(--hub-daylabel-ink, var(--purple));text-transform:capitalize}.routine-title{font-size:0.95rem}.routine-time{font-size:0.78rem;color:var(--text-muted)}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid var(--border);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:10}.tab-btn{flex:1;background:none;border:none;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;font-size:.75rem;cursor:pointer;font-family:inherit}.tab-btn .tab-icon{font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center}.tab-btn .tab-icon svg{width:22px;height:22px;display:block}.tab-btn.active{color:var(--teal-ink)}a.tab-btn{text-decoration:none}.tabbar .tab-btn[hidden]{display:none}.hub-more-menu{position:fixed;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;width:min(340px,calc(100vw - 24px));padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--card);box-shadow:0 12px 32px rgba(20,28,23,0.18)}.hub-more-menu[hidden]{display:none}.hub-more-title{margin:0 0 8px;font-size:1rem}.hub-more-list{display:grid;gap:6px}.hub-more-item{display:grid;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.hub-more-item-title{font-weight:700}.hub-more-item-sub{color:var(--text-muted);font-size:0.85rem}.hub-menu-settings{margin:12px 0 0;padding:0;border:0;min-width:0}.hub-menu-settings legend{padding:0;margin-bottom:4px}.hub-menu-options{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:6px}.hub-menu-option{display:inline-flex;align-items:center;gap:6px;font-size:0.9rem;cursor:pointer}.hub-welcome-list{margin:8px 0 12px;padding-left:20px;color:var(--text);font-size:0.9rem;line-height:1.5}.hub-welcome-list li{margin-bottom:4px}.hub-welcome-link{padding:0;border:0;background:none;color:var(--teal-ink);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}.view{display:none}.view.active{display:block}.install-hint{font-size:0.75rem;color:var(--text-muted);text-align:center;margin:4px 0 14px}.meal-card{margin-bottom:8px;overflow:hidden}.meal-card-head{display:flex;align-items:center;gap:14px;padding:12px 14px;cursor:pointer;width:100%;text-align:left;font-family:inherit;color:inherit}.meal-day{min-width:40px;font-size:0.78rem;font-weight:600;color:var(--hub-daylabel-ink, var(--purple));text-transform:uppercase}.meal-title-block{flex:1;min-width:0}.meal-title{font-size:0.95rem}.meal-tag{font-size:.75rem;color:var(--text-muted);margin-top:2px}.meal-chevron{color:var(--text-muted);transition:transform 0.15s ease;flex-shrink:0}.meal-card.expanded .meal-chevron{transform:rotate(90deg);color:var(--teal-ink)}.meal-detail{display:none;padding:0 14px 14px;border-top:1px solid var(--border)}.meal-card.expanded .meal-detail{display:block;padding-top:12px}.meal-detail-row{font-size:0.85rem;color:var(--text-secondary);margin-bottom:6px}.meal-detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted);margin-bottom:2px}.day-plan-card{margin-bottom:18px}.day-plan-title{font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--hub-daylabel-ink, var(--coral-ink));margin-bottom:8px}.day-plan-title.section-collapse-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.section-collapse-head{flex-wrap:nowrap}.section-collapse-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;border-radius:8px}.section-collapse-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, 0.04))}.section-chevron{display:inline-flex;transition:transform 0.15s ease;transform:rotate(0deg)}.section-open .section-chevron{transform:rotate(90deg);color:var(--teal-ink)}.section-collapse-body{display:none}.section-open .section-collapse-body{display:block}.slot-empty-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 14px;margin-bottom:8px}.slot-empty-label{font-size:0.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.slot-empty-row .swap-picker{flex-basis:100%;margin-top:0}.grocery-group{margin-bottom:16px}.grocery-group-title{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--text-muted);margin-bottom:8px}.grocery-row{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:6px}.grocery-item-name{flex:1}.grocery-item-amount{font-size:0.75rem;color:var(--text-muted)}.subtabbar{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.subtab-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);padding:8px 14px;border-radius:999px;font-size:0.85rem;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0}.subtab-btn.active{background:var(--teal);color:#fff;border-color:var(--teal-ink);font-weight:600}.subview{display:none}.subview.active{display:block}.eater-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.eater-badge{background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:0.78rem;font-weight:600}.mod-row{font-size:0.85rem;color:var(--text-secondary);margin-bottom:4px}.mod-person,.agenda-owner-badge{font-weight:700;color:var(--accent, var(--purple-ink))}.eater-badge{color:var(--accent, var(--text-secondary));border-color:color-mix(in srgb,var(--accent, var(--border)) 55%,transparent)}.schedule-repeat-options{display:flex;flex-direction:column;gap:6px;margin:2px 0}.schedule-repeat-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.schedule-repeat-controls select,.schedule-repeat-controls input[type=date]{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:0.85rem;font-family:inherit}.schedule-recurrence-sub{font-size:.75rem;color:var(--text-muted);margin-top:2px}.meal-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chore-badge{display:inline-block;background:var(--amber-light);color:#a8431b;border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase}.schedule-range-fields{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:0.8rem;color:var(--text-secondary)}.schedule-range-fields input[type=date]{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:0.85rem;font-family:inherit}.agenda-owner-badge{font-weight:600;margin-left:6px}.agenda-owner-badge:first-child{margin-left:0}.ingredient-row{display:flex;justify-content:space-between;gap:10px;font-size:0.85rem;color:var(--text-secondary);padding:5px 0;border-bottom:1px solid var(--border)}.ingredient-row:last-child{border-bottom:none}.ingredient-amount{color:var(--text-muted);font-size:0.78rem;flex-shrink:0;text-align:right}.swap-toggle-btn{background:none;border:1px solid var(--border);color:var(--teal-ink);border-radius:999px;padding:5px 12px;font-size:0.78rem;font-family:inherit;cursor:pointer;margin-top:4px}#dump-mic.active{background:var(--teal);color:#fff;border-color:var(--teal-ink)}.swap-picker{margin-top:10px;border-top:1px solid var(--border);padding-top:10px;display:none}.swap-picker.open{display:block}.swap-option{padding:8px 10px;border-radius:8px;cursor:pointer;font-size:0.85rem}.swap-option:hover,.swap-option:active{background:var(--bg)}.filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.filter-chip{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);padding:5px 12px;border-radius:999px;font-size:0.78rem;font-family:inherit;cursor:pointer;white-space:nowrap}.filter-chip.active{background:var(--purple);color:#152221;border-color:var(--purple);font-weight:600}.filter-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.filter-select{background:var(--card);border:1px solid var(--border);color:var(--text);padding:8px 10px;border-radius:10px;font-size:0.85rem;font-family:inherit;flex:1;min-width:120px}.owner-checkboxes{display:flex;gap:8px;flex-wrap:wrap}.owner-check-label{display:flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:0.8rem;cursor:pointer}.owner-check-label input{margin:0}.owner-check-label.checked{border-color:var(--teal-ink);color:var(--teal-ink)}.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 8px 5px 12px;font-size:0.8rem}.chip-remove{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:0.9rem;line-height:1;padding:2px 4px}.chore-row-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.chore-delete-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:0.9rem;line-height:1;padding:2px 6px}.chore-delete-btn:hover{color:var(--pink, var(--tl-0c6a63))}.task-row{cursor:pointer}.task-edit-panel{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.task-row.expanded .task-edit-panel{display:block}.task-edit-panel .add-form{margin-top:0}.task-edit-panel .task-edit-error{font-size:0.85rem;color:var(--red-ink);margin-top:8px}.task-edit-panel select,.task-edit-panel input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:0.85rem;font-family:inherit}.completed-row{opacity:0.7}.completed-date{font-size:.75rem;color:var(--text-muted)}.cal-nav{display:flex;align-items:center;gap:10px}.cal-nav-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:999px;width:26px;height:26px;font-size:1rem;cursor:pointer;line-height:1}.capture-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.capture-card-head .section-title{margin-bottom:0}.capture-help-btn{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;width:24px;height:24px;font-size:0.82rem;font-weight:700;cursor:pointer;line-height:1;flex-shrink:0}#capture-help-text{margin-top:-4px}.cal-month-label{font-size:0.85rem;color:var(--text-secondary);min-width:100px;text-align:center}#cal-list-view.cal-list-view-hidden.cal-list-view-hidden{display:none!important}body.hub-responsive[data-hub-effective-layout=phone] .btn-row.capture-actions-row{flex-wrap:nowrap!important}.capture-actions-row .btn-primary{padding:10px 14px!important}.capture-actions-row .swap-toggle-btn{padding:5px 8px!important;font-size:0.74rem!important}#dump-status:empty,#capture-status:empty{min-height:0;margin-top:0}#capture-thumbnails:empty{margin-top:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}.cal-dow{font-size:.75rem;text-align:center;color:var(--text-muted);text-transform:uppercase;padding-bottom:4px}.cal-day{aspect-ratio:1;border-radius:8px;border:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:0.78rem;cursor:pointer;position:relative;color:var(--text-secondary)}.cal-day.empty{border:none;background:none;cursor:default}.cal-day.today{border-color:var(--teal-ink);color:var(--teal-ink);font-weight:700}.cal-day.selected{background:var(--purple);color:#152221;font-weight:700}.cal-day-dots{display:flex;gap:2px;margin-top:2px}.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--teal)}.cal-dot.event{background:var(--purple)}.cal-agenda{margin-top:14px}.cal-event-source{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--text-muted);flex-shrink:0}.cal-event-source.is-synced{background:var(--lime-light);color:#152221;padding:3px 8px;border-radius:999px;font-weight:700}.cal-event-source-icon{display:inline-flex}.cal-event-source-icon svg{display:block}.cal-owner-filter-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:6px}#cal-owner-filter{margin-bottom:12px}.owner-pill{display:inline-block;font-weight:700;font-size:.75rem;padding:3px 9px;border-radius:999px;margin-left:4px;background:color-mix(in srgb,var(--accent, var(--border)) 18%,white);border:1px solid color-mix(in srgb,var(--accent, var(--border)) 55%,transparent);color:var(--accent, var(--text))}.owner-pill:first-child{margin-left:0}.family-member-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:8px 10px;margin-bottom:8px}.family-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;font-weight:700;color:white;background:var(--accent, var(--purple))}.family-avatar img{width:100%;height:100%;object-fit:cover}.family-member-name-input{flex:1 1 120px;min-width:90px}.family-member-photo-input{max-width:140px}.cal-agenda-row{display:flex;align-items:center;gap:10px;padding:9px 12px;margin-bottom:6px;font-size:0.85rem}.cal-agenda-owners{margin-left:auto;flex-shrink:0}.form-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px 10px;font-size:0.85rem;font-family:inherit;width:100%;box-sizing:border-box}.ingredient-form-row{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.ingredient-form-row .form-input{flex:1;min-width:90px}.grocery-cost-input{width:66px;flex-shrink:0;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:4px 6px;font-size:0.8rem;text-align:right}.grocery-nudge{font-size:0.85rem;font-weight:600;border-radius:10px;padding:10px 14px;margin-bottom:12px}.grocery-nudge-ok{background:var(--cv-soft, var(--tl-e3f1ef));color:var(--cv-ink, #152221)}.grocery-nudge-warn{background:color-mix(in srgb,#eb6834 16%,var(--cv-surface, #fff));color:var(--cv-ink, #152221)}.grocery-nudge-over{background:color-mix(in srgb,#d64545 16%,var(--cv-surface, #fff));color:var(--cv-ink, #152221)}.grocery-week{margin-top:18px;padding:16px;border-radius:14px;background:var(--cv-surface, #fff);border:1px solid var(--cv-line, rgba(0, 0, 0, 0.08))}.grocery-week-title{margin:0 0 8px;font-size:1rem}.grocery-week-summary p{margin:0}.grocery-week-big{font-size:1.35rem;font-weight:800;color:var(--cv-ink, #152221)}.grocery-week-left{font-weight:600;margin-top:2px}.grocery-week-left-over{color:#b23a3a}.grocery-week-bar{height:8px;border-radius:99px;background:var(--cv-soft, var(--tl-e3f1ef));margin:10px 0 4px;overflow:hidden}.grocery-week-fill{display:block;height:100%;border-radius:99px;background:var(--cv-accent)}.grocery-week-fill-warn{background:#eb6834}.grocery-week-fill-over{background:#d64545}.grocery-week-spends{list-style:none;margin:12px 0 0;padding:0}.grocery-week-spend{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--cv-line, rgba(0, 0, 0, 0.08))}.grocery-week-amount{font-weight:700;min-width:5.5em}.grocery-week-note{flex:1;color:var(--cv-muted, #5b6b69);font-size:0.88rem}.grocery-week-remove{min-width:44px;min-height:44px;border:0;background:none;color:var(--cv-muted, #5b6b69);font-size:1.3rem;cursor:pointer;border-radius:10px}.grocery-week-remove:hover{background:var(--cv-soft, var(--tl-e3f1ef))}.grocery-week .form-field-label{display:block;margin-top:14px}.grocery-week-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.grocery-week-add .form-input{flex:1 1 8em;min-width:0}.grocery-week-target{margin-bottom:8px}.grocery-week .swap-toggle-btn{margin-top:10px}.budget-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.budget-month-row{display:flex;flex-direction:column;gap:3px}.budget-month-label{font-size:.75rem;text-transform:uppercase;letter-spacing:0.03em;color:var(--text-muted)}.budget-amount-input{text-align:right}.trend-row .grocery-item-name{flex:0 0 44px}.trend-status{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:auto}.trend-status-surplus{background:var(--lime-light);color:#152221}.trend-status-deficit{background:#fee2e2;color:#991b1b}.trend-status-none{background:var(--surface-muted, #f1f1ef);color:var(--ink-muted, #586866)}.shortcuts-panel{margin-top:10px}.shortcuts-key{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.75rem;word-break:break-all;text-align:left;max-width:60%}.shortcuts-instructions{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.shortcuts-instructions .mod-row{font-size:0.8rem}.notifications-note{font-size:0.82rem;margin-bottom:4px}.purge-config-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:100px}.purge-config-field label{font-size:0.75rem;color:var(--text-muted)}.btn-block-dashed{display:block;width:100%;background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:12px;color:var(--text-muted);font-family:inherit;font-size:0.85rem;cursor:pointer;margin-top:6px}.zone-status-btn{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:.75rem;font-weight:700;font-family:inherit;cursor:pointer;flex-shrink:0}.zone-row{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer}.zone-row-head{display:flex;align-items:center;gap:12px}.zone-detail{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);cursor:default}.zone-row.expanded .zone-detail{display:block}.purge-box-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.purge-box-row .purge-config-field{min-width:90px}.purge-box-row input{max-width:90px}.planner-scenario-row{display:flex;gap:8px;flex-wrap:wrap}.planner-scenario-btn{flex:1;min-width:130px;background:var(--card);border:2px solid var(--border);border-radius:10px;padding:10px;font-family:inherit;font-size:0.9rem;font-weight:700;cursor:pointer}.planner-bar{margin-bottom:12px}.planner-bar-top{display:flex;justify-content:space-between;font-size:0.85rem;margin-bottom:5px}.planner-bar-amount{font-weight:700}.planner-savings-card{background:var(--lime-light);border-color:#bbf7a855}.planner-bottomline-card{border:2px solid var(--teal)}.planner-food-banner{border-radius:10px;padding:14px 16px;color:#fff}.planner-food-banner-title{font-size:1.05rem;font-weight:700}.planner-food-banner-sub{font-size:0.85rem;opacity:0.9;margin-top:4px}.planner-strike{color:var(--coral-ink);text-decoration:line-through;margin-right:6px}.planner-target{color:var(--lime-ink);font-weight:700}.celebrate-toast{position:fixed;top:18px;left:50%;transform:translate(-50%,-14px);background:var(--green);color:#fff;font-weight:700;padding:10px 20px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,0.18);opacity:0;transition:opacity 0.25s ease,transform 0.25s ease;z-index:999}.celebrate-toast.show{opacity:1;transform:translate(-50%,0)}.celebrate-burst{position:fixed;top:18px;left:50%;width:0;height:0;z-index:998;pointer-events:none}.confetti-piece{position:absolute;top:0;left:0;width:8px;height:8px;border-radius:2px;animation:confetti-burst 0.8s ease-out forwards}.task-steps-panel{margin-bottom:6px}.task-steps-list .inbox-item{padding:8px 12px}.task-steps-list .task-check{width:22px;height:22px}.inbox-item-text.done{text-decoration:line-through;color:var(--text-muted)}.focus-timer-panel{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:6px}.focus-timer-display{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.focus-timer-display.done{color:var(--coral-ink)}.checkbox-row[hidden]{display:none}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:0.85rem;color:var(--text-secondary);cursor:pointer}.inbox-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--text);padding:10px 12px;font-size:0.95rem;font-family:inherit}.inbox-input:focus{outline:2px solid var(--lime);outline-offset:1px}.inbox-list,.slipped-tasks-list{margin-top:10px}.inbox-item,.slipped-task-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:6px;flex-wrap:wrap}.inbox-item-text,.slipped-task-title{flex:1;min-width:140px}.slipped-task-sub{font-size:0.78rem;color:var(--text-muted);margin-top:2px}.inbox-item-actions,.slipped-task-actions{display:flex;gap:6px;flex-wrap:wrap}.calibration-row{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-top:10px;background:var(--bg)}.calibration-window-name{font-weight:600;font-size:0.85rem;margin-bottom:4px}.calibration-detail{font-size:0.85rem;color:var(--text-secondary);line-height:1.5}.calibration-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.calibration-coverage{font-size:0.78rem;color:var(--text-muted);margin-top:6px}.help-request-item{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--bg)}.help-request-title{font-weight:600;font-size:0.9rem}.help-request-sub{font-size:0.82rem;color:var(--text-secondary);margin-top:3px}.help-request-claimed{font-size:0.82rem;color:var(--teal-ink);margin-top:4px;font-weight:600}.help-request-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.focus-overlay{position:fixed;inset:0;z-index:900;background:var(--card);display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.focus-overlay[hidden]{display:none}.focus-overlay-inner{width:100%;max-width:520px;text-align:center}.capture-thumbnails{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.capture-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.capture-thumb img{width:100%;height:100%;object-fit:cover;display:block}.capture-thumb-doc{display:flex;align-items:center;justify-content:center;padding:6px;background:var(--hub-surface-soft, var(--bg))}.capture-thumb-doc-name{font-size:11px;line-height:1.2;text-align:center;color:var(--hub-muted, var(--text-muted));word-break:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.capture-thumb-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;border:none;background:rgba(21,34,33,0.72);color:#fff;font-size:0.8rem;line-height:1;cursor:pointer;display:grid;place-items:center}.capture-review-image-group{margin-top:14px;border:1px solid var(--border);border-radius:14px;padding:12px 14px;background:var(--bg)}.capture-review-image-title{font-size:0.85rem;font-weight:700;color:var(--text-secondary);margin-bottom:8px}.capture-review-image-error{font-size:0.85rem;color:var(--red-ink)}.capture-proposal-row{display:flex;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:6px}.capture-proposal-row input[type=checkbox]{margin-top:3px;flex-shrink:0}.capture-proposal-label{flex:1;min-width:0}.capture-proposal-kind{display:inline-block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;color:var(--teal-ink);margin-bottom:2px}.capture-proposal-title{font-weight:600}.capture-proposal-title-input{display:block;width:100%;min-height:38px;padding:4px 8px;margin-left:-8px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;font-weight:600}.capture-proposal-title-input:hover{border-color:var(--border)}.capture-proposal-title-input:focus-visible{border-color:var(--teal-ink);outline:2px solid var(--teal-ink);outline-offset:1px}.capture-proposal-row.is-skipped{opacity:0.6}.capture-proposal-row.is-skipped .capture-proposal-title-input{text-decoration:line-through}.capture-proposal-row input[type=checkbox]{width:22px;height:22px}.capture-proposal-sub{font-size:0.8rem;color:var(--text-muted)}.capture-proposal-series{display:inline-block;margin-top:4px;padding:2px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:0.75rem;font-weight:700}.capture-proposal-length{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:8px;font-size:0.9rem}.capture-proposal-length-label{flex-basis:100%}.capture-proposal-length-part{display:inline-flex;align-items:center;gap:4px;margin-right:6px;white-space:nowrap}.capture-proposal-row .capture-proposal-length .capture-proposal-length-input{flex:0 0 auto;width:3em;min-width:0;max-width:3em;min-height:44px;padding:6px;appearance:textfield;text-align:center;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:inherit;font-size:1rem}.capture-proposal-row .capture-proposal-length .capture-proposal-length-input::-webkit-inner-spin-button,.capture-proposal-row .capture-proposal-length .capture-proposal-length-input::-webkit-outer-spin-button{margin:0;appearance:none}.capture-review-actions{margin-top:12px}@keyframes confetti-burst{0%{transform:translate(0,0) rotate(0deg);opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 60px)) rotate(var(--rot));opacity:0}}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--lime, var(--tl-0f9488));outline-offset:2px;border-radius:4px}@media(prefers-contrast:more){:root{--border: #152221;--text-muted: #152221}.card,.view-header,input,select,textarea,.btn,.swap-toggle-btn,.tab-btn,.subtab-btn{border-color:currentColor}.notifications-note,.today-tasks-sub,.gauge-sub,.grocery-item-amount{color:var(--text-muted)}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-width:4px}}.offline-banner{position:sticky;top:0;z-index:60;padding:9px 16px;background:#a8431b;color:#fff;font-size:0.86rem;font-weight:600;line-height:1.4;text-align:center}.refill-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.refill-row:last-child{border-bottom:none}.refill-name{font-weight:650}.refill-who{font-weight:500;color:var(--text-muted)}.refill-when{flex-shrink:0;font-size:0.85rem;font-weight:650;color:var(--text-muted);font-variant-numeric:tabular-nums}.refill-row.is-overdue .refill-when{color:#a5352a}.danger-zone{border:1px solid color-mix(in srgb,var(--red) 42%,transparent);background:color-mix(in srgb,var(--red) 5%,transparent);border-radius:12px;padding:14px 16px}.danger-zone-title{margin:0 0 6px;font-size:0.95rem;color:var(--red-ink)}.danger-zone summary::-webkit-details-marker{display:none}.danger-zone summary{list-style:none}.danger-zone label{font-size:0.82rem;font-weight:600;color:var(--text-secondary)}.danger-zone input{width:100%;margin-top:5px;font-weight:400}.danger-phrase{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:0.95em;background:var(--card-bg, #fff);border:1px solid color-mix(in srgb,var(--red) 30%,transparent);border-radius:5px;padding:1px 5px;color:var(--red-ink)}.billing-plan{border:1px solid var(--border, rgba(0, 0, 0, 0.12));border-radius:12px;padding:10px 12px 12px;margin:10px 0 0}.billing-plan .billing-plan-buttons{flex-wrap:wrap;gap:10px;justify-content:flex-start}.leave-ask{border:1px solid var(--border, rgba(0, 0, 0, 0.12));border-radius:12px;padding:10px 12px 12px;margin:4px 0 0;display:grid;gap:8px}.leave-ask[hidden]{display:none}.leave-ask legend{font-weight:600;padding:0 4px}.leave-ask label{display:grid;gap:4px}.leave-ask select,.leave-ask textarea{width:100%}.leave-optional{font-weight:400;opacity:0.75}.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red-ink);border-color:var(--red-ink)}.btn-danger:disabled{opacity:0.6}.family-member-relationship-input{flex:1 1 130px;min-width:0}.family-member-supervised{display:inline-flex;align-items:center;gap:6px;font-size:0.84rem;color:var(--ink-secondary, var(--text-secondary));white-space:nowrap;cursor:pointer}.task-categories-list{display:flex;flex-direction:column;gap:6px}.task-category-row{display:flex;align-items:center;gap:10px}.task-category-swatch{width:12px;height:12px;flex:0 0 12px;border-radius:3px;background:var(--accent, #65615f)}.task-category-name{flex:1;min-width:0;font-size:0.92rem}.swap-option-back{font-weight:600;opacity:0.75}.meal-slots-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 12px}.meal-slot-row{display:flex;align-items:center;gap:7px;font-size:0.9rem;cursor:pointer}.tonight-task-slipped{margin-top:2px;font-size:0.78rem;color:var(--ink-muted, var(--text-muted))}.plan-banner{position:sticky;top:env(safe-area-inset-top,0px);z-index:61;padding:10px 16px;font-size:0.86rem;line-height:1.45;text-align:center;color:#fff}.plan-banner strong{font-weight:700}.plan-banner.is-ending{background:#a8431b}.plan-banner.is-ended{background:#8c2f22}.plan-banner.is-read-only{background:var(--teal-ink)}body[data-access-closed=true] .view,body[data-access-closed=true] .tabbar{display:none}.access-closed-panel{max-width:34rem;margin:48px auto;padding:28px 26px;background:var(--card, #fff);border:1px solid var(--border, #dbe4e3);border-radius:16px;text-align:left}.access-closed-panel h2{margin:0 0 10px;font-size:1.15rem}.access-closed-panel p{margin:0 0 14px;line-height:1.6}.access-closed-panel p:last-of-type{margin-bottom:20px}.access-closed-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.household-type-grid{display:grid;gap:9px;margin-top:8px}.household-type{display:block;width:100%;padding:13px 15px;border:1px solid var(--border);border-radius:14px;background:var(--card, #fff);font:inherit;text-align:left;cursor:pointer;transition:border-color 0.12s ease,background 0.12s ease}.household-type:hover{border-color:var(--teal)}.household-type.is-selected{border-color:var(--teal);background:var(--teal-soft, color-mix(in srgb, var(--tl-0f9488) 10%, transparent));box-shadow:inset 0 0 0 1px var(--teal)}.household-type-title{display:block;font-size:0.98rem;font-weight:700}.household-type-sub{display:block;margin-top:2px;font-size:0.84rem;line-height:1.4;color:var(--text-secondary)}.household-type:focus-visible{outline:2px solid var(--teal);outline-offset:2px}body[data-read-only=true] .household-type.is-selected{filter:none}body[data-read-only=true] .access-closed-actions .btn-primary,body[data-read-only=true] .cove-resting-actions .btn,body[data-read-only=true] #billing-settings-body .btn,body[data-read-only=true] #billing-settings-body .swap-toggle-btn,body[data-read-only=true] .plan-banner-action{opacity:1;cursor:pointer;filter:none}.access-closed-actions a.btn{display:inline-flex;align-items:center;background:transparent;border:1.5px solid var(--border, #dbe4e3);color:inherit;text-decoration:none}.access-closed-actions a.btn:hover{background:rgba(0,0,0,0.04)}.plan-banner-action,.plan-banner-dismiss{min-height:32px;border-radius:999px;border:1.5px solid rgba(255,255,255,0.75);background:transparent;color:#fff;font:inherit;font-weight:700;cursor:pointer}.plan-banner-action{padding:0 14px}.plan-banner-action:hover,.plan-banner-dismiss:hover{background:rgba(255,255,255,0.16)}.plan-banner-action:focus-visible,.plan-banner-dismiss:focus-visible{outline:2px solid #fff;outline-offset:2px}.plan-banner-dismiss{position:absolute;top:50%;right:10px;transform:translateY(-50%);min-width:32px;line-height:1;font-size:1.05rem}.plan-banner:has(.plan-banner-dismiss){padding-right:52px}body[data-read-only=true] .btn-primary,body[data-read-only=true] button[type=submit],body[data-read-only=true] [data-write]{opacity:0.45;cursor:not-allowed;filter:grayscale(0.4)}body[data-read-only=true] .task-check{opacity:0.5;cursor:not-allowed}.cove-chest-child{display:grid;gap:10px;padding:8px 0}.cove-chest-child+.cove-chest-child{border-top:1px solid var(--border)}.cove-chest-lede{margin:0}.cove-chest-chips{display:flex;flex-wrap:wrap;gap:8px}.cove-chest-chip{min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface, #fff);color:inherit;font:inherit;font-weight:600;cursor:pointer}.cove-chest-chip:hover{border-color:var(--primary, var(--tl-0f766e))}.cove-chest-own{display:flex;gap:8px}.cove-chest-own input{flex:1;min-width:0}.cove-chest-skip{margin-top:8px}.cove-chest-give,.cove-chest-pending{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.grocery-add-form{margin-top:16px}.grocery-add-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.grocery-add-row input[type=text]{flex:1 1 180px;min-width:0}.grocery-add-row select{flex:0 1 150px}.grocery-remove-btn{border:0;background:transparent;color:var(--text-soft, #586866);font-size:1.3rem;line-height:1;padding:2px 8px;border-radius:999px;cursor:pointer;flex-shrink:0}.grocery-remove-btn:hover{background:var(--border);color:var(--text, #152221)}.grocery-remove-btn:focus-visible{outline:2px solid var(--brand-color, var(--tl-2f6f5e));outline-offset:2px}.offline-banner.outbox-note{background:var(--teal-soft, var(--tl-e2f1ee));color:var(--teal-ink, var(--tl-0b5e55));border-bottom:1px solid currentColor}.schedule-item-pic{font-size:1.15rem;line-height:1;margin-right:6px}.picture-picker{display:grid;gap:8px;margin-bottom:8px}.picture-picker-now{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.picture-picker-preview{font-size:2rem;line-height:1;min-width:2.4rem;text-align:center}.picture-picker-note{font-size:0.85rem;color:var(--text-muted);flex:1 1 auto}.picture-picker-auto,.picture-picker-choice{min-height:44px;border:1px solid var(--border);border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}.picture-picker-auto{padding:6px 12px;font-size:0.85rem;font-weight:600}.picture-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px}.picture-picker-choice{min-width:44px;font-size:1.35rem;line-height:1;padding:4px}.picture-picker-auto[aria-pressed=true],.picture-picker-choice[aria-pressed=true]{border:2px solid var(--teal-ink);box-shadow:inset 0 0 0 1px var(--teal-ink)}.picture-picker-auto:focus-visible,.picture-picker-choice:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}.picture-picker-custom{max-width:14rem}.household-pack-btn{margin-top:8px}.meal-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.meal-rating-label{font-size:0.85rem;color:var(--text-muted);margin-right:4px}.meal-rating-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1px solid var(--border);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:0.9rem;cursor:pointer}.meal-rating-btn[aria-pressed=true]{border:2px solid var(--teal-ink);font-weight:600}.meal-rating-btn:focus-visible{outline:2px solid var(--teal-ink);outline-offset:2px}.meal-rating-tag{margin-left:6px;font-size:0.95em}.meal-card.is-disliked .meal-title{opacity:0.6}.meal-source-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--teal-ink);font-weight:600}.meal-source-host{font-weight:400;color:var(--text-muted);margin-left:4px}.cv-focus-music{display:grid;justify-items:center;gap:8px;margin:12px auto 0;max-width:26rem}.cv-focus-music-play{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.cv-focus-music-form{display:grid;gap:8px;width:100%}.cv-focus-music-label{font-size:0.85rem;color:var(--text-muted);text-align:center}.cv-focus-music-form[hidden],.cv-focus-music-play[hidden]{display:none}.meal-ideas-packs{margin:10px 0 4px}.meal-ideas-list{list-style:none;margin:8px 0 12px;padding:0;display:grid;gap:4px}.meal-ideas-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card);cursor:pointer}.meal-ideas-item input{width:20px;height:20px;flex:0 0 auto}.meal-ideas-name{flex:1 1 auto;min-width:0}.meal-ideas-meta{color:var(--text-secondary);font-size:0.8rem;white-space:nowrap}.meal-ideas-actions{justify-content:flex-start}.daytype-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:4px 0 12px;border-radius:999px;background:var(--bg);border:1px solid var(--border)}.daytype-btn{min-height:40px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-weight:700;cursor:pointer}.daytype-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.12)}.daytype-btn small{font-weight:500;margin-left:4px}.help-desk-form{display:grid;gap:8px;max-width:520px}.help-desk-form textarea{width:100%;min-height:8em;resize:vertical;font:inherit}.help-desk-form select,.help-desk-form input{width:100%}.help-desk-label{font-weight:700;margin-top:6px}.cv-dump-routine{margin-top:4px;display:grid;gap:6px;justify-items:start}.rt-capture{display:flex;gap:8px;align-items:stretch;margin:0 0 6px}.rt-capture-input{flex:1;min-width:0;min-height:44px;resize:none;padding:10px 12px;border:1px solid var(--cv-line, rgba(0, 0, 0, 0.12));border-radius:12px;font:inherit}.rt-capture-btn{flex:none}.rt-daytype-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.cv-loading{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 24px 96px;background:#ffffff;color:var(--accent-ink);text-align:center;transition:opacity 0.2s ease}.cv-loading[hidden]{display:none}.cv-loading img{width:120px;height:auto}.cv-loading-text{margin:0;color:var(--accent-ink);font-family:var(--font-display);font-size:1.2rem;font-weight:700}.cv-loading.is-leaving{opacity:0}@media(prefers-reduced-motion:reduce){.cv-loading{transition:none}}html[data-cove-appearance=dark] .cv-loading,body[data-hub-appearance=dark] .cv-loading{background:var(--cove-night-page)}html[data-cove-appearance=dark] .cv-loading .cv-loading-text,body[data-hub-appearance=dark] .cv-loading .cv-loading-text{color:var(--tl-5cc9bd)}@media(prefers-color-scheme:dark){html:not([data-cove-appearance=light]) body:not([data-hub-appearance=light]) .cv-loading{background:var(--cove-night-page)}html:not([data-cove-appearance=light]) body:not([data-hub-appearance=light]) .cv-loading .cv-loading-text{color:var(--tl-5cc9bd)}}
