@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{--paper:#f6f5f0;--card:#fffefa;--ink:#111112;--muted:#6f6e69;--line:#d9d7d0;--blue:#254de4;--red:#d72830;--orange:#e58920;--green:#218451;--soft-red:#fbe8e8;--soft-orange:#fff0dc;--soft-green:#e4f5eb;--soft-blue:#e8edff;--shadow:0 2px 0 rgba(17,17,18,.05)}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.3rem,7vw,4rem);line-height:.98;letter-spacing:-.075em;font-weight:900;margin-bottom:10px}h2{font-size:1.45rem;letter-spacing:-.055em;font-weight:850;margin-bottom:0}h3{font-size:1.02rem;letter-spacing:-.035em}small,.mono,.eyebrow,.overline,.nav-label,.chip,.count-label,.status-badge,.button-small,.field-label{font-family:'JetBrains Mono',monospace}.eyebrow,.overline{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow{color:var(--blue);margin-bottom:12px}.overline{color:var(--muted)}.muted{color:var(--muted)}.app-shell{min-height:100vh}.sidebar{display:none}.app-content{min-width:0}.topbar{height:72px;padding:0 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.mobile-brand{font-size:1rem;font-weight:900;letter-spacing:-.055em;display:flex;align-items:center;gap:9px}.brand-mark{width:35px;height:35px;display:inline-grid;place-items:center;background:var(--ink);color:var(--card);font-weight:900;font-size:1.18rem;letter-spacing:-.1em;line-height:1}.brand-mark span{color:var(--red)}.topbar-right{display:flex;align-items:center;gap:18px}.preview-label{display:none;color:var(--muted);font:700 .62rem 'JetBrains Mono',monospace;letter-spacing:.11em}.avatar-button{border:2px solid var(--ink);background:var(--card);color:var(--ink);width:38px;height:38px;font:800 .72rem 'JetBrains Mono',monospace}.avatar-button:hover{background:var(--ink);color:#fff}main{max-width:1350px;margin:auto;padding:26px 16px 116px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:24px}.page-intro{max-width:600px;color:var(--muted);font-size:.91rem;line-height:1.55;margin:0}.head-action{flex:none}.btn{border:2px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;min-height:46px;padding:11px 16px;font-weight:750;font-size:.82rem;letter-spacing:-.015em;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;transition:transform .12s ease,background .12s ease}.btn:active,.icon-button:active,.status-control:active{transform:translateY(2px)}.btn.blue{background:var(--blue);border-color:var(--blue)}.btn.blue:hover{background:#1739bb}.btn.light{background:var(--card);color:var(--ink)}.btn.light:hover{background:#ebe9e2}.btn.ghost{background:transparent;color:var(--ink)}.btn.small{min-height:36px;padding:7px 11px;font-size:.72rem}.btn.full{width:100%}.icon-button{border:1px solid var(--line);background:var(--card);width:42px;height:42px;display:grid;place-items:center;font-size:1.1rem}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:28px 0 13px}.section-title p{font-size:.8rem;margin:4px 0 0;color:var(--muted)}.text-link{border:0;background:none;color:var(--blue);font-weight:800;font-size:.75rem;padding:10px 0;white-space:nowrap}.rule{height:1px;background:var(--line);margin:20px 0}.card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow)}.today-card{background:var(--ink);color:var(--card);padding:22px 21px 20px;position:relative;overflow:hidden}.today-card:after{content:"";position:absolute;width:180px;height:180px;border:24px solid rgba(255,255,255,.06);right:-88px;top:-92px;transform:rotate(30deg)}.today-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:29px}.today-top .overline{color:#b9b8b4}.today-card h2{font-size:clamp(2.3rem,8vw,3.6rem);line-height:1;letter-spacing:-.075em;margin-bottom:9px}.today-meal{font-size:.86rem;color:#e5e4df;margin-bottom:25px}.today-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #474747;padding-top:16px}.today-stat b{display:block;font-size:1.1rem;margin-bottom:3px}.today-stat span{display:block;color:#b9b8b4;font:.6rem 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.1em}.today-card .status-badge{background:var(--soft-green);color:#17653c}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:7px 8px;white-space:nowrap}.status-badge.confirmed{background:var(--soft-green);color:#17653c}.status-badge.planning{background:var(--soft-orange);color:#9b5611}.status-badge.attention{background:var(--soft-red);color:#ab1f27}.status-badge.neutral{background:#efeee8;color:#5a5954}.status-badge:before{content:"";width:6px;height:6px;background:currentColor}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.quick-card{min-height:103px;padding:14px;border:1px solid var(--line);background:var(--card);text-align:left;display:flex;flex-direction:column;justify-content:space-between}.quick-card:hover{border-color:var(--ink)}.quick-card .quick-icon{font-size:1.2rem;line-height:1}.quick-card strong{font-size:.82rem;letter-spacing:-.025em}.quick-card span:last-child{color:var(--muted);font-size:.65rem;line-height:1.35}.day-list{display:grid;gap:9px}.day-card{border:1px solid var(--line);background:var(--card);display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 12px;min-height:100px;box-shadow:var(--shadow)}.day-card.today{border-left:5px solid var(--blue);padding-left:8px}.date-block{height:65px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.date-block .weekday{font:700 .58rem 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.date-block .day-number{font-size:1.9rem;line-height:1;font-weight:900;letter-spacing:-.08em}.day-content{min-width:0}.day-title{display:flex;align-items:center;gap:7px;margin-bottom:6px;min-width:0}.day-title strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-meta{font-size:.68rem;color:var(--muted);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-meta b{color:var(--ink);font-weight:700}.day-card .status-badge{margin-top:2px}.day-action{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-control{border:1px solid currentColor;background:transparent;min-width:67px;min-height:34px;padding:7px 8px;font:700 .57rem 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.02em}.status-control.in{background:var(--soft-green);color:var(--green);border-color:#b4ddc4}.status-control.maybe{background:var(--soft-orange);color:#a96113;border-color:#f0d3a5}.status-control.out{background:var(--soft-red);color:var(--red);border-color:#edb8bc}.status-control.unanswered{background:#f0efe9;color:#696761;border-color:#d5d3cb}.open-day{border:0;background:none;color:var(--blue);font-size:.66rem;font-weight:800;padding:0}.notice{border-left:4px solid var(--orange);background:#fff8ea;padding:13px 14px;font-size:.76rem;line-height:1.55}.notice strong{display:block;font-weight:800;color:#87500d;margin-bottom:3px}.notice.blue{border-color:var(--blue);background:var(--soft-blue)}.notice.blue strong{color:var(--blue)}.notice p{margin:0}.notice-action{border:0;background:none;color:var(--blue);font-size:.7rem;font-weight:800;padding:9px 0 0}.profile-card{padding:20px;display:flex;align-items:center;gap:14px}.profile-avatar{width:55px;height:55px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:1rem;font-weight:900;flex:none}.profile-card strong{font-size:1.08rem;display:block}.profile-card span{font-size:.73rem;color:var(--muted)}.setting-list{display:grid;gap:0}.setting-row{border:1px solid var(--line);margin-bottom:-1px;background:var(--card);display:flex;justify-content:space-between;align-items:center;padding:17px 16px;gap:16px;text-align:left;width:100%;min-height:65px}.setting-row strong{display:block;font-size:.82rem}.setting-row small{display:block;color:var(--muted);font:400 .7rem Inter,sans-serif;margin-top:4px}.setting-row .arrow{font-size:1.2rem;color:var(--blue)}.meal-list{display:grid;gap:10px}.meal-card{display:grid;grid-template-columns:44px 1fr auto;gap:13px;align-items:center;padding:15px}.meal-symbol{width:44px;height:44px;background:var(--soft-blue);display:grid;place-items:center;color:var(--blue);font-size:1.1rem;font-weight:900}.meal-card strong{font-size:.89rem;display:block}.meal-card small{font:400 .69rem Inter,sans-serif;color:var(--muted)}.meal-card .btn{min-width:83px}.history-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat-card{padding:17px}.stat-card b{display:block;font-size:1.65rem;line-height:1.1;letter-spacing:-.07em}.stat-card small{font-size:.56rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}.person-row{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.initials{width:34px;height:34px;display:grid;place-items:center;background:var(--ink);color:#fff;font:700 .65rem 'JetBrains Mono',monospace}.person-row strong{font-size:.8rem}.bar{height:5px;background:#e9e7df;margin-top:7px}.bar span{display:block;height:100%;background:var(--blue)}.person-row .count{font:700 .73rem 'JetBrains Mono',monospace}.history-item{display:flex;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid var(--line);font-size:.78rem}.history-item:last-child{border-bottom:0}.history-item small{font-size:.59rem;color:var(--muted);display:block;margin-top:4px}.history-item b{white-space:nowrap}.board-header{background:var(--ink);color:#fff;padding:23px;margin-bottom:13px;display:flex;justify-content:space-between;gap:15px;align-items:end}.board-header h1{margin:0;font-size:clamp(2.2rem,6vw,4rem)}.board-header .eyebrow{color:#f18f95}.board-header .board-num{font-weight:900;font-size:2rem;line-height:1}.board-header .board-num span{font:600 .57rem 'JetBrains Mono',monospace;color:#c9c8c4;display:block;letter-spacing:.1em;margin-top:4px}.board-list{display:grid;gap:10px}.board-card{background:var(--card);border:1px solid var(--line);padding:16px;display:grid;grid-template-columns:64px 1fr;gap:14px}.board-card .date-block{height:100%;min-height:78px}.board-main{min-width:0}.board-top{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:11px}.board-top strong{font-size:1rem;letter-spacing:-.04em}.board-bottom{display:flex;justify-content:space-between;gap:10px;align-items:end;flex-wrap:wrap}.board-people{font-size:.7rem;line-height:1.5;color:var(--muted)}.board-people b{color:var(--ink)}.board-cook{font-size:.69rem}.board-cook span{color:var(--muted)}.board-card button{margin-top:7px}.board-layout{display:grid;gap:16px}.board-side{display:none}.board-side .card{padding:20px}.board-side h3{font-size:1.18rem}.board-side p{font-size:.8rem;line-height:1.6;color:var(--muted)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(69px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--card);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:30}.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:#777570;padding:5px 0}.bottom-nav button.active{color:var(--blue)}.nav-icon{font-size:1.16rem;line-height:1;font-family:Arial,sans-serif}.nav-label{font-size:.5rem;font-weight:700;letter-spacing:.01em}.bottom-nav button.active:before{content:"";position:absolute;top:0;width:31px;height:3px;background:var(--blue)}#overlay-root:empty{display:none}.overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.52);display:flex;justify-content:center;align-items:end}.sheet{background:var(--paper);width:100%;max-height:92vh;overflow-y:auto;padding:0 17px calc(22px + env(safe-area-inset-bottom));border-top:5px solid var(--blue)}.sheet-header{position:sticky;top:0;background:var(--paper);z-index:1;display:flex;justify-content:space-between;align-items:center;padding:18px 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px}.sheet-header h2{margin:0}.sheet-content{display:grid;gap:15px}.sheet-lead{font-size:.85rem;line-height:1.55;color:var(--muted);margin:0}.field-label{display:block;font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.field{width:100%;min-height:49px;border:1px solid var(--line);border-radius:0;background:var(--card);padding:11px 13px;color:var(--ink)}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.option-grid.three{grid-template-columns:repeat(3,1fr)}.option{background:var(--card);border:1px solid var(--line);min-height:60px;padding:12px;text-align:left;font-size:.75rem;font-weight:750}.option.selected{border:2px solid var(--blue);background:var(--soft-blue);color:var(--blue);padding:11px}.option small{display:block;font:400 .64rem Inter,sans-serif;color:var(--muted);margin-top:5px}.sheet-summary{padding:15px;background:var(--card);border:1px solid var(--line);font-size:.76rem;line-height:1.55}.sheet-summary strong{display:block;margin-bottom:5px}.sheet-summary p{margin:0;color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hidden{display:none!important}.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 15px;z-index:110;font-size:.72rem;font-weight:700;white-space:nowrap;max-width:90vw;text-overflow:ellipsis;overflow:hidden}
@media(min-width:700px){.topbar{padding:0 32px}.preview-label{display:block}main{padding:34px 32px 70px}.home-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px}.home-grid .home-primary{min-width:0}.home-grid .home-secondary{min-width:0}.quick-grid{grid-template-columns:1fr 1fr}.day-list{grid-template-columns:repeat(2,minmax(0,1fr))}.board-list{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-list{grid-template-columns:repeat(2,minmax(0,1fr))}.history-summary{grid-template-columns:repeat(4,1fr)}.overlay{align-items:center}.sheet{max-width:520px;max-height:88vh;border:1px solid var(--ink);border-top:5px solid var(--blue);padding:0 24px 25px}.board-layout{grid-template-columns:minmax(0,1fr) 280px}.board-side{display:block}.board-list{grid-template-columns:1fr}}
@media(min-width:1050px){.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;background:var(--ink);color:#fff;min-height:100vh;position:sticky;top:0;height:100vh;padding:30px 20px}.sidebar-brand{font-size:1.18rem;font-weight:900;letter-spacing:-.06em;display:flex;align-items:center;gap:12px;padding:0 9px 34px}.sidebar-brand .brand-mark{background:#fff;color:var(--ink)}.sidebar-brand small{display:block;font:.53rem 'JetBrains Mono',monospace;color:#888985;letter-spacing:.12em;margin-top:4px}.side-nav{display:grid;gap:5px}.side-nav button{border:0;background:none;color:#acaba7;display:flex;align-items:center;gap:14px;padding:15px 14px;text-align:left;font-weight:700;font-size:.81rem}.side-nav button:hover{color:#fff}.side-nav button.active{background:#303030;color:#fff;border-left:3px solid var(--red);padding-left:11px}.side-nav .nav-icon{font-size:1.12rem}.side-footer{margin-top:auto;border-top:1px solid #414141;padding:18px 9px 0;font:.57rem 'JetBrains Mono',monospace;letter-spacing:.08em;color:#8c8b87}.preview-dot{width:6px;height:6px;background:var(--green);display:inline-block;margin-right:5px}.side-version{display:block;margin:9px 0 0 11px}.mobile-brand,.bottom-nav{display:none}.topbar{position:relative}.home-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}main{padding:42px 45px 70px}.day-list{grid-template-columns:repeat(2,minmax(0,1fr))}.board-layout{grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:389px){.day-card{grid-template-columns:47px minmax(0,1fr) auto;gap:8px;padding:11px 8px}.day-card.today{padding-left:4px}.day-title strong{font-size:.78rem}.date-block .day-number{font-size:1.7rem}.status-badge{font-size:.52rem;padding:6px}.status-control{min-width:57px;font-size:.52rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Rotor v2: fewer containers, one type treatment for controls. */
button,.btn,.status-control,.option,.text-link,.open-day,.nav-label,.field{font-family:Inter,Arial,sans-serif}
.card,.day-card,.meal-card{box-shadow:none}
.page-head{margin-bottom:24px;align-items:end}
.page-head h1{margin-bottom:5px}
.page-intro{font-size:.88rem}
.today-card:after{display:none}
.today-card{padding:24px;border:0}
.today-card h2{max-width:750px;margin:0 0 32px}
.today-top{margin-bottom:44px}
.today-edit{margin-top:24px}
.home-actions{display:flex;gap:8px;margin-top:10px}
.home-actions .btn{flex:1}
.btn,.btn.small{font-weight:800;letter-spacing:0}
.btn.small{min-height:42px;padding:9px 13px;font-size:.72rem}
.status-control{border:2px solid transparent;min-width:78px;min-height:42px;padding:8px 11px;font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:uppercase}
.status-control.in{background:var(--green);border-color:var(--green);color:#fff}
.status-control.maybe{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.status-control.out{background:var(--red);border-color:var(--red);color:#fff}
.status-control.unanswered{background:var(--ink);border-color:var(--ink);color:#fff}
.option{font-size:.82rem;font-weight:800}
.option.selected{background:var(--blue);color:#fff;border-color:var(--blue)}
.status-option{min-height:58px;border:2px solid transparent;color:#fff;text-align:center;font-size:.9rem}
.status-option.in,.status-option.in.selected{background:var(--green);border-color:var(--green);color:#fff}
.status-option.maybe,.status-option.maybe.selected{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.status-option.out,.status-option.out.selected{background:var(--red);border-color:var(--red);color:#fff}
.status-option.selected{outline:3px solid var(--ink);outline-offset:2px}
.status-badge{font-family:Inter,Arial,sans-serif;font-weight:800;letter-spacing:0}
.nav-label{font-size:.6rem;font-weight:800}
.avatar-button{font-family:Inter,Arial,sans-serif}
.day-card{min-height:108px}
.day-meta{font-size:.73rem}
.day-title strong{font-size:.94rem}
.day-action{gap:5px}
.meal-card{min-height:80px}
.meal-symbol{background:transparent;border-right:2px solid var(--blue);width:36px;color:var(--blue)}
.kitchen-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}
.kitchen-heading .eyebrow{margin-bottom:7px}
.kitchen-heading h1{margin:0}
.focus-days{display:grid;grid-template-columns:1fr;gap:12px}
.focus-day{min-width:0;min-height:390px;padding:25px;background:var(--card);border:2px solid var(--ink);display:flex;flex-direction:column}
.focus-today{background:var(--ink);color:#fff}
.focus-date{display:flex;justify-content:space-between;gap:10px;align-items:baseline;border-bottom:1px solid currentColor;padding-bottom:13px}
.focus-date span,.focus-facts small{font:800 .72rem Inter,Arial,sans-serif;letter-spacing:.04em}
.focus-date strong{font-size:.86rem;text-align:right}
.focus-meal{font-size:clamp(2.5rem,7vw,5.5rem);font-weight:900;line-height:.98;letter-spacing:-.07em;margin:26px 0 auto;max-width:12ch;overflow-wrap:anywhere}
.focus-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid currentColor;padding-top:16px;margin-top:35px}
.focus-facts div{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.focus-facts strong{font-size:clamp(1.4rem,3vw,2.1rem);letter-spacing:-.05em;line-height:1.1}
.focus-facts em{font-size:.8rem;font-style:normal;font-weight:700;letter-spacing:0}
.focus-facts span{font-size:.76rem;line-height:1.35}
.focus-open{align-self:flex-start;margin-top:24px;background:var(--blue);color:#fff;border:2px solid var(--blue);padding:11px 15px;font-size:.76rem;font-weight:800;min-height:44px}
.focus-today .focus-open{background:#fff;color:var(--ink);border-color:#fff}
.later-week{margin-top:12px;border:1px solid var(--line);background:var(--card)}
.later-week summary{list-style:none;cursor:pointer;padding:19px 22px;display:flex;justify-content:space-between;gap:12px;font-size:1.05rem;font-weight:800}
.later-week summary::-webkit-details-marker{display:none}
.later-week summary span{font-size:.68rem;font-weight:800;color:var(--blue);align-self:center}
.later-week .day-list{padding:0 12px 12px}
@media(min-width:700px){.focus-days{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-day{min-height:min(70vh,610px);padding:32px}.focus-meal{font-size:clamp(3rem,5vw,5.5rem)}.later-week .day-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.focus-day{min-height:370px}.focus-date{align-items:flex-start;flex-direction:column;gap:5px}.focus-date strong{text-align:left}.focus-meal{font-size:clamp(2.7rem,12vw,4.3rem)}.home-actions .btn{font-size:.7rem;padding-left:8px;padding-right:8px}}

/* Household and one tap planning controls. */
.availability-list{display:grid;gap:10px}
.availability-card{background:var(--card);border:1px solid var(--line);padding:16px;min-width:0}
.availability-head{display:flex;gap:13px;align-items:center;margin-bottom:14px}
.availability-head .date-block{min-width:55px;height:54px}
.availability-head strong{display:block;font-size:1rem;letter-spacing:-.03em}
.availability-head span{display:block;font-size:.74rem;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.availability-head>div:last-child{min-width:0}
.availability-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.status-choice{min-height:47px;border:2px solid var(--line);background:#fff;color:var(--ink);font-size:.78rem;font-weight:800;text-transform:uppercase}
.status-choice.in.selected{background:var(--green);color:#fff;border-color:var(--green)}
.status-choice.maybe.selected{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.status-choice.out.selected{background:var(--red);color:#fff;border-color:var(--red)}
.availability-extra{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px}
.quick-toggle{min-height:42px;border:2px solid var(--line);background:var(--card);color:var(--ink);font-size:.72rem;font-weight:800;text-align:center}
.quick-toggle.active{background:var(--ink);border-color:var(--ink);color:#fff}
.quick-toggle:first-child.active{background:var(--blue);border-color:var(--blue)}
.availability-trip{font-size:.72rem;color:var(--muted);margin-top:9px}
.recipe-link{display:inline-block;font-size:.67rem;font-weight:800;color:var(--blue);margin-top:7px;text-decoration:none}
.recipe-link:hover,.recipe-view a:hover{text-decoration:underline}
.meal-card>div:nth-child(2){min-width:0}
.meal-card small{display:block;line-height:1.35;margin-top:3px}
.role-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.role-button{min-height:45px;background:var(--card);border:2px solid var(--line);font-size:.8rem;font-weight:800}
.role-button.selected{background:var(--ink);border-color:var(--ink);color:#fff}
.profile-hint{color:var(--muted);font-size:.72rem;line-height:1.45;margin:10px 0 0}
.permission-list{border:1px solid var(--line);background:var(--card)}
.permission-list div{padding:13px 15px;border-bottom:1px solid var(--line);font-size:.8rem;line-height:1.4}
.permission-list div:last-child{border-bottom:0}
.member-row{border:1px solid var(--line);margin-bottom:-1px;background:var(--card);padding:12px 14px;display:flex;align-items:center;gap:12px;min-height:63px}
.member-row strong{font-size:.83rem;flex:1}
.member-row button{border:0;background:none;color:var(--blue);font-size:.68rem;font-weight:800;padding:10px 0}
.reset-wrap{margin-top:22px}
.sheet-meal{font-size:1.8rem}
.sheet-extra{margin-top:8px}
.sheet-people{border-top:1px solid var(--line)}
.sheet-people div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.82rem}
.sheet-people span{color:var(--muted);text-align:right}
.recipe-editor{display:grid;gap:8px}
textarea.field{resize:vertical;font-family:Inter,Arial,sans-serif;line-height:1.45}
.recipe-view{border-top:1px solid var(--line);padding-top:15px}
.recipe-view a{font-size:.8rem;font-weight:800;color:var(--blue);text-decoration:none}
.recipe-view p{font-size:.81rem;line-height:1.45;color:var(--muted);margin:7px 0 0}
@media(min-width:700px){.availability-list{grid-template-columns:repeat(2,minmax(0,1fr))}.role-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Live account and form screens */
body.auth-open .sidebar,body.auth-open .topbar,body.auth-open .bottom-nav{display:none!important}
body.auth-open .app-shell{display:block}
body.auth-open main{max-width:620px;margin:0 auto;padding:clamp(32px,8vw,90px) 20px}
.auth-panel{background:var(--card);border:1px solid var(--ink);border-top:6px solid var(--blue);padding:clamp(24px,6vw,42px)}
.auth-panel h1{margin:10px 0 14px}
.auth-panel p{color:var(--muted);line-height:1.5;font-size:.93rem;margin-bottom:26px}
.auth-panel form{display:grid;gap:10px}
.auth-panel label{font-size:.7rem;font-weight:800;margin-top:8px}
.auth-panel .btn{margin-top:12px}
.auth-secondary{display:block;margin:20px auto 0}
.sheet-content form{display:grid;gap:8px}
.sheet-content form .btn{margin-top:14px}
.compact-select{width:auto;min-width:130px;max-width:50%;margin-left:auto}

.history-counts{font-size:.7rem;color:var(--muted);white-space:nowrap}
.history-counts b{font-size:1rem;color:var(--ink)}
.history-log{border:1px solid var(--line);background:var(--card)}
.history-entry{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:17px;border-bottom:1px solid var(--line)}
.history-entry:last-child{border-bottom:0}
.history-entry strong{display:block;font-size:.84rem;line-height:1.35}
.history-entry small{display:block;color:var(--muted);font-size:.67rem;line-height:1.4;margin-top:5px}
.history-entry p{font-size:.73rem;color:var(--muted);margin:7px 0 0}
.history-entry .btn{flex:none}
.history-empty{background:var(--card);border:1px solid var(--line);padding:24px;font-size:.84rem;color:var(--muted)}
@media(min-width:700px){.history-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
