:root{color:#18211f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#fffdf8;--paper-strong:#fff;--ink:#18211f;--muted:#68726d;--line:#ded8ca;--green:#4f6f52;--green-soft:#e8f0e3;--blue:#426a87;--blue-soft:#e6eef3;--coral:#b65a4b;--coral-soft:#f5e6e1;--gold:#a87926;--gold-soft:#f6ecd6;--plum:#9b5f7c;--shadow:0 18px 50px #352f231f;background:#f5f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#e8f0e3b8,#f5f2eae6 340px),#f5f2ea;margin:0}button,input,select,textarea{font:inherit}button{border:0}.app-shell{min-height:100vh}.auth-page{background:linear-gradient(#e8f0e3bd,#f5f2eaf0),#f5f2ea;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--paper);border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);border-radius:8px;padding:30px}.auth-mark{color:#fff;background:var(--blue);border-radius:8px;place-items:center;width:48px;height:48px;margin-bottom:18px;font-weight:900;display:grid}.auth-panel h1,.auth-panel p{margin:0}.auth-panel h1{font-size:2rem;line-height:1}.auth-panel p{color:var(--muted);margin-top:10px;line-height:1.45}.auth-form{gap:10px;margin-top:22px;display:grid}.auth-mode-tabs{background:#ebe5d8;border:1px solid #ded8caf2;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-height:42px;margin-top:22px;padding:4px;display:grid}.auth-mode-tabs button{color:#36413d;cursor:pointer;background:0 0;border-radius:6px;min-width:0;min-height:34px;padding:7px 8px;font-size:.86rem;font-weight:800}.auth-mode-tabs button.active{color:var(--ink);background:var(--paper-strong);box-shadow:0 4px 14px #3d352621}.auth-form label{text-transform:uppercase;font-size:.84rem;font-weight:900}.auth-form input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.auth-status,.auth-error,.auth-help{border-radius:8px;padding:10px 12px;font-weight:800}.auth-status{background:var(--green-soft);color:#304f34!important}.auth-error{background:var(--coral-soft);color:#793a30!important}.auth-help{background:#f4efe4;color:#50625b!important}.auth-forgot{color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:10px auto 0;font-size:.85rem;text-decoration:underline;display:block}.auth-forgot:hover{color:var(--text)}.auth-full-button{width:100%;margin-top:18px}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;border-bottom:1px solid #ded8cac7;position:sticky;top:0}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(16px,3vw,36px);display:flex}.topbar-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.user-switcher-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:36px;padding:0 10px 0 6px;font-size:.82rem;font-weight:700;transition:border-color .15s;display:inline-flex}.user-switcher-btn:hover{border-color:var(--text)}.user-switcher-overlay{z-index:300;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.user-switcher-modal{background:var(--surface);border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:28px 24px 20px;display:flex;box-shadow:0 16px 48px #0003}.user-switcher-label{color:var(--text);text-align:center;margin:0;font-size:1rem;font-weight:700}.user-switcher-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.user-switcher-member{background:var(--bg,#f5f7f2);cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;font-size:.85rem;font-weight:600;transition:background .1s,border-color .1s;display:flex}.user-switcher-member:hover{background:var(--hover,#0000000f)}.user-switcher-member.active{border-color:var(--text)}.user-switcher-reset{border:1px solid var(--line);cursor:pointer;width:100%;color:var(--muted);background:0 0;border-radius:10px;padding:10px;font-size:.88rem;font-weight:700}.user-switcher-reset:hover{color:var(--text)}.user-switcher-family{border:1px solid var(--line);cursor:pointer;width:100%;color:var(--muted);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:.88rem;font-weight:700;display:inline-flex}.user-switcher-family:hover{color:var(--text)}.user-switcher-close{background:var(--text);width:100%;color:var(--surface);cursor:pointer;border:none;border-radius:10px;padding:10px;font-size:.88rem;font-weight:700}.signout-button{white-space:nowrap;color:#1f3830;border:1px solid var(--line);cursor:pointer;background:#fffdf8;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:8px 11px;font-size:.86rem;font-weight:800;display:inline-flex}.signout-corner{z-index:100;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;opacity:.6;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;transition:opacity .15s;display:inline-flex;position:fixed;top:8px;right:12px}.signout-corner:hover{opacity:1}.brand{align-items:center;gap:12px;min-width:220px;display:flex}.brand h1,.brand p,.view-header h2,.meal-panel h2,.recipe-heading h2,.print-root h1,.print-root h2,.print-root h3{margin:0}.brand h1{font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.05}.brand p{color:var(--muted);margin-top:4px;font-size:.92rem}.brand-mark-wrapper{flex-shrink:0;position:relative}.brand-mark{color:#fff;cursor:pointer;background:#426a87;border:none;border-radius:8px;place-items:center;width:46px;height:46px;display:grid}.brand-menu{z-index:300;background:var(--paper);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;min-width:160px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0000001f}.brand-menu button{cursor:pointer;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:9px 12px;font-size:.9rem;font-weight:700;display:flex}.brand-menu button:hover{background:var(--blue-soft)}.brand-menu-backdrop{z-index:299;position:fixed;inset:0}.segmented{background:#ebe5d8;border:1px solid #ded8caf2;border-radius:8px;grid-auto-columns:minmax(108px,1fr);grid-auto-flow:column;gap:4px;min-height:44px;padding:4px;display:inline-grid}.segmented button{color:#36413d;cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;display:inline-flex}.segmented button:hover,.segmented button:focus-visible{background:#ffffff94}.segmented button.active{color:var(--ink);background:var(--paper-strong);box-shadow:0 4px 14px #3d352621}.segmented.small{grid-auto-columns:minmax(98px,1fr);min-height:40px}.segmented.small button{min-height:32px;padding-inline:10px}.main-content{width:min(1240px,100% - 32px);margin:0 auto;padding:28px 0 48px}.birthday-banner{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.birthday-banner-item{background:color-mix(in srgb, var(--surface) 85%, transparent);border-left:4px solid;border-radius:10px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 1px 4px #0000000f}.birthday-banner-cake{font-size:1.4rem;line-height:1}.birthday-banner-text{color:var(--text);font-size:1rem}.home-greeting{padding:4px 0 20px}.home-greeting-text{letter-spacing:-.02em;color:var(--text);font-size:1.5rem;font-weight:700}.home-meal-banner{background:var(--card);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.home-meal-banner-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;min-width:0;padding:0}.home-meal-banner-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:5px;margin-bottom:3px;font-size:.72rem;display:flex}.home-meal-banner-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}.dinner-presence-trigger{background:var(--surface);border:1.5px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:6px 12px;font-size:.78rem}.dinner-presence-modal{border-radius:var(--radius);background:#fffdf8;flex-direction:column;gap:16px;width:min(95vw,480px);max-height:90vh;padding:20px;display:flex;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.dinner-presence-widget{background:var(--surface);border-radius:var(--radius);margin-bottom:0;padding:14px}.dinner-presence-grid{grid-template-columns:auto repeat(7,36px);align-items:center;gap:4px 2px;display:grid;overflow-x:auto}.dinner-presence-day-header{color:var(--muted);text-transform:capitalize;flex-direction:column;align-items:center;padding-bottom:4px;font-size:.65rem;line-height:1.2;display:flex}.dinner-presence-day-header.today span{color:var(--accent,#6a7fd4);font-weight:700}.dinner-presence-person{white-space:nowrap;align-items:center;gap:6px;height:36px;padding-right:8px;font-size:.82rem;display:flex}.dinner-presence-cell{justify-content:center;align-items:center;display:flex}.dinner-presence-toggle{border:2px solid var(--muted);cursor:pointer;background:0 0;border-radius:50%;width:28px;height:28px;padding:0;transition:background .15s,border-color .15s}.dinner-presence-toggle.eating{border-color:#0000}.dinner-presence-toggle.leftovers{color:#8a6535;background:#f5eada;border-color:#b8956a;justify-content:center;align-items:center;display:flex}.dinner-presence-count-label{color:var(--muted);border-top:1px solid var(--border);padding-top:4px;font-size:.75rem;font-weight:600}.dinner-presence-count{border-top:1px solid var(--border);color:var(--text);padding-top:4px;font-size:.82rem}.dinner-presence-count.today strong{color:var(--accent,#6a7fd4)}.home-day-selector{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.home-day-selector button{color:#36413d;cursor:pointer;text-align:center;background:#fffdf8eb;border:1px solid #ded8cae6;border-radius:8px;align-content:center;gap:4px;min-width:0;min-height:58px;padding:9px 10px;display:grid;box-shadow:0 10px 30px #352f2314}.home-day-selector button:hover,.home-day-selector button:focus-visible{background:#fffdf8;transform:translateY(-1px)}.home-day-selector button.active{color:var(--ink);background:var(--green-soft);border-color:#4f6f524d}.home-day-selector strong,.home-day-selector span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-day-selector strong{font-size:.93rem}.home-day-selector span{color:var(--muted);font-size:.8rem;font-weight:850}.today-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.92fr);align-items:start;gap:18px;display:grid}.panel{box-shadow:var(--shadow);background:#fffdf8eb;border:1px solid #ded8cae0;border-radius:8px}.meal-panel,.tasks-panel,.adapt-panel,.calendar-panel,.milestone-panel,.recipe-panel,.recipe-nav,.view-stack>.panel,.two-column>.panel,.together-layout>.panel,.together-side>.panel{padding:clamp(18px,2.2vw,26px)}.meal-panel{grid-row:span 3}.today-grid.home-grid .calendar-panel{grid-column:1/-1}.today-grid.home-grid .meal-panel{grid-area:2/2/span 3}.today-grid.home-grid .home-meal-panel{grid-area:2/2;padding:16px 18px}.today-grid.home-grid .home-meal-panel h2{margin:4px 0 2px;font-size:clamp(1rem,1.6vw,1.25rem)}.today-grid.home-grid .home-chore-panel{grid-area:2/1/span 3}.today-grid.home-grid .home-goal-panel{grid-column:2}.home-chore-panel{padding:clamp(18px,2.2vw,24px)}.home-chore-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.home-chore-done-count{color:var(--muted,#6b7a6e);margin-top:2px;font-size:.85rem;display:block}.home-chore-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.home-chore-filter{align-items:center;gap:6px;display:flex}.home-chore-filter-label{letter-spacing:.07em;color:#5a6e60;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:900}.home-chore-filter-select{font:inherit;color:#2e4033;cursor:pointer;background:#eef4ec;border:1px solid #4f6f5247;border-radius:7px;padding:5px 10px;font-size:.86rem;font-weight:600}.chore-tab-bar{background:#f0ebe0;border-radius:10px;gap:4px;margin-bottom:10px;padding:4px;display:flex}.chore-tab{font:inherit;color:#5a6e60;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:.84rem;font-weight:600;transition:background .15s,color .15s;display:flex}.chore-tab.active{color:#2b3a2e;background:#fff;box-shadow:0 1px 3px #00000014}.chore-tab:hover:not(.active){background:#ffffff80}.chore-tab-count{color:#fff;background:#4f6f52;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:800;display:inline-flex}.chore-tab.active .chore-tab-count{background:#4f6f52}.chore-tab-content{margin-bottom:14px}.home-chore-focus-list{flex-direction:column;gap:5px;display:flex}.home-chore-focus-row{background:#fff;border:1px solid #ded8cab3;border-radius:10px;align-items:center;gap:10px;padding:10px 10px 10px 8px;transition:opacity .2s;display:flex}.home-chore-focus-row.done{opacity:.45}.home-chore-focus-check{cursor:pointer;color:#4f6f52;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.home-chore-focus-check:hover{background:#4f6f521a}.home-chore-focus-row.done .home-chore-focus-check{color:#7a9a80}.home-chore-focus-text{flex:1;min-width:0}.home-chore-focus-text strong{color:#2b3a2e;font-size:.9rem;font-weight:700;line-height:1.3;display:block}.home-chore-focus-row.done .home-chore-focus-text strong{color:#7a9a80;text-decoration:line-through}.home-chore-focus-text small{color:var(--muted,#6b7a6e);margin-top:2px;font-size:.76rem;display:block}.home-chore-focus-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.home-chore-action-btn{cursor:pointer;color:#8a9a8d;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.home-chore-action-btn.active{color:var(--gold)}.home-chore-action-btn:hover{background:var(--blue-soft);color:var(--blue)}.home-chore-action-btn.skip:hover{background:var(--coral-soft);color:var(--coral)}.home-chore-focus-empty{color:var(--muted,#6b7a6e);margin:0;font-size:.82rem;font-style:italic}.home-chore-header h2{margin:0;font-size:clamp(1.32rem,2.3vw,2rem)}.home-chore-progress{background:var(--green-soft);border:1px solid #4f6f5233;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 12px;display:flex}.home-chore-progress strong,.home-chore-progress span{display:block}.home-chore-progress strong{color:#304f34;text-transform:uppercase;font-size:.78rem}.home-chore-progress span{color:#40544a;margin-top:2px;font-size:.88rem;font-weight:750}.text-action{color:#304f34;font:inherit;cursor:pointer;text-align:right;background:0 0;border:0;padding:0;font-size:.84rem;font-weight:900}.text-action:hover{text-decoration:underline}.pinned-chores{margin-bottom:16px}.pinned-chores h3{color:#5a6e60;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;margin:0 0 10px;font-size:.88rem;font-weight:700;display:flex}.pinned-chore-list{flex-direction:column;gap:6px;display:flex}.pinned-chore-item{background:#f4efe4;border:1px solid #ded8cacc;border-radius:10px;align-items:center;gap:6px;transition:opacity .2s;display:flex;overflow:hidden}.pinned-chore-item.done{opacity:.55}.pinned-chore-btn{cursor:pointer;color:#34413c;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:10px 12px;font-size:.93rem;font-weight:600;display:flex}.pinned-chore-btn:hover{background:#4f6f5214}.pinned-chore-item.done .pinned-chore-btn{color:#7a9a80;text-decoration:none}.pinned-chore-count{background:var(--green);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;margin-left:auto;font-size:.8rem;font-weight:900;display:inline-flex}.pinned-chore-plus{cursor:pointer;color:#4f6f52;background:#eef6ea;border:none;border-left:1px solid #4f6f5233;align-items:center;padding:10px;font-size:1rem;font-weight:900;display:flex}.pinned-chore-plus:hover{background:#d8edda}.pinned-chore-edit{cursor:pointer;color:#8a9a8d;background:0 0;border:none;border-left:1px solid #ded8ca99;padding:10px}.pinned-chore-edit:hover{color:#4f6f52;background:#4f6f520f}.home-chore-grid{grid-template-columns:1fr;gap:12px;display:grid}.home-points-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.today-grid.home-grid .home-points-grid{grid-template-columns:1fr}.home-chore-column,.home-points-column{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:13px;display:grid}.home-chore-column h3,.home-points-column h3,.home-chore-row strong,.home-chore-row small,.home-points-row strong,.home-points-row em{margin:0}.home-chore-column h3{align-items:center;gap:8px;font-size:1rem;display:flex}.home-chore-list,.home-points-list{gap:7px;display:grid}.home-chore-row{background:#fffdf8;border:1px solid #ded8cab8;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.home-chore-check,.chore-check-button{color:#304f34;background:var(--green-soft);cursor:pointer;border:1px solid #4f6f5247;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid}.home-chore-check:hover,.chore-check-button:hover{transform:translateY(-1px)}.home-chore-row strong{overflow-wrap:anywhere;font-size:.92rem;line-height:1.25;display:block}.home-chore-row small{color:var(--muted);margin-top:3px;line-height:1.25;display:block}.home-chore-detail{color:#34413c;margin-top:8px;font-size:.84rem;font-style:normal;font-weight:650;line-height:1.35;display:block}.home-chore-row>span{color:#304f34;white-space:nowrap;font-size:.78rem;font-weight:900}.home-chore-actions{justify-content:flex-end;gap:2px;display:inline-flex}.home-chore-edit,.home-chore-remove{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:inline-grid}.home-chore-edit{color:#264a62}.home-chore-remove{color:#8a2f24}.home-chore-edit:hover,.home-chore-edit:focus-visible{background:#e6eff4}.home-chore-remove:hover,.home-chore-remove:focus-visible{background:#f4e5df}.home-points-ranking{border-top:1px solid #ded8cad1;gap:10px;margin-top:12px;padding-top:12px;display:grid}.home-points-summary{cursor:pointer;gap:8px;list-style:none;display:grid}.home-points-summary::-webkit-details-marker{display:none}.home-points-summary-label{color:#50625b;text-transform:uppercase;align-items:center;gap:8px;font-size:.83rem;font-weight:900;display:inline-flex}.home-points-chips{flex-wrap:wrap;gap:6px;display:flex}.home-points-chip{color:#304f34;background:var(--green-soft);border:1px solid #4f6f522e;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:5px 8px;font-size:.78rem;font-weight:850;display:inline-flex}.home-points-chip strong{color:var(--ink);font-size:.76rem}.home-points-ranking[open] .home-points-grid{margin-top:2px}.home-points-row-wrap{border:1px solid #ded8cab8;border-radius:7px;overflow:hidden}.home-points-row-wrap[open] .home-points-row{border-bottom:1px solid #ded8cab8;border-radius:7px 7px 0 0}.home-points-row{cursor:pointer;background:#fffdf8;grid-template-columns:30px auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 9px;list-style:none;display:grid}.home-points-tasks{background:#fffdf8;margin:0;padding:0;list-style:none}.home-points-tasks li{border-top:1px solid #ded8ca80;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px 5px 42px;font-size:.82rem;display:flex}.home-points-tasks li em{color:#304f34;white-space:nowrap;font-style:normal;font-weight:700}.home-points-row span{color:#fff;background:var(--blue);border-radius:999px;place-items:center;width:24px;height:24px;font-size:.8rem;font-weight:900;display:inline-grid}.home-points-row em{color:#304f34;white-space:nowrap;font-style:normal;font-weight:900}.section-kicker{color:#50625b;letter-spacing:0;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:12px;font-size:.83rem;font-weight:800;display:inline-flex}.meal-panel h2,.recipe-heading h2,.view-header h2{overflow-wrap:anywhere;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.08}.tag-row,.tag-mini-row{flex-wrap:wrap;gap:8px;display:flex}.tag-row{margin-top:16px}.tag-row.compact{gap:6px;margin-top:10px}.tag,.tag-mini-row i,.status-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;font-size:.78rem;font-style:normal;font-weight:800;display:inline-flex}.tag{color:#28302d;background:#ede7dc;padding:5px 9px}.tag-rask,.tag-rest{background:var(--green-soft);color:#304f34}.tag-bruk_opp{background:var(--gold-soft);color:#6a4811}.tag-fisk{background:var(--blue-soft);color:#264a62}.tag-grill,.tag-mexicansk{background:var(--coral-soft);color:#793a30}.tag-pizza{color:#683f55;background:#efe5ec}.meal-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.meal-meta span{color:#34413c;text-align:center;background:#f4efe4;border:1px solid #ded8cad6;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:48px;padding:10px;font-size:.92rem;font-weight:700;display:inline-flex}.source-line{color:#394640;flex-wrap:wrap;align-items:center;gap:6px;margin:0;line-height:1.4;display:flex}.source-link{color:var(--blue);align-items:center;gap:5px;font-weight:800;text-decoration:none;display:inline-flex}.source-link:hover{text-decoration:underline}.home-meal-meta{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.home-meal-meta span{color:#34413c;background:#f4efe4;border:1px solid #ded8cad6;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:8px 10px;font-size:.88rem;font-weight:800;display:inline-flex}.home-meal-groceries{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;margin:18px 0;padding:14px}.home-meal-groceries h3{margin:0 0 9px;font-size:.95rem}.home-meal-groceries ul{gap:5px;margin:0;padding-left:20px;display:grid}.home-meal-groceries li{line-height:1.3}.home-meal-actions{margin-top:18px}.home-meal-groceries-toggle{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:2px;padding:4px 0;font-size:.8rem;display:inline-flex}.home-meal-chips{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.home-meal-chip{color:#3a4a3d;white-space:nowrap;background:#f0ebe0;border:1px solid #ded8cacc;border-radius:20px;padding:4px 10px;font-size:.82rem;font-weight:600}.home-meal-actions-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.home-meal-done{align-content:start;padding-block:16px}.home-meal-done h2{font-size:clamp(1.18rem,1.9vw,1.55rem)}.home-meal-compact{gap:10px;display:grid}.extra-recipe-list{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;gap:10px;margin-top:18px;padding:12px;display:grid}.extra-recipe-list.compact{margin-top:10px;padding:10px}.extra-recipe-heading{color:#42504a;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;font-weight:900;display:flex}.extra-recipe-heading span{color:#304f34;background:var(--green-soft);border-radius:999px;justify-content:center;align-items:center;min-width:26px;min-height:24px;font-size:.76rem;display:inline-flex}.extra-recipe-list>div:last-child{gap:7px;display:grid}.extra-recipe-row{background:#fffdf8;border:1px solid #ded8cab8;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.extra-recipe-row.done{background:var(--green-soft)}.extra-recipe-row strong,.extra-recipe-row small{margin:0;display:block}.extra-recipe-row strong{overflow-wrap:anywhere;font-size:.92rem;line-height:1.22}.extra-recipe-row small{color:var(--muted);margin-top:3px;font-size:.78rem;font-weight:750}.recipe-extra-panel{border-top:1px solid #ded8cae6;gap:12px;margin-top:24px;padding-top:18px;display:grid}.source-type{color:var(--muted);font-size:.86rem}.meal-rating{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:18px;padding:12px;display:grid}.meal-rating>div:first-child{gap:3px;min-width:0;display:grid}.meal-rating strong{color:#34413c;font-size:.92rem}.meal-rating span{color:var(--muted);font-size:.84rem;font-weight:800}.star-rating{align-items:center;gap:2px;display:inline-flex}.star-rating button{color:#a88a38;cursor:pointer;background:#fffdf8;border:1px solid #ded8caeb;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid}.star-rating button.active{color:#8a6412;background:var(--gold-soft)}.star-rating button.active svg{fill:currentColor}.star-rating button.half svg{fill:url(#half-star-gradient)}.home-meal-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:2px;display:flex}.home-meal-header>div:first-child{flex:1;min-width:0}.home-meal-header h2{margin:0}.home-meal-header-rating{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;padding-top:2px;display:flex}.meal-rating-persons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.meal-rating-person{color:var(--muted);align-items:center;gap:3px;font-size:.75rem;font-weight:700;display:flex}.rating-warning{color:#793a30;grid-column:1/-1;margin:0;font-size:.86rem;font-weight:800;line-height:1.35}.servings-control{align-items:center;gap:6px;display:inline-flex}.servings-btn{background:var(--paper-strong);cursor:pointer;color:#34413c;border:1px solid #ded8caeb;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.servings-btn:hover{background:#e8e2d6}.use-up{background:#f4efe4;border:1px solid #ded8cad1;border-radius:8px;margin:22px 0;padding:16px}.use-up h3,.grocery-group h3,.recipe-grid h3,.info-block h3{margin:0 0 10px;font-size:.96rem}.use-up div{flex-wrap:wrap;gap:8px;display:flex}.use-up span{background:var(--paper-strong);border:1px solid #ded8caeb;border-radius:6px;padding:6px 8px;font-size:.88rem;font-weight:700}.steps{gap:10px;margin:0;padding-left:23px;display:grid}.steps li{padding-left:4px;line-height:1.55}.meal-actions,.toolbar,.recipe-heading{align-items:center;gap:10px;display:flex}.meal-actions{flex-wrap:wrap;margin-top:24px}.primary-action,.secondary-action,.icon-text-button,.ghost-action{cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-weight:800;display:inline-flex}.primary-action:disabled,.secondary-action:disabled,.icon-text-button:disabled{opacity:.58;cursor:not-allowed}.primary-action{color:#fff;background:var(--green)}.primary-action.small,.secondary-action.small,.ghost-action.small,.icon-text-button.small{min-height:34px;padding:7px 10px;font-size:.84rem}.secondary-action{color:#1f3830;border:1px solid var(--line);background:#fffdf8}.ghost-action{color:#31423b;background:0 0;border:1px solid #ded8cae6}.primary-action.chosen{opacity:.78;cursor:default}.icon-text-button{color:#31423b;border:1px solid var(--line);background:#fffdf8;min-height:38px;padding:8px 11px}.icon-text-button.danger{color:#793a30;background:var(--coral-soft);border-color:#793a3038}.primary-action:hover,.secondary-action:hover,.ghost-action:hover,.icon-text-button:hover,.icon-button:hover,.week-row:hover,.month-row:hover,.recipe-nav button:hover,.task-row:hover{transform:translateY(-1px)}.primary-action:focus-visible,.secondary-action:focus-visible,.ghost-action:focus-visible,.icon-text-button:focus-visible,.icon-button:focus-visible,.week-row:focus-visible,.month-row:focus-visible,.recipe-nav button:focus-visible,.task-row:focus-visible,.segmented button:focus-visible{outline-offset:2px;outline:3px solid #426a8752}.icon-button{color:#1f3830;border:1px solid var(--line);cursor:pointer;background:#fffdf8;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.progress-line{color:var(--muted);gap:9px;margin-bottom:16px;font-size:.9rem;font-weight:800;display:grid}.progress-line div{background:#ebe5d8;border-radius:999px;height:9px;overflow:hidden}.progress-line i{background:var(--green);border-radius:inherit;height:100%;display:block}.task-list{gap:10px;display:grid}.task-row{width:100%;min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:24px 12px minmax(70px,.42fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px;transition:transform .15s,border-color .15s,background-color .15s;display:grid}.task-row.done{background:var(--green-soft);border-color:#4f6f5252}.task-row span:last-child{color:#46524d;overflow-wrap:anywhere;line-height:1.35}.person-dot{border-radius:999px;width:12px;height:12px;display:block}.accent-picker-list{flex-direction:column;gap:14px;display:flex}.accent-picker-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.accent-picker-name{min-width:90px;font-size:.9rem}.accent-palette{flex-wrap:wrap;gap:6px;display:flex}.accent-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;outline:none;width:26px;height:26px;transition:transform .1s,border-color .1s}.accent-swatch:hover:not(:disabled){transform:scale(1.2)}.accent-swatch.selected{border-color:var(--text);transform:scale(1.15)}.accent-swatch.taken{opacity:.28;cursor:not-allowed}.member-avatar{color:#fff;letter-spacing:-.02em;text-shadow:0 1px 2px #00000040;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.member-avatar-sm{width:22px;height:22px;font-size:10px}.member-avatar-md{width:28px;height:28px;font-size:12px}.member-avatar-lg{width:36px;height:36px;font-size:14px}.celebration-strip,.milestone-row,.event-row{border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.celebration-strip{color:#5d4218;background:var(--gold-soft);margin-top:14px;font-weight:800}.swap-note{color:#264a62;background:var(--blue-soft);border-radius:8px;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;font-weight:800;display:flex}.alternative-panel{background:#f7f3ea;border:1px solid #ded8cae6;border-radius:8px;gap:14px;margin-top:16px;padding:16px;display:grid}.alternative-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.alternative-panel h3,.alternative-row h4{margin:0}.alternative-panel-header p,.alternative-row p{color:var(--muted);margin:5px 0 0;line-height:1.4}.alternative-list{gap:10px;display:grid}.alternative-row{background:var(--paper-strong);border:1px solid #ded8cae6;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(132px,auto);gap:14px;padding:13px;display:grid}.alternative-row.selected{background:var(--green-soft);border-color:#4f6f5257}.alternative-actions{align-content:start;justify-items:end;gap:9px;display:grid}.alternative-actions>span{color:var(--muted);align-items:center;gap:6px;font-size:.88rem;font-weight:800;display:inline-flex}.adapt-panel dl{gap:14px;margin:0;display:grid}.adapt-panel div{gap:4px;display:grid}.adapt-panel dt{color:var(--muted);text-transform:uppercase;font-size:.82rem;font-weight:800}.adapt-panel dd{margin:0;line-height:1.45}.event-list,.milestone-list{gap:10px;display:grid}.event-row{background:var(--blue-soft)}.event-row small{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.78rem;font-weight:850}.event-row-avatars,.event-card-avatars{gap:0;display:flex}.event-row-avatars .member-avatar,.event-card-avatars .member-avatar{outline:2px solid var(--surface);margin-left:-4px}.event-row-avatars .member-avatar:first-child,.event-card-avatars .member-avatar:first-child{margin-left:0}.event-row strong{overflow-wrap:anywhere}.event-list.multi .event-row{grid-template-columns:22px 52px minmax(0,1fr);display:grid}.milestone-row{background:var(--gold-soft);font-weight:800}.muted{color:var(--muted);line-height:1.45}.view-stack{gap:18px;display:grid}.dinner-tabs{box-shadow:var(--shadow);background:#fffdf8eb;border:1px solid #ded8cae0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px;display:flex}.dinner-tabs .section-kicker{margin-bottom:0}.dinner-tabs .segmented{width:auto}.view-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.toolbar{flex-wrap:wrap;justify-content:flex-end}.menu-builder-panel{justify-content:space-between;align-items:center;gap:18px;padding:clamp(18px,2.2vw,24px);display:flex}.menu-builder-panel h3,.menu-builder-panel p{margin:0}.menu-builder-panel p{color:var(--muted);margin-top:6px;line-height:1.45}.legacy-meals-banner{color:#5a4000;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;padding:14px 16px;font-size:.93rem;font-weight:600;display:flex}.legacy-meals-banner span{flex:1;min-width:200px}.legacy-meals-banner .primary-action{white-space:nowrap;flex-shrink:0}.builder-status{color:#304f34;background:var(--green-soft);border-radius:8px;min-width:min(320px,100%);padding:12px 14px;font-weight:800;line-height:1.35}.builder-status.error{color:#793a30;background:var(--coral-soft)}.builder-status.wide{padding:14px 16px}.builder-actions{justify-items:end;gap:10px;display:grid}.week-table,.month-list{gap:8px;display:grid}.week-row,.month-row{width:100%;min-height:56px;color:var(--ink);text-align:left;background:#f7f3ea;border:1px solid #ded8cadb;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;display:grid}.week-row{cursor:default;grid-template-columns:64px 84px minmax(0,1fr) 76px 96px auto}.week-row-title{text-align:left;cursor:pointer;font:inherit;color:inherit;overflow-wrap:anywhere;background:0 0;border:none;padding:0}.week-row-title:hover{text-decoration:underline}.week-row.moving{background:#eef4f8;border-color:#7aadca}.week-move-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:.8rem}.week-move-cancel{color:#2d6282;cursor:pointer;white-space:nowrap;background:#eef4f8;border:1px solid #7aadca;border-radius:6px;padding:4px 10px;font-size:.8rem}.week-move-target{background:var(--green-soft);color:#2d5c39;cursor:pointer;white-space:nowrap;border:1px solid #5a9e6a;border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:700}.month-row{grid-template-columns:64px 84px minmax(0,1fr) minmax(120px,auto) 96px}.month-row.selected{background:var(--blue-soft);border-color:#426a8759}.week-row.unplanned,.month-row.unplanned{color:#5f6964;cursor:default;background:#f7f3ea94;border-style:dashed}.week-row.unplanned:hover,.month-row.unplanned:hover{transform:none}.week-row span:nth-child(3),.month-row>span:nth-child(3){overflow-wrap:anywhere}.status-pill{color:#6a4811;background:var(--gold-soft);justify-content:center;padding:5px 9px}.status-pill.done{color:#304f34;background:var(--green-soft)}.status-pill.open{color:#50625b;background:#ede7dc}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.plain-list{gap:10px;margin:0;padding-left:20px;line-height:1.45;display:grid}.check-list{list-style:square}.grocery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.grocery-group{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;align-content:start;gap:8px;min-height:100%;padding:14px;display:grid}.grocery-group label{align-items:start;gap:8px;line-height:1.35;display:flex}.grocery-group input{width:17px;height:17px;accent-color:var(--green);margin-top:2px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-tile{background:var(--paper);border:1px solid var(--line);min-height:108px;box-shadow:var(--shadow);border-radius:8px;align-content:center;gap:4px;padding:18px;display:grid}.stat-tile strong{color:var(--blue);font-size:2.2rem;line-height:1}.stat-tile span{color:var(--muted);font-weight:800}.tag-mini-row{justify-content:flex-end}.tag-mini-row i{color:#4d3d25;background:#ede7dc;padding:4px 7px}.recipe-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.recipe-nav{gap:8px;max-height:calc(100vh - 132px);display:grid;position:sticky;top:104px;overflow:auto}.recipe-nav button{width:100%;min-height:48px;color:var(--ink);cursor:pointer;text-align:left;background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.recipe-nav button.active{background:var(--blue-soft);border-color:#426a8761;font-weight:800}.recipe-nav button span{color:var(--muted);font-size:.85rem;font-weight:800}.recipe-nav .section-kicker{margin-bottom:6px}.recipe-nav-empty{color:var(--muted);margin:4px 0 0;line-height:1.4}.recipe-archive{border-top:1px solid #ded8cae6;margin-top:10px;padding-top:10px}.recipe-archive summary{min-height:38px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-weight:900;display:flex}.recipe-archive summary span{color:#31423b;background:#ede7dc;border-radius:999px;place-items:center;min-width:24px;height:24px;margin-left:auto;font-size:.78rem;display:inline-grid}.recipe-archive-list{gap:8px;margin-top:8px;display:grid}.recipe-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;padding-top:4px;display:flex}.recipe-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.recipe-menu-toolbar{background:#f7f3ea;border:1px solid #ded8cae6;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin:-4px 0 18px;padding:12px 14px;display:flex}.recipe-menu-toolbar>div:first-child{gap:2px;display:grid}.recipe-menu-toolbar span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.recipe-menu-toolbar strong{font-size:1.02rem}.recipe-menu-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.recipe-library-command{justify-content:space-between;align-items:flex-start;gap:18px;padding:clamp(18px,2.2vw,26px);display:flex}.recipe-library-command h2{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.08}.recipe-library-command p{max-width:680px;color:var(--muted);margin:8px 0 0;font-weight:700;line-height:1.45}.recipe-library-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.recipe-library-panel{gap:16px;padding:clamp(18px,2.2vw,26px);display:grid}.recipe-library-tabs{width:fit-content}.recipe-library-tabs button span{color:#31423b;background:#fffdf8d1;border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:.75rem;font-weight:900;display:inline-grid}.recipe-library-filter{justify-content:flex-start}.recipes-library-view .recipe-choice-list{max-height:none}.secondary-action.favorite-active{color:#624100;background:var(--gold-soft);border-color:#a879265c}.recipe-hub{background:#f7f3ea;border:1px solid #ded8cae6;border-radius:8px;gap:16px;margin-top:20px;padding:16px;display:grid}.recipe-change-modal{width:min(980px,100%);max-height:min(88vh,900px);padding:clamp(18px,2.2vw,24px);overflow:auto;box-shadow:0 28px 70px #1d252047}.recipe-edit-modal{width:min(900px,100%);max-height:min(88vh,900px);padding:clamp(18px,2.2vw,24px);overflow:auto;box-shadow:0 28px 70px #1d25204d}.recipe-hub-modal{background:0 0;border:0;margin-top:0;padding:0}.recipe-change-notice{color:#304f34;background:var(--green-soft);border:1px solid #4f6f5233;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:850;line-height:1.35;display:flex}.recipe-hub-header,.recipe-form-options,.recipe-import-actions,.recipe-shelf-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.recipe-import-actions{flex-wrap:wrap;justify-content:flex-start}.recipe-hub-header h3,.recipe-shelf h3,.recipe-choice-row h4{margin:0}.recipe-hub-header p,.recipe-choice-row p{color:var(--muted);margin:5px 0 0;line-height:1.4}.recipe-hub-header label,.recipe-filter-row label,.recipe-search,.recipe-draft-form label{color:#31423b;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.recipe-hub-header input,.recipe-filter-row select,.recipe-search input,.recipe-draft-form input,.recipe-draft-form select,.recipe-draft-form textarea{width:100%;color:var(--ink);border:1px solid var(--line);background:#fffdf8;border-radius:8px}.recipe-hub-header input,.recipe-filter-row select,.recipe-search input,.recipe-draft-form input,.recipe-draft-form select{min-height:42px;padding:9px 10px}.recipe-draft-form textarea{resize:vertical;min-height:94px;padding:10px}.recipe-hub-grid,.recipe-editor-grid,.recipe-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.recipe-form-row.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-shelf{align-content:start;gap:10px;min-width:0;display:grid}.recipe-choice-list{gap:9px;max-height:320px;display:grid;overflow:auto}.recipe-choice-row{background:var(--paper-strong);border:1px solid #ded8cae0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.recipe-choice-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.recipe-choice-row h4{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.recipe-search{border:1px solid var(--line);background:#fffdf8;border-radius:8px;grid-template-columns:16px minmax(160px,1fr);align-items:center;min-width:min(240px,100%);padding-left:10px}.recipe-search input{background:0 0;border:0}.recipe-filter-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.recipe-filter-row label{min-width:170px}.recipe-editor{background:var(--paper-strong);border:1px solid #ded8cae0;border-radius:8px;min-width:0;padding:12px}.recipe-editor summary{cursor:pointer;align-items:center;gap:8px;font-weight:900;display:flex}.recipe-draft-form{gap:12px;margin-top:14px;display:grid}.recipe-scan-panel,.recipe-document-panel{background:#f7f3ea;border:1px solid #ded8cae6;border-radius:8px;gap:12px;padding:12px;display:grid}.recipe-scan-panel{grid-template-columns:minmax(0,1fr) auto;align-items:center}.recipe-scan-panel strong{margin-bottom:4px;display:block}.recipe-scan-panel p,.recipe-parse-message{color:var(--muted);margin:0;line-height:1.4}.recipe-document-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-file-input input{min-height:0;padding:8px}.recipe-parse-message{background:var(--blue-soft);border-radius:8px;padding:10px 12px;font-weight:800}.recipe-notes-label{width:100%}.recipe-form-options{flex-wrap:wrap;align-items:center}.recipe-form-options label{align-items:center;gap:8px;display:flex}.recipe-form-options input[type=checkbox]{width:16px;min-height:16px}.recipe-import-panel{border-top:1px solid #ded8cae6;gap:12px;margin-top:24px;padding-top:18px;display:grid}.recipe-grid{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px;margin-top:24px;display:grid}.party-view{gap:16px}.party-empty{gap:14px;max-width:760px;padding:clamp(22px,3vw,34px);display:grid}.party-empty h2,.party-empty p,.party-recipes h3,.party-timeline h3,.party-add-recipes h3,.party-import h3,.party-groceries h3,.party-recipe-card h4,.party-recipe-card p{margin:0}.party-empty p,.party-section-heading p,.party-recipe-card p,.party-recipe-card small{color:var(--muted);line-height:1.4}.party-details{gap:14px;display:grid}.party-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:16px;display:grid}.party-recipes,.party-timeline,.party-add-recipes,.party-import,.party-groceries{align-content:start;gap:14px;display:grid}.party-recipe-list,.party-task-list,.party-choice-list{gap:9px;display:grid}.party-recipe-card{background:var(--paper-strong);border:1px solid #ded8cae0;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.party-recipe-card.done,.party-task-row.done{background:var(--green-soft)}.party-recipe-card h4{overflow-wrap:anywhere}.party-task-row{background:var(--paper-strong);border:1px solid #ded8cae0;border-radius:8px;grid-template-columns:auto 98px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.party-task-row input[type=checkbox]{width:18px;min-height:18px}.party-task-form{grid-template-columns:98px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.ingredient-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.ingredient-list li{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(96px,.34fr) minmax(0,1fr);align-items:center;gap:10px;min-height:38px;padding:8px 10px;line-height:1.35;display:grid}.ingredient-list span{color:var(--muted);font-size:.87rem;font-weight:800}.info-block{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;margin-top:24px;padding:16px}.info-block p{margin:8px 0 0;line-height:1.45}.pantry-form-panel,.pantry-search-panel,.pantry-location,.calendar-board-panel,.calendar-form-panel,.calendar-agenda-panel,.family-panel{padding:clamp(18px,2.2vw,24px)}.calendar-sync-pill{color:#304f34;background:var(--green-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:38px;padding:8px 12px;font-size:.86rem;font-weight:900;display:inline-flex}.calendar-sync-pill.local,.calendar-sync-pill.loading,.calendar-sync-pill.saving{color:#6a4811;background:var(--gold-soft)}.calendar-sync-pill.error{color:#793a30;background:var(--coral-soft)}.calendar-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.42fr);align-items:start;gap:18px;display:grid}.calendar-layout-focus{grid-template-columns:minmax(0,1fr)}.calendar-layout-focus .calendar-side{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)}.calendar-side{gap:18px;display:grid}.calendar-board-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.calendar-board-heading .section-kicker{margin-bottom:0}.family-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-week-list{gap:16px;display:grid}.calendar-week-section{gap:8px;display:grid}.calendar-week-heading{color:#42504a;text-transform:uppercase;font-size:.84rem;font-weight:900}.calendar-week-row{grid-template-columns:80px minmax(0,1fr);align-items:start;gap:10px;display:grid}.calendar-week-row>span{color:var(--muted);text-transform:uppercase;padding-top:12px;font-size:.78rem;font-weight:900}.calendar-weekdays-grid,.calendar-weekend-grid{gap:8px;display:grid}.calendar-weekdays-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar-weekend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day{min-width:0;min-height:122px;color:var(--ink);cursor:pointer;text-align:left;background:#f7f3ea;border:1px solid #ded8cadb;border-radius:8px;grid-template-rows:auto minmax(56px,1fr);gap:8px;padding:10px;display:grid}.calendar-day:hover,.calendar-day:focus-visible{border-color:#426a876b}.calendar-day.selected{background:var(--blue-soft);border-color:#426a8773}.calendar-day.today .calendar-day-header strong{color:#fff;background:var(--blue)}.calendar-day-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-day-header strong{background:#fffdf8;border-radius:999px;align-items:center;min-height:28px;padding:5px 8px;font-size:.83rem;display:inline-flex}.calendar-day-header span{color:var(--muted);text-transform:uppercase;justify-items:end;gap:2px;font-size:.78rem;font-weight:900;display:grid}.calendar-day-header em{text-transform:none;font-size:.72rem;font-style:normal}.calendar-event-chips{flex-direction:column;gap:5px;min-width:0;display:flex}.calendar-event-chips i{color:#264a62;white-space:normal;background:#fffdf8;border-radius:6px;align-items:center;gap:5px;min-width:0;padding:4px 6px;font-size:.76rem;font-style:normal;font-weight:800;line-height:1.2;display:flex;overflow:visible}.chip-avatars{flex-shrink:0;display:flex}.chip-avatars .member-avatar{outline:2px solid #fffdf8;margin-left:-4px}.chip-avatars .member-avatar:first-child{margin-left:0}.calendar-form{gap:12px;display:grid}.calendar-form-actions{flex-wrap:wrap;gap:10px;display:flex}.modal-backdrop{z-index:50;background:#121c1857;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.calendar-event-modal{width:min(680px,100%);max-height:min(86vh,820px);overflow:auto;box-shadow:0 28px 70px #1d252042}.modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-heading .section-kicker{margin-bottom:0}.calendar-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.calendar-form label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.calendar-form input,.calendar-form select,.calendar-form textarea{width:100%;min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:9px 10px;font-weight:600}.calendar-form textarea{resize:vertical;min-height:88px}.calendar-form .calendar-checkbox-label{border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:9px 10px;display:flex}.calendar-form .calendar-checkbox-label input{width:auto;min-height:auto}.calendar-people-field{border:0;gap:8px;margin:0;padding:0;display:grid}.calendar-people-field legend{color:#42504a;text-transform:uppercase;font-size:.82rem;font-weight:900}.calendar-people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.calendar-people-grid label{min-height:40px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.88rem;font-weight:800;display:flex}.calendar-people-grid input{width:auto;min-height:auto}.calendar-people-field p{color:var(--muted);margin:0;font-size:.82rem;font-weight:700}.calendar-event-card{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.calendar-agenda-list{gap:10px;display:grid}.calendar-event-card{background:var(--blue-soft);grid-template-columns:minmax(0,1fr)}.calendar-event-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-event-card p{margin:6px 0 0;line-height:1.4}.calendar-event-title{align-items:center;gap:8px;display:flex}.calendar-event-meta{color:var(--muted);font-size:.86rem;font-weight:800}.family-invite-form{grid-template-columns:minmax(220px,1fr) minmax(140px,.4fr) auto;align-items:end;gap:10px;display:grid}.family-invite-form label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.family-invite-form input,.family-invite-form select{width:100%;min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:9px 10px;font-weight:600}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.family-list{gap:10px;display:grid}.family-row{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:72px;padding:13px;display:grid}.family-row.accepted{background:var(--green-soft);border-color:#4f6f5240}.family-row h3,.family-row p{margin:0}.family-row p{color:var(--muted);margin-top:4px;line-height:1.35}.family-badges{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.family-badges span{color:#304f34;background:var(--green-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 9px;font-size:.8rem;font-weight:900;display:inline-flex}.pantry-search-panel{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:12px;display:grid}.pantry-search{gap:8px;display:grid}.pantry-search span{color:#42504a;text-transform:uppercase;align-items:center;gap:8px;font-size:.82rem;font-weight:900;display:inline-flex}.pantry-search input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px;font-weight:700}.pantry-search-result{background:var(--blue-soft);border-radius:8px;align-content:center;min-width:112px;min-height:46px;padding:8px 12px;display:grid}.pantry-search-result strong{color:var(--blue);line-height:1}.pantry-search-result span{color:var(--muted);font-size:.8rem;font-weight:800}.pantry-form{grid-template-columns:minmax(160px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(120px,.8fr) 92px minmax(100px,.6fr) minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.pantry-form label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.pantry-form input,.pantry-form select{width:100%;min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:9px 10px;font-weight:600}.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.pantry-column{align-content:start;gap:18px;display:grid}.pantry-list{gap:10px;display:grid}.pantry-item{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:13px;display:grid}.pantry-item.empty{opacity:.64}.pantry-item h3,.pantry-item p{margin:0}.pantry-item h3{font-size:1rem}.pantry-item p{color:var(--muted);margin-top:4px;line-height:1.35}.pantry-controls{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pantry-controls>span{color:#304f34;text-align:right;white-space:nowrap;min-width:80px;font-weight:900}.pantry-no-results{grid-column:1/-1}.chores-view .view-header{align-items:center}.chore-header-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chore-import-label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.chore-start-panel{grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);align-items:stretch;gap:16px;padding:clamp(18px,2.2vw,24px);display:grid}.chore-start-panel h3,.chore-start-panel p,.chore-start-card h4,.chore-start-card p,.chore-section h3,.chore-zone-card h3,.chore-zone-card p,.chore-card h3,.chore-card p,.chore-maintenance h3{margin:0}.chore-start-panel h3{margin-top:10px;font-size:clamp(1.35rem,2.2vw,2rem)}.chore-start-panel p{max-width:720px;color:var(--muted);margin-top:8px;line-height:1.45}.chore-start-card{background:var(--blue-soft);border:1px solid #426a8733;border-radius:8px;gap:8px;padding:16px;display:grid}.chore-start-card span,.chore-start-card small{color:#264a62;font-weight:900}.chore-start-card h4{font-size:1.16rem}.chore-start-card small{line-height:1.4}.chore-section,.chore-zone-card{padding:clamp(18px,2.2vw,24px)}.chore-list{gap:12px;display:grid}.chore-list.compact{gap:10px}.chore-card{background:#fffdf8;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px;padding:9px 10px;display:grid}.chore-card.status-done{background:var(--green-soft);border-color:#4f6f5247}.chore-card.status-help{background:var(--gold-soft);border-color:#a879263d}.chore-card.status-partial{background:var(--blue-soft);border-color:#264a6238}.chore-card.status-moved,.chore-card.status-not_relevant{opacity:.72}.chore-row-summary{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0;display:grid}.chore-row-main{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}.chore-row-main:hover strong,.chore-row-main:focus-visible strong{text-decoration:underline}.chore-row-main strong{overflow-wrap:anywhere;font-size:.96rem;line-height:1.23}.chore-row-main small{color:var(--muted);font-size:.82rem;font-weight:750;line-height:1.2}.chore-row-status{color:#304f34;text-overflow:ellipsis;white-space:nowrap;background:#f7f3ea;border-radius:999px;justify-content:center;align-items:center;max-width:150px;min-height:26px;padding:4px 8px;font-size:.76rem;font-weight:900;line-height:1.1;display:inline-flex;overflow:hidden}.chore-row-status.is-done{color:#fff;background:var(--green)}.chore-row-status.is-help,.chore-row-status.is-moved,.chore-row-status.is-not_relevant{color:#6a4811;background:var(--gold-soft)}.chore-row-status.is-partial{color:#264a62;background:var(--blue-soft)}.chore-row-actions{justify-content:flex-end;gap:2px;display:inline-flex}.chore-row-info,.chore-row-open,.chore-row-edit,.chore-row-remove{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:inline-grid}.chore-row-info{color:var(--blue)}.chore-row-info:hover,.chore-row-info:focus-visible{background:var(--blue-soft)}.chore-row-open{color:#42504a}.chore-row-edit{color:#264a62}.chore-row-open:hover,.chore-row-open:focus-visible{background:#f7f3ea}.chore-row-edit:hover,.chore-row-edit:focus-visible{background:#e6eff4}.chore-row-remove{color:#8a2f24}.chore-row-remove:hover,.chore-row-remove:focus-visible{background:#f4e5df}.chore-card.expanded .chore-row-open svg{transform:rotate(180deg)}.chore-card-main{border-top:1px solid #ded8cab3;gap:9px;min-width:0;padding-top:8px;display:grid}.chore-title-line{grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;display:grid}.chore-title-line h3{overflow-wrap:anywhere;align-self:center;font-size:1.03rem;line-height:1.25}.chore-check-button{color:#50625b;background:#fffdf8}.chore-check-button.checked{color:#fff;background:var(--green);border-color:var(--green)}.chore-title-line span,.chore-status,.chore-claim-note{color:#304f34;white-space:nowrap;background:#fffdf8;border-radius:999px;align-items:center;min-height:27px;padding:5px 9px;font-size:.78rem;font-weight:900;display:inline-flex}.chore-claim-note{color:#6a4811;background:var(--gold-soft);white-space:normal;justify-self:start}.chore-card p,.chore-done-when{color:#47544e;line-height:1.4}.chore-source-link{color:#264a62;align-items:center;gap:6px;width:fit-content;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex}.chore-source-link:hover{text-decoration:underline}.chore-meta-line{flex-wrap:wrap;gap:7px;display:flex}.chore-meta-line span{color:#42504a;background:#fffdf8;border:1px solid #ded8cac7;border-radius:999px;align-items:center;gap:5px;min-height:28px;padding:5px 8px;font-size:.8rem;font-weight:850;display:inline-flex}.chore-controls{gap:10px;display:grid}.chore-card-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chore-auto-person{color:#42504a;background:#fffdf8;border:1px solid #ded8cad6;border-radius:8px;align-content:center;gap:3px;min-height:50px;padding:9px 10px;display:grid}.chore-auto-person span,.chore-auto-person small{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.chore-auto-person strong{font-size:1rem}.chore-controls label,.chore-form label,.chore-search{color:#42504a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.chore-controls select,.chore-form input,.chore-form select,.chore-form textarea,.chore-search input{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:8px 10px;font-weight:650}.chore-actions{flex-wrap:wrap;gap:8px;display:flex}.chore-edit-form{background:#fffdf8;border:1px solid #ded8cae6;border-radius:8px;gap:10px;padding:12px;display:grid}.chore-edit-form label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.chore-edit-form input,.chore-edit-form select,.chore-edit-form textarea{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:8px 10px;font-weight:650}.chore-form textarea,.chore-edit-form textarea{resize:vertical}.chore-weekday-picker,.chore-zone-picker{color:#42504a;text-transform:uppercase;border:0;gap:8px;min-width:0;margin:0;padding:0;font-size:.82rem;font-weight:900;display:grid}.chore-weekday-picker legend,.chore-zone-picker legend{padding:0}.chore-weekday-picker div,.chore-zone-picker div{flex-wrap:wrap;gap:6px;display:flex}.chore-zone-picker div{max-height:148px;overflow:auto}.chore-weekday-picker label,.chore-zone-picker label{border:1px solid var(--line);text-transform:none;background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:6px 9px;font-size:.8rem;font-weight:900;display:inline-flex}.chore-weekday-picker input,.chore-zone-picker input{width:14px;min-height:14px;padding:0}.chore-weekday-picker small,.chore-zone-picker small{color:var(--muted);text-transform:none;font-size:.78rem;font-weight:800}.chore-admin-zone-picker{align-self:stretch;min-width:0;display:grid}.chore-admin-zone-picker summary{color:#42504a;border:1px solid var(--line);cursor:pointer;text-transform:uppercase;background:#fffdf8;border-radius:8px;align-content:center;gap:5px;min-height:38px;padding:7px 9px;font-size:.74rem;font-weight:900;display:grid}.chore-admin-zone-picker summary strong{color:var(--ink);overflow-wrap:anywhere;text-transform:none;font-size:.86rem;line-height:1.2}.chore-admin-zone-picker[open] summary{margin-bottom:8px}.chore-admin-zone-picker .chore-zone-picker{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;padding:8px}.chore-info-overlay{z-index:250;background:#00000059;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.chore-info-modal{background:var(--paper);border-radius:14px;flex-direction:column;gap:12px;width:min(100%,480px);max-height:80vh;padding:20px;display:flex;overflow-y:auto;box-shadow:0 8px 40px #0000002e}.chore-info-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.chore-info-header strong{font-size:1.05rem}.chore-info-close{background:var(--blue-soft);cursor:pointer;width:32px;height:32px;color:var(--blue);border:none;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.chore-info-desc{color:var(--ink);margin:0;line-height:1.5}.chore-info-row{color:var(--ink);align-items:flex-start;gap:8px;line-height:1.4;display:flex}.chore-info-row svg{color:var(--green);flex-shrink:0;margin-top:2px}.chore-info-meta{flex-wrap:wrap;gap:10px;display:flex}.chore-info-meta span{color:var(--muted);align-items:center;gap:5px;font-size:.84rem;font-weight:700;display:inline-flex}.chore-edit-overlay{z-index:250;background:#0006;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.chore-edit-overlay-inner{width:min(100%,560px);max-height:90vh;overflow-y:auto}.chore-edit-modal-backdrop{z-index:300;padding:16px 16px calc(80px + env(safe-area-inset-bottom));background:#121c1857;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0;overflow-y:auto}.chore-edit-modal{background:#fffdf8;width:min(880px,100%);padding:clamp(16px,2vw,22px);overflow:visible;box-shadow:0 28px 70px #1d252042}.chore-edit-modal-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chore-edit-modal-header h3{overflow-wrap:anywhere;margin:4px 0 0}.chore-edit-modal-close{color:#42504a;cursor:pointer;background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.chore-edit-modal-close:hover,.chore-edit-modal-close:focus-visible{background:#e6eff4}.chore-edit-pinned-toggle{cursor:pointer;align-items:center;gap:8px;padding:8px 0 4px;font-size:.86rem;font-weight:700;display:flex}.chore-edit-actions{flex-wrap:wrap;gap:8px;display:flex}.chore-focus-points,.home-chore-focus-points{color:#304f34;white-space:nowrap;font-size:.76rem;font-weight:900}.chore-daily-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.chore-daily-header label{align-items:center;gap:8px;font-size:.82rem;font-weight:900;display:flex}.chore-daily-header select{border:1px solid var(--line);background:#fffdf8;border-radius:8px;padding:4px 8px;font-weight:700}.home-weekly-grouped{gap:12px;display:grid}.home-weekly-group{gap:4px;display:grid}.home-weekly-group h4{text-transform:uppercase;letter-spacing:.04em;color:#42504a;margin:0 0 4px;font-size:.74rem;font-weight:900}.home-weekly-section{border-top:1px solid #ded8cab8;gap:12px;padding-top:12px;display:grid}.home-weekly-section h3{color:#42504a;align-items:center;gap:7px;margin:0;font-size:.86rem;font-weight:900;display:flex}.home-weekly-row{border-bottom:1px solid #ded8ca66;justify-content:space-between;align-items:baseline;gap:8px;padding:4px 0;display:flex}.home-weekly-title{font-size:.88rem;font-weight:700}.home-weekly-meta{color:var(--muted);white-space:nowrap;font-size:.76rem}.chore-week-overview{gap:16px;display:grid}.chore-week-overview-header{flex-direction:column;gap:4px;display:flex}.chore-week-overview-header h3{margin:0;font-size:1rem}.chore-week-day-group{gap:8px;display:grid}.chore-week-day-group h4{text-transform:uppercase;letter-spacing:.04em;color:#42504a;margin:0;font-size:.82rem;font-weight:900}.ghost-action.danger{color:#b22222;border-color:#e8b4b4}.ghost-action.danger:hover,.ghost-action.danger:focus-visible{color:#fff;background:#b22222;border-color:#b22222}.chore-week-grid,.chore-zone-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.chore-week-day{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;gap:8px;min-height:156px;padding:13px;display:grid}.chore-week-day p,.chore-zone-card p{color:var(--muted);font-weight:800}.chore-mini-list{flex-direction:column;gap:6px;display:flex}.chore-mini-list span{color:#34413c;background:#fffdf8;border:1px solid #ded8cab8;border-radius:7px;padding:7px 9px;font-size:.86rem;font-weight:750;line-height:1.25;display:block}.chore-maintenance{gap:12px;margin-top:18px;display:grid}.chore-zone-card{gap:9px;display:grid}.chore-bank-layout{grid-template-columns:minmax(0,.9fr) minmax(320px,.55fr);align-items:start;gap:18px;margin-bottom:18px;display:grid}.chore-search{margin-top:16px}.chore-search span{align-items:center;gap:7px;display:inline-flex}.chore-form{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;gap:10px;padding:14px;display:grid}.chore-form.compact{background:#fffdf8;padding:10px}.chore-form.compact .chore-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.chore-form.compact label{font-size:.76rem}.chore-form.compact textarea{min-height:64px}.chore-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.chore-admin-panel{gap:16px;padding:clamp(18px,2.2vw,24px);display:grid}.chore-admin-table{background:#fffdf8;border:1px solid #ded8cad6;border-radius:8px;display:grid;overflow-x:auto}.chore-admin-add,.chore-admin-zones{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;padding:12px}.chore-admin-add summary,.chore-admin-zones summary{cursor:pointer;align-items:center;gap:8px;font-weight:900;display:flex}.chore-admin-add .chore-form{background:#fffdf8;margin-top:12px}.chore-zone-rename{grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.chore-zone-rename label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:900;display:grid}.chore-zone-rename input,.chore-zone-rename select{width:100%;min-height:38px;color:var(--ink);border:1px solid var(--line);background:#fffdf8;border-radius:8px;padding:7px 9px;font-weight:700}.chore-zone-rename .muted{grid-column:1/-1}.chore-admin-filters{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.chore-admin-filters label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:900;display:grid}.chore-admin-search span{border:1px solid var(--line);background:#fffdf8;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;min-height:38px;padding:0 9px;display:grid}.chore-admin-search input{background:0 0;border:0;outline:0;min-height:36px;padding:0}.chore-admin-row{background:#fffdf8;border-bottom:1px solid #ded8cab8;grid-template-columns:36px minmax(220px,1.5fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(110px,.6fr) minmax(110px,.6fr) minmax(70px,.36fr) minmax(130px,.6fr);align-items:end;gap:6px;min-width:1000px;padding:6px 10px;display:grid}.chore-admin-row.header{z-index:1;color:#42504a;text-transform:uppercase;background:#ebe4d6;align-items:center;min-height:38px;font-size:.78rem;font-weight:900;position:sticky;top:0}.chore-admin-row.selected{background:#eef4ee}.chore-admin-cb{justify-content:center;align-items:center;display:flex}.chore-admin-cb input[type=checkbox]{cursor:pointer;accent-color:#4f6f52;width:16px;height:16px}.chore-sort-btn{color:#42504a;cursor:pointer;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.78rem;font-weight:900;display:flex}.chore-sort-btn:hover{color:#1a2e22}.chore-sort-btn.active{color:#4f6f52}.chore-admin-heading-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chore-import-btn{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.chore-import-status{background:#eef4ee;border:1px solid #c5d9c5;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.86rem;font-weight:700;display:flex}.chore-admin-row.inactive{opacity:.55;background:#f3ede0}.chore-batch-bar{background:#eef4ee;border:1px solid #c5d9c5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.chore-batch-count{color:#2d5a3d;white-space:nowrap;font-size:.85rem;font-weight:900}.chore-batch-bar select{min-height:34px;color:var(--ink);border:1px solid var(--line);background:#fffdf8;border-radius:6px;padding:5px 8px;font-size:.85rem;font-weight:700}.chore-admin-row:last-child{border-bottom:0}.chore-admin-row:not(.header):hover{background:#fbf6ed}.chore-admin-title{align-self:center;gap:4px;min-width:0;display:grid}.chore-admin-title label,.chore-admin-row label{color:#42504a;text-transform:uppercase;gap:3px;min-width:0;font-size:.68rem;font-weight:900;display:grid}.chore-admin-more{gap:8px;display:grid}.chore-admin-more summary{color:#264a62;cursor:pointer;align-items:center;gap:6px;font-size:.8rem;font-weight:900;display:flex}.chore-admin-more[open]{margin-top:4px}.chore-admin-more[open] summary{margin-bottom:8px}.chore-admin-filters select,.chore-admin-row input,.chore-admin-row select,.chore-admin-row textarea{width:100%;min-height:32px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fffdf8;border-radius:6px;padding:4px 7px;font-size:.82rem;font-weight:700}.chore-admin-row textarea{resize:vertical;min-height:52px}.chore-admin-weekdays{flex-wrap:wrap;align-items:center;gap:5px;min-height:38px;display:flex}.chore-admin-weekdays button{color:#304f34;border:1px solid var(--line);cursor:pointer;background:#fffdf8;border-radius:999px;min-height:30px;padding:5px 8px;font-size:.76rem;font-weight:900}.chore-admin-weekdays button.active{color:#fff;background:var(--green);border-color:var(--green)}.chore-admin-weekdays button:disabled{cursor:not-allowed;opacity:.55}.chore-admin-weekdays small{color:var(--muted);text-transform:none;font-size:.76rem;font-weight:900}.chore-admin-row input:disabled,.chore-admin-row select:disabled,.chore-admin-row textarea:disabled{color:var(--muted);background:#eee8dc}.chore-admin-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chore-row-pin{color:#aaa;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;height:30px;display:inline-grid}.chore-row-pin:hover{color:#b07c00;background:#fff8e1}.chore-row-pin.active{color:#b07c00}.icon-text-button.active-pin{color:#b07c00;background:#fff8e1;border-color:#f0c040}.chore-admin-row .chore-zone-picker label{color:var(--ink);text-transform:none;align-items:center;gap:6px;font-size:.8rem;font-weight:900;display:inline-flex}.plan-filter-status{color:#304f34;background:var(--green-soft);border:1px solid #4f6f522e;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.plan-filter-status strong{overflow-wrap:anywhere}.plan-wheel-jump-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.plan-wheel-jump{min-height:76px;color:var(--ink);cursor:pointer;text-align:left;background:#fffdf8;border:1px solid #ded8cadb;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 9px;padding:12px;display:grid}.plan-wheel-jump svg{color:#264a62}.plan-wheel-jump strong{line-height:1.2}.plan-wheel-jump span{color:var(--muted);grid-column:2;font-size:.82rem;font-weight:800;line-height:1.3}.plan-wheel-jump:hover,.plan-wheel-jump:focus-visible,.plan-wheel-jump.active{background:var(--blue-soft);border-color:#426a8759}.year-wheel-panel{gap:16px;padding:clamp(18px,2.2vw,24px);display:grid}.year-wheel-heading,.year-wheel-layout{gap:18px;display:grid}.year-wheel-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.year-wheel-heading h3,.year-wheel-heading p,.year-wheel-season h4{margin:0}.year-wheel-heading h3{font-size:1.35rem}.year-wheel-heading p{color:var(--muted);margin-top:7px;line-height:1.45}.year-wheel-heading>span{color:#264a62;background:var(--blue-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:34px;padding:6px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.year-wheel-layout{grid-template-columns:minmax(580px,1fr) minmax(260px,.42fr);align-items:center}.year-wheel{aspect-ratio:1;width:min(680px,100%);margin:0 auto;position:relative}.year-wheel-ring{pointer-events:none;background:radial-gradient(circle,#fffdf8fa 0 31%,#0000 32%),repeating-conic-gradient(from -90deg,#fffdf8a3 0deg 2deg,#0000 2deg 30deg),conic-gradient(from -90deg,#d8e8f5e6 0deg 30deg,#e8e2f5e6 30deg 60deg,#e8f2def2 60deg 90deg,#fbe8d4eb 90deg 120deg,#f0e2e8e6 120deg 150deg,#d8e8f5e6 150deg 180deg,#e8e2f5e6 180deg 210deg,#e8f2def2 210deg 240deg,#fbe8d4eb 240deg 270deg,#f0e2e8e6 270deg 300deg,#d8e8f5e6 300deg 330deg,#e8e2f5e6 330deg 360deg);border:1px solid #ded8caeb;border-radius:999px;position:absolute;inset:4%;box-shadow:inset 0 0 0 44px #fffdf838,inset 0 0 0 132px #fffdf833,0 24px 58px #1d25201f}.year-wheel-ring:before,.year-wheel-ring:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.year-wheel-ring:before{background:repeating-conic-gradient(from -90deg,#fffdf8b3 0deg 2deg,#0000 2deg 90deg),conic-gradient(from -90deg,#d3e8f3e6 0deg 90deg,#e8e2f5eb 90deg 180deg,#e8f2def5 180deg 270deg,#fbe8d4f0 270deg 360deg);border:1px solid #ded8cab3;inset:19%}.year-wheel-ring:after{background:#fffdf8f0;border:1px solid #ded8cad1;inset:34%}.year-wheel-center{color:#304f34;cursor:pointer;font:inherit;text-align:center;background:#fffdf8f5;border:1px solid #ded8caeb;border-radius:999px;align-content:center;place-items:center;gap:3px;display:grid;position:absolute;inset:35%;box-shadow:0 18px 40px #1d25201f}.year-wheel-center:hover,.year-wheel-center:focus-visible{border-color:#426a8799;box-shadow:0 18px 42px #264a6238}.year-wheel-center.active{background:#deeaf4;border-width:2px;border-color:#426a87;box-shadow:0 18px 42px #264a6240}.year-wheel-center span,.year-wheel-center small{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.year-wheel-center strong{color:var(--ink);font-size:1.45rem}.year-wheel-filter{color:#34413c;cursor:pointer;font:inherit;text-align:left;border:1px solid #ded8caeb;position:absolute;transform:translate(-50%,-50%);box-shadow:0 14px 32px #1d25201f}.year-wheel-filter:hover,.year-wheel-filter:focus-visible{border-color:#426a8799;transform:translate(-50%,-50%)translateY(-2px);box-shadow:0 6px 18px #1d25202e}.year-wheel-filter.active{border-width:2px;border-color:#426a87;transform:translate(-50%,-50%)translateY(-3px);box-shadow:0 6px 20px #426a874d}.category-filter{background:#fffdf8f0;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px 7px;width:134px;min-height:52px;padding:8px 10px;display:inline-grid}.category-filter svg{color:#264a62}.category-filter strong{font-size:.8rem;line-height:1.15}.category-filter span{color:#304f34;background:var(--green-soft);border-radius:999px;justify-content:center;align-items:center;min-width:26px;min-height:24px;font-size:.76rem;font-weight:900;display:inline-flex}.category-filter.weekly{background:#d8e8f5f5}.category-filter.monthly{background:#e8e2f5f5}.category-filter.yearly{background:#e8f2def5}.category-filter.season{background:#fbe8d4f5}.year-wheel-month{background:#fffdf8;border-radius:8px;align-content:start;gap:4px;width:142px;min-height:92px;padding:10px;display:grid}.year-wheel-month.current{outline:3px solid #426a873d}.year-wheel-month.active{background:#deeaf4;outline:3px solid #426a87}.year-wheel-month.empty{opacity:.74}.year-wheel-month.planned{background:#eef6ea;border-color:#4f6f5247}.year-wheel-month.busy{background:#fbf0df;border-color:#a8792647}.year-wheel-month strong{font-size:1rem}.year-wheel-month span,.year-wheel-month small{color:var(--muted);font-size:.76rem;font-weight:850;line-height:1.25}.year-wheel-month small{color:#34413c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.year-wheel-side{align-content:center;gap:14px;display:grid}.year-wheel-legend,.year-wheel-season{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;gap:9px;padding:13px;display:grid}.year-wheel-legend span{color:#42504a;align-items:center;gap:8px;font-size:.84rem;font-weight:850;display:flex}.year-wheel-legend i{border:1px solid #ded8caeb;border-radius:999px;width:16px;height:16px}.year-wheel-legend i.empty{background:#fffdf8}.year-wheel-legend i.planned{background:#eef6ea}.year-wheel-legend i.busy{background:#fbf0df}.year-wheel-legend i.weekly{background:#d8e8f5f5}.year-wheel-legend i.monthly{background:#e8e2f5f5}.year-wheel-legend i.yearly{background:#e8f2def5}.year-wheel-legend i.season{background:#fbe8d4f5}.flylady-view{gap:16px}.flylady-command-panel{gap:14px;padding:clamp(16px,2vw,22px);display:grid}.flylady-command-main,.flylady-command-controls{justify-content:space-between;align-items:center;gap:14px;display:flex}.flylady-command-controls{flex-wrap:wrap}.flylady-command-controls .flylady-search{flex:360px}.flylady-command-controls .segmented{flex:0 auto;max-width:100%}.flylady-command-main h2{margin:0;font-size:clamp(1.35rem,2.1vw,1.9rem)}.flylady-command-metrics{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.flylady-command-metrics span{color:#304f34;background:var(--green-soft);text-align:center;text-transform:uppercase;border:1px solid #4f6f522e;border-radius:8px;align-content:center;min-width:74px;min-height:50px;padding:8px 10px;font-size:.76rem;font-weight:900;display:grid}.flylady-command-metrics strong{color:var(--ink);font-size:1.12rem;line-height:1}.flylady-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);align-items:center;gap:18px;padding:clamp(18px,2.2vw,24px);display:grid}.flylady-hero h2,.flylady-hero p,.flylady-routine-card h3,.flylady-routine-card p,.flylady-day-card h3,.flylady-day-card p,.flylady-year-card h3,.flylady-section-heading h3,.flylady-section-heading p,.flylady-add-task h3{margin:0}.flylady-hero h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05}.flylady-hero p,.flylady-section-heading p,.flylady-add-task p{color:var(--muted);margin-top:8px;line-height:1.45}.flylady-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.flylady-stats span{color:#304f34;background:var(--green-soft);border:1px solid #4f6f522e;border-radius:8px;align-content:center;gap:2px;min-height:72px;padding:12px;font-weight:850;display:grid}.flylady-stats strong{color:var(--ink);font-size:1rem;line-height:1}.chore-person-panel{gap:14px;padding:clamp(16px,2vw,22px);display:grid}.chore-person-heading,.party-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.chore-person-heading h3,.chore-person-heading p,.party-section-heading h3,.party-section-heading p,.party-details label{margin:0}.chore-person-heading label,.party-details label{color:#31423b;text-transform:uppercase;gap:6px;font-size:.82rem;font-weight:900;display:grid}.chore-person-heading select,.party-details input,.party-details textarea,.party-task-row input,.party-task-form input{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line);background:#fffdf8;border-radius:8px}.chore-person-heading select,.party-details input,.party-task-row input,.party-task-form input{padding:8px 10px}.party-details textarea{resize:vertical;min-height:74px;padding:10px}.chore-person-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.9fr);gap:12px;display:grid}.chore-person-column{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.chore-person-column h4{margin:0;font-size:.95rem}.chore-focus-list{gap:8px;display:grid}.chore-focus-row{background:#fffdf8;border:1px solid #ded8cab8;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.chore-focus-row strong,.chore-focus-row small{display:block}.chore-focus-row strong{overflow-wrap:anywhere;font-size:.94rem;line-height:1.24}.chore-focus-row small{color:var(--muted);margin-top:3px;line-height:1.25}.chore-focus-row>span{color:#304f34;white-space:nowrap;font-size:.78rem;font-weight:900}.chore-focus-edit{color:#264a62;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;display:inline-grid}.chore-focus-edit:hover,.chore-focus-edit:focus-visible{background:#e6eff4}.chore-reminder-list{gap:8px;display:grid}.chore-reminder-list span{background:#fffdf8;border:1px solid #ded8cab8;border-radius:7px;grid-template-columns:auto minmax(76px,auto) minmax(0,1fr);align-items:center;gap:7px;padding:8px 9px;font-size:.84rem;font-weight:750;display:grid}.chore-reminder-list strong{color:#304f34;white-space:nowrap}.chore-log-list{gap:20px;display:grid}.chore-log-day h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.82rem;font-weight:700}.chore-log-entry{color:#304f34;background:#fffdf8;border:1px solid #ded8cab8;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;display:grid}.chore-log-entry strong,.chore-log-entry small{display:block}.chore-log-entry strong{font-size:.92rem;line-height:1.25}.chore-log-entry small{color:var(--muted);margin-top:2px}.flylady-routine-grid,.flylady-week-grid,.flylady-year-grid{gap:14px;display:grid}.flylady-routine-grid,.flylady-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flylady-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flylady-routine-card,.flylady-day-card,.flylady-year-card,.flylady-declutter,.flylady-add-task{padding:clamp(16px,2vw,22px)}.flylady-routine-card,.flylady-day-card,.flylady-year-card{align-content:start;gap:12px;display:grid}.flylady-group-card{gap:0;padding:0;display:grid;overflow:hidden}.flylady-group-header{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:16px 16px 10px;display:grid}.flylady-group-header:hover,.flylady-group-header:focus-visible{background:#f7f3eab8}.flylady-group-header svg{color:#42504a;transition:transform .16s}.flylady-group-card.open .flylady-group-header svg{transform:rotate(180deg)}.flylady-group-title{gap:4px;min-width:0;display:grid}.flylady-group-title strong{font-size:1rem;line-height:1.25}.flylady-group-title small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.35;overflow:hidden}.flylady-group-count{color:#264a62;background:var(--blue-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:5px 9px;font-size:.8rem;font-weight:900;display:inline-flex}.flylady-group-content{gap:10px;padding:0 16px 16px;display:grid}.flylady-group-add{gap:10px;padding-top:2px;display:grid}.flylady-group-add summary{color:#264a62;background:var(--blue-soft);cursor:pointer;border:1px solid #426a8733;border-radius:8px;align-items:center;gap:7px;width:fit-content;min-height:34px;padding:6px 10px;font-size:.84rem;font-weight:900;display:inline-flex}.flylady-group-add[open] summary{margin-bottom:8px}.flylady-routine-card>p,.flylady-day-card>p{color:var(--muted);font-weight:800}.flylady-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.flylady-section-heading span{color:#264a62;background:var(--blue-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:32px;padding:6px 10px;font-size:.84rem;font-weight:900;display:inline-flex}.flylady-declutter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.flylady-add-task{grid-template-columns:minmax(0,.45fr) minmax(320px,1fr);align-items:start;gap:18px;display:grid}.flylady-toolbar{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.flylady-search{color:#42504a;text-transform:uppercase;gap:7px;font-size:.82rem;font-weight:900;display:grid}.flylady-search span{align-items:center;gap:7px;display:inline-flex}.flylady-search input{min-height:44px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:10px 12px;font-weight:700}.flylady-view .chore-card{box-shadow:none;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.flylady-view .chore-card-main{gap:7px}.flylady-view .chore-controls{border-top:1px solid #ded8cab8;padding-top:2px}.flylady-view .chore-meta-line span{font-size:.76rem}.flylady-view .chore-done-when{font-size:.88rem}.together-view .view-header p{color:var(--muted);margin:6px 0 0;font-weight:700}.compact-date-label{color:#42504a;text-transform:uppercase;gap:5px;font-size:.78rem;font-weight:900;display:grid}.compact-date-label input{min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:8px 10px;font-weight:800}.together-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.together-overview>div{background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;align-content:center;gap:2px;min-height:76px;padding:12px 14px;display:grid}.together-overview strong{font-size:1.55rem;line-height:1}.together-overview span{color:var(--muted);font-size:.86rem;font-weight:850}.activity-filter-panel{grid-template-columns:minmax(240px,.9fr) minmax(0,2fr);align-items:end;gap:14px;display:grid}.activity-filter-grid,.activity-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.activity-filter-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.activity-filter-grid label,.activity-form label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.79rem;font-weight:900;display:grid}.activity-filter-grid select,.activity-form input,.activity-form select{min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:8px 10px;font-weight:750}.together-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.34fr);align-items:start;gap:16px;display:grid}.together-side{gap:16px;display:grid}.activity-list-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.activity-list-heading h3{margin:0;font-size:1.2rem}.activity-list-heading>span{color:#264a62;background:var(--blue-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:30px;padding:5px 9px;font-size:.8rem;font-weight:900;display:inline-flex}.activity-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.activity-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-card{background:#fffdf8;border:1px solid #ded8cae6;border-radius:8px;gap:10px;padding:13px;display:grid;box-shadow:0 10px 28px #352f230f}.activity-card.favorite{border-color:#a8792675;box-shadow:0 10px 28px #a879261a}.activity-card-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.activity-category{color:#304f34;background:var(--green-soft);border-radius:999px;align-items:center;width:fit-content;min-height:24px;padding:4px 7px;font-size:.72rem;font-weight:900;display:inline-flex}.activity-card h3{margin:7px 0 0;font-size:1.02rem;line-height:1.2}.activity-card p{color:var(--muted);margin:6px 0 0;font-size:.88rem;font-weight:650;line-height:1.35}.activity-favorite{color:#42504a;cursor:pointer;background:#f7f3ea;border:1px solid #ded8cae6;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.activity-favorite.active{color:#8a5c12;background:var(--gold-soft);border-color:#a8792657}.activity-meta-row,.activity-chip-row,.activity-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.activity-meta-row span,.activity-chip-row i{color:#28302d;background:#f1ece2;border-radius:999px;align-items:center;gap:5px;min-height:25px;padding:4px 7px;font-size:.75rem;font-style:normal;font-weight:850;display:inline-flex}.activity-chip-row i{background:var(--blue-soft);color:#264a62}.activity-equipment,.activity-done{border-top:1px solid #ded8cab8;padding-top:3px}.activity-done{color:#304f34!important;font-weight:900!important}.activity-actions{justify-content:flex-end}.activity-mini-list,.activity-history-list{gap:8px;display:grid}.activity-mini-list button,.activity-history-list span{width:100%;color:var(--ink);text-align:left;background:#fffdf8;border:1px solid #ded8cad1;border-radius:8px;gap:3px;padding:10px;display:grid}.activity-mini-list button{cursor:pointer}.activity-mini-list button:hover,.activity-mini-list button:focus-visible{background:#f7f3ea}.activity-mini-list strong,.activity-history-list strong{font-size:.9rem;line-height:1.25}.activity-mini-list span,.activity-history-list small{color:var(--muted);font-size:.78rem;font-weight:800}.activity-form{gap:11px;display:grid}.activity-choice-group{border:0;flex-wrap:wrap;gap:7px;padding:0;display:flex}.activity-choice-group legend{color:#42504a;text-transform:uppercase;width:100%;margin-bottom:2px;font-size:.79rem;font-weight:900}.activity-choice-group label{text-transform:none;background:#f7f3ea;border:1px solid #ded8cae6;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:5px 8px;font-size:.78rem;font-weight:850;display:inline-flex}.goals-view .view-header p{color:var(--muted);margin:6px 0 0;font-weight:700}.utflukt-panel{gap:14px;display:grid}.utflukt-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.utflukt-filters{gap:6px;display:grid}.utflukt-filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:20px;padding:4px 12px;font-size:.82rem;transition:background .1s,border-color .1s,color .1s}.filter-pill:hover{background:#0000000a}.filter-pill.active{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:600}.utflukt-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.utflukt-card{color:var(--ink);background:#f7f3ea;border:1px solid #ded8cad6;border-radius:8px;gap:5px;padding:12px 14px;text-decoration:none;transition:background .12s;display:grid}.utflukt-card:hover{background:#eee9df}.utflukt-card-topp{justify-content:space-between;align-items:center;gap:6px;display:flex}.utflukt-dato{color:var(--muted);font-size:.75rem;font-weight:700}.utflukt-dato.fast{color:var(--green)}.utflukt-reise{background:#0000000f;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:700}.utflukt-reise.naert{background:var(--green-soft);color:var(--green)}.utflukt-reise.kort-tur{background:var(--blue-soft);color:var(--blue)}.utflukt-reise.dagstur{background:var(--gold-soft);color:var(--gold)}.utflukt-reise.lang-dagstur{background:var(--coral-soft);color:var(--coral)}.utflukt-tittel{font-size:.93rem;line-height:1.3}.utflukt-meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;display:flex}.utflukt-pris.gratis{color:var(--green);font-weight:600}.utflukt-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.utflukt-kilde{color:var(--muted);font-size:.72rem}.utflukt-footer{text-align:right;font-size:.8rem}.utflukt-seksjon{gap:10px;padding-top:6px;display:grid}.utflukt-seksjon+.utflukt-seksjon{border-top:1px solid var(--line);margin-top:6px;padding-top:18px}.utflukt-seksjon-tittel{color:var(--ink);margin:0;font-size:1rem;font-weight:700}.utflukt-type-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.utflukt-tags{flex-wrap:wrap;gap:4px;display:flex}.utflukt-tag{color:var(--muted);background:#0000000d;border-radius:8px;padding:1px 7px;font-size:.7rem}.utflukt-tag.pamelding{background:var(--gold-soft);color:var(--gold)}.utflukt-apen{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.utflukt-aapningstid{color:var(--muted);font-size:.75rem}.utflukt-aapningstid.aapen{color:var(--green);font-weight:600}.utflukt-passer{color:var(--muted);font-size:.72rem}.utflukt-card-wrapper{position:relative}.utflukt-card-wrapper .utflukt-card{width:100%}.utflukt-slett{width:22px;height:22px;color:var(--muted);cursor:pointer;opacity:0;background:#0000001f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.utflukt-card-wrapper:hover .utflukt-slett{opacity:1}.utflukt-slett:hover{background:var(--coral-soft);color:var(--coral)}.utflukt-form{background:var(--bg-soft,#f9f6ef);border:1px solid var(--line);border-radius:10px;gap:12px;padding:16px;display:grid}.utflukt-form-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.utflukt-form-full{grid-column:1/-1}.utflukt-form label{color:var(--ink);gap:4px;font-size:.83rem;font-weight:600;display:grid}.utflukt-form input,.utflukt-form select,.utflukt-form textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:.87rem}.utflukt-form textarea{resize:vertical}.utflukt-form-actions{flex-wrap:wrap;gap:8px;display:flex}.goal-command-panel{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:stretch;gap:18px;padding:20px;display:grid}.goal-command-copy{align-content:start;gap:10px;display:grid}.goal-command-copy h2{margin:0;font-size:clamp(1.7rem,2.7vw,2.6rem);line-height:1.05}.goal-command-copy p{max-width:760px;color:var(--muted);margin:0;font-size:1rem;font-weight:700;line-height:1.45}.goal-day-progress{background:#ece5d8;border:1px solid #ded8caf2;border-radius:999px;width:min(100%,520px);height:10px;overflow:hidden}.goal-day-progress span{border-radius:inherit;background:linear-gradient(90deg,#4f6f52,#78a47c);height:100%;transition:width .18s;display:block}.goal-command-metrics{flex-wrap:wrap;gap:8px;display:flex}.goal-command-metrics span,.goal-status-pill,.goal-total-pill{color:#304f34;background:var(--green-soft);border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:6px 9px;font-size:.8rem;font-weight:900;display:inline-flex}.goal-status-pill{color:#24496a;background:var(--blue-soft);white-space:nowrap}.goal-status-pill.done{color:#304f34;background:var(--green-soft)}.goal-command-controls{align-content:start;justify-items:stretch;gap:10px;display:grid}.goal-command-controls .primary-action{width:100%}.goal-score-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.goal-score-card{align-content:center;gap:4px;min-height:86px;display:grid}.goal-score-card strong{font-size:1.75rem;line-height:1}.goal-score-card span{color:var(--muted);font-size:.86rem;font-weight:850}.goals-layout,.rewards-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start;gap:16px;display:grid}.goals-layout>.panel,.goal-side>.panel{padding:clamp(16px,1.8vw,22px)}.goal-side{gap:16px;display:grid}.goal-list,.reward-list,.goal-template-list,.goal-admin-list{gap:10px;display:grid}.goal-list{gap:12px}.goal-template-list{gap:9px;margin-top:2px}.goal-card,.reward-card,.goal-admin-row,.home-goal-row{color:var(--ink);background:#fffdf8;border:1px solid #ded8cae6;border-radius:8px;align-items:center;gap:10px;padding:12px;display:grid}.goal-card{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:14px}.goal-card.done,.reward-card.claimed,.home-goal-row.done{background:var(--green-soft);border-color:#4f6f5257}.goal-check,.home-goal-row>svg{width:38px;height:38px;color:var(--green);cursor:pointer;background:#eef5ea;border:1px solid #4f6f5242;border-radius:8px;place-items:center;display:inline-grid}.goal-section-heading,.goal-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.goal-section-heading{border-bottom:1px solid #ded8cabf;margin-bottom:16px;padding-bottom:12px}.goal-section-heading h3,.goal-title-row h3{margin:0}.goal-title-row span{color:#304f34;background:var(--green-soft);white-space:nowrap;border-radius:999px;align-items:center;min-height:28px;padding:5px 8px;font-size:.8rem;font-weight:900;display:inline-flex}.goal-card h3{margin:0;font-size:1.05rem;line-height:1.25}.goal-card p,.goal-card small{color:var(--muted);margin:4px 0 0;font-weight:750}.goal-meta-row{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.goal-meta-row span{color:#304f34;background:var(--green-soft);border-radius:999px;align-items:center;gap:5px;min-height:25px;padding:4px 7px;font-size:.75rem;font-weight:900;display:inline-flex}.goal-template-list button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fffdf8;border:1px solid #ded8cae6;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;padding:11px 12px;display:grid}.goal-template-list button>svg{color:var(--green);grid-row:span 2;margin-top:2px}.goal-template-list button:hover,.goal-template-list button:focus-visible{background:#f7f3ea}.goal-template-list span,.goal-admin-row span,.reward-card small{color:var(--muted);font-size:.8rem;font-weight:800}.goal-form{gap:11px;display:grid}.goal-editor-panel summary{cursor:pointer;justify-content:space-between;align-items:center;font-weight:900;list-style:none;display:flex}.goal-editor-panel summary::-webkit-details-marker{display:none}.goal-editor-panel summary span{align-items:center;gap:7px;display:inline-flex}.goal-editor-panel .goal-form{margin-top:12px}.reward-editor-panel{background:#fffdf8;border:1px solid #ded8cae6;border-radius:8px;align-self:start;padding:12px}.goal-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.goal-form label,.goal-admin-toolbar label,.goal-admin-row label{color:#42504a;text-transform:uppercase;gap:6px;font-size:.79rem;font-weight:900;display:grid}.goal-form input,.goal-form select,.goal-form textarea,.goal-admin-toolbar input,.goal-admin-toolbar select,.goal-admin-row input,.goal-admin-row select{min-height:42px;color:var(--ink);border:1px solid var(--line);text-transform:none;background:#fff;border-radius:8px;padding:8px 10px;font-weight:750}.goal-form textarea{resize:vertical}.goal-admin-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) minmax(170px,.45fr) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.goal-search{position:relative}.goal-search svg{color:var(--muted);position:absolute;bottom:13px;left:11px}.goal-search input{padding-left:36px}.goal-total-pill{color:#24496a;background:var(--blue-soft);justify-content:center;align-self:end;min-height:42px}.goal-admin-row{grid-template-columns:minmax(220px,1fr) minmax(130px,.38fr) minmax(150px,.45fr) 86px auto;gap:10px}.goal-admin-title{gap:3px;display:grid}.goal-admin-row .ghost-action{align-self:end;min-height:42px}.reward-card{grid-template-columns:minmax(0,1fr) auto}.reward-card strong{font-size:1rem}.reward-card p{color:var(--muted);margin:4px 0;font-weight:700}.home-goal-panel{align-content:start;gap:14px;padding:clamp(18px,2.2vw,24px);display:grid}.home-goal-header{border-bottom:1px solid #ded8cac7;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.home-goal-header .section-kicker{margin-bottom:6px}.home-goal-header h2{margin:0;font-size:1.35rem}.home-goal-score{color:#304f34;background:var(--green-soft);border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:7px 10px;font-weight:900;display:inline-flex}.home-goal-score span{color:#40524a;font-size:.82rem}.home-goal-list{gap:10px;display:grid}.home-goal-row{cursor:pointer;text-align:left;grid-template-columns:auto minmax(0,1fr);min-height:58px;padding:11px 12px}.home-goal-row span{gap:3px;display:grid}.home-goal-row small{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.35}.print-root{display:none}@media (width<=1060px){.segmented{width:100%}.topbar-actions{justify-content:stretch}.topbar-actions>*{flex:1}.today-grid,.recipe-layout,.recipe-grid,.recipe-hub-grid,.recipe-editor-grid,.recipe-form-row,.calendar-layout,.calendar-layout-focus .calendar-side,.chore-start-panel,.chore-card,.chore-bank-layout,.chore-person-grid,.home-chore-grid,.home-chore-focus-grid,.home-points-grid,.party-grid,.chore-admin-filters,.chore-zone-rename,.flylady-hero,.flylady-routine-grid,.flylady-week-grid,.flylady-year-grid,.year-wheel-heading,.year-wheel-layout,.plan-wheel-jump-grid,.flylady-declutter-grid,.flylady-add-task,.flylady-toolbar,.together-overview,.activity-filter-panel,.activity-filter-grid,.together-layout,.activity-card-grid,.activity-card-grid.compact,.goal-command-panel,.goal-score-grid,.goals-layout,.rewards-layout,.goal-form-row,.goal-admin-toolbar,.goal-admin-row{grid-template-columns:1fr}.year-wheel{width:min(100%,620px)}.meal-panel{grid-row:auto}.today-grid.home-grid .calendar-panel,.today-grid.home-grid .home-chore-panel,.today-grid.home-grid .home-goal-panel,.today-grid.home-grid .meal-panel{grid-area:auto}.recipe-nav{order:1;max-height:none;position:static}.recipe-panel{order:0}.grocery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pantry-form,.pantry-search-panel,.calendar-form-row,.calendar-people-grid,.calendar-week-row,.calendar-weekdays-grid,.calendar-weekend-grid,.family-invite-form,.family-grid,.pantry-grid,.chore-week-grid,.chore-zone-grid{grid-template-columns:1fr}.pantry-form{align-items:stretch}}@media (width<=780px){.main-content{width:min(100% - 20px,1240px);padding-top:12px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;position:static}.topbar{z-index:20;background:#fffdf8fa;border-bottom:1px solid #ded8cac7;gap:10px;padding:10px 12px;position:sticky;top:0}.topbar-actions{justify-content:flex-end;margin-left:auto}.topbar-actions>*{flex:none}.brand p{display:none}.brand{min-width:0}.brand h1{font-size:1.1rem}.segmented{grid-auto-columns:1fr;overflow-x:auto}.segmented button{min-width:72px;padding-inline:8px}nav[aria-label=Hovedvisning]{z-index:200;width:100%;min-height:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-auto-flow:unset;grid-auto-columns:unset;background:#fffdf8f7;border-radius:0;flex-direction:row;gap:2px;display:flex;position:fixed;inset:auto 0 0;overflow:visible}nav[aria-label=Hovedvisning] button{letter-spacing:0;white-space:nowrap;text-overflow:clip;border-radius:10px;flex-direction:column;flex:1;gap:3px;min-width:0;min-height:50px;padding:5px 2px 4px;font-size:.58rem;font-weight:800;overflow:hidden}nav[aria-label=Hovedvisning] button svg{flex-shrink:0;width:20px;height:20px}.home-day-selector{grid-template-columns:none;grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;padding-bottom:2px;overflow-x:auto}.meal-meta,.meal-rating,.two-column,.stats-grid,.grocery-grid,.family-calendar-grid,.chore-form-row,.activity-form-row{grid-template-columns:1fr}.year-wheel{aspect-ratio:auto;gap:10px;width:100%;display:grid}.year-wheel-ring,.year-wheel-center{display:none}.year-wheel-filter,.year-wheel-month,.category-filter{width:100%;min-height:0;position:static;transform:none}.category-filter{border-radius:8px}.year-wheel-filter:hover,.year-wheel-filter:focus-visible,.year-wheel-filter.active{transform:none}.view-header,.recipe-heading,.recipe-library-command,.recipe-hub-header,.recipe-shelf-heading,.dinner-tabs,.menu-builder-panel,.calendar-board-heading,.chore-title-line,.chore-person-heading,.flylady-command-main,.flylady-command-controls,.home-chore-header,.home-chore-progress,.party-section-heading,.flylady-section-heading,.activity-list-heading{flex-direction:column;align-items:stretch}.toolbar{justify-content:stretch}.toolbar>*,.meal-actions>*,.chore-actions>*,.calendar-form-actions>*,.calendar-board-heading>.primary-action,.recipe-actions,.recipe-actions>*,.recipe-menu-toolbar,.recipe-menu-toolbar>div:last-child,.recipe-menu-toolbar>div:last-child>*,.recipe-library-actions,.recipe-library-actions>*,.recipe-library-tabs,.dinner-tabs .segmented,.view-header>.secondary-action,.view-header>.primary-action,.recipe-heading>.secondary-action{width:100%}.pantry-item,.family-row,.pantry-controls{flex-direction:column;align-items:stretch}.pantry-item,.family-row{grid-template-columns:1fr}.family-badges{justify-content:flex-start}.chore-row-summary{grid-template-columns:auto minmax(0,1fr) auto}.chore-row-status{grid-column:2;justify-self:start;max-width:min(100%,180px)}.chore-row-actions{grid-area:1/3/span 2}.pantry-controls{grid-template-columns:1fr 36px 36px 1fr;display:grid}.pantry-controls>span{text-align:left;min-width:0}.alternative-panel-header,.alternative-row,.recipe-choice-row,.recipe-scan-panel,.recipe-form-row.compact{grid-template-columns:1fr}.alternative-panel-header{flex-direction:column}.alternative-actions{justify-items:stretch}.week-row,.month-row{grid-template-columns:56px minmax(0,1fr)}.week-row .week-row-title,.week-row span:nth-child(3),.month-row>span:nth-child(3),.week-row span:nth-child(4),.week-move-btn,.week-move-cancel,.week-move-target,.tag-mini-row,.status-pill{grid-column:1/-1}.tag-mini-row{justify-content:flex-start}.task-row{grid-template-columns:24px 12px minmax(0,1fr)}.task-row span:last-child{grid-column:3/-1}}@media print{@page{margin:12mm;size:A4}:root{color:#111;background:#fff}body{background:#fff}.topbar,.main-content{display:none!important}.app-shell{min-height:auto}.print-root{display:block}.print-section{display:none}html[data-print-scope=day] .print-day,html[data-print-scope=week] .print-week,html[data-print-scope=month] .print-month{display:block}.print-root,.print-card,.print-root table{color:#111;font-family:Arial,sans-serif}.print-root h1{margin:0 0 10mm;font-size:20pt;line-height:1.15}.print-card{page-break-inside:avoid;box-shadow:none;border:0;margin:0 0 9mm;padding:0}.recipe-print-card{break-before:page}.print-card h2{margin:0 0 4mm;font-size:15pt;line-height:1.2}.print-card h3{margin:5mm 0 2mm;font-size:11pt}.print-card p,.print-card li,.print-card td,.print-card th{font-size:9.5pt;line-height:1.35}.print-card ul,.print-card ol{margin-top:0;padding-left:5mm}.print-checks{list-style:none;padding-left:0!important}.print-root table{border-collapse:collapse;width:100%;margin:3mm 0 6mm}.print-root th,.print-root td{text-align:left;vertical-align:top;border:1px solid #bbb;padding:2.4mm 2mm}.print-groceries{columns:2;column-gap:12mm}.print-groceries>div{break-inside:avoid}.print-summary{page-break-inside:avoid;margin-bottom:8mm}}
