@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-fraunces:"Fraunces","Fraunces Fallback"}:root{--bg:#FAF8F5;--bg2:#F2EEE7;--card:#FFFFFF;--card2:#FBF9F6;--ink:#1B1917;--ink2:#3D3830;--muted:#7C7466;--faint:#A79E8E;--line:#E8E2D8;--line2:#D8D0C3;--accent:#A8542F;--accent-soft:#F6EBE2;--accent-ink:#8A4526;--ok:#3F7A57;--ok-soft:#EAF3ED;--warn:#9A6B1F;--warn-soft:#F8F0DF;--shadow:0 1px 2px rgba(30,24,16,.04),0 8px 24px -12px rgba(30,24,16,.14);--shadow-lg:0 2px 6px rgba(30,24,16,.06),0 24px 48px -20px rgba(30,24,16,.24);--r:14px;--r-sm:10px;--r-lg:20px;--p-stef:#3B6E7A;--p-eline:#A05A3C;--p-lou:#5B7A4A;--p-kid2:#7A6A9B;--p-fam:#857E6E;--ui:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--display:"Fraunces","Iowan Old Style",Georgia,serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141311;--bg2:#1B1916;--card:#1F1D19;--card2:#252219;--ink:#F2EDE4;--ink2:#DCD5C8;--muted:#9B9384;--faint:#726A5C;--line:#302C25;--line2:#3D3830;--accent:#DA8A5C;--accent-soft:#2E241C;--accent-ink:#E9A87F;--ok:#6FB58B;--ok-soft:#1D2A22;--warn:#D6A75A;--warn-soft:#2B2417;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);--shadow-lg:0 2px 6px rgba(0,0,0,.4),0 24px 48px -20px rgba(0,0,0,.7);--p-stef:#6FA8B6;--p-eline:#D08A63;--p-lou:#8FB37A;--p-kid2:#A797C7;--p-fam:#B0A894}}:root[data-theme=dark]{--bg:#141311;--bg2:#1B1916;--card:#1F1D19;--card2:#252219;--ink:#F2EDE4;--ink2:#DCD5C8;--muted:#9B9384;--faint:#726A5C;--line:#302C25;--line2:#3D3830;--accent:#DA8A5C;--accent-soft:#2E241C;--accent-ink:#E9A87F;--ok:#6FB58B;--ok-soft:#1D2A22;--warn:#D6A75A;--warn-soft:#2B2417;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.6);--shadow-lg:0 2px 6px rgba(0,0,0,.4),0 24px 48px -20px rgba(0,0,0,.7);--p-stef:#6FA8B6;--p-eline:#D08A63;--p-lou:#8FB37A;--p-kid2:#A797C7;--p-fam:#B0A894}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.01em}a{color:var(--accent-ink)}::selection{background:var(--accent-soft)}.shell{display:flex;min-height:100dvh}.side{display:none}.main{flex:1 1;min-width:0;padding:0 0 92px}.wrap{max-width:1180px;margin:0 auto;padding:0 16px}@media(min-width:900px){.side{display:flex;flex-direction:column;gap:2px;width:236px;flex:0 0 236px;padding:22px 12px;border-right:1px solid var(--line);background:var(--bg2);position:-webkit-sticky;position:sticky;top:0;height:100dvh}.main{padding-bottom:40px}.wrap{padding:0 28px}.tabbar{display:none}}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 18px}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;font-weight:700;font-size:16px;flex:0 0 auto}.brand-mark,.brand-name{font-family:var(--display)}.brand-name{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em}.brand-sub{display:block;font-size:11px;color:var(--muted);margin-top:-2px}.navbtn{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;color:var(--ink2);font-size:14.5px;font-weight:450;width:100%;text-align:left;transition:background .12s}.navbtn:hover{background:rgba(0,0,0,.035)}:root[data-theme=dark] .navbtn:hover{background:rgba(255,255,255,.05)}.navbtn.on{background:var(--card);color:var(--ink);font-weight:550;box-shadow:var(--shadow)}.navbtn .ic{width:18px;text-align:center;font-size:15px;opacity:.85}.navbtn .badge{margin-left:auto;font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);padding:1px 7px;border-radius:20px}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:color-mix(in srgb,var(--card) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar button{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;color:var(--muted);font-size:10.5px;font-weight:500}.tabbar button .ic{font-size:18px;line-height:1}.tabbar button.on{color:var(--accent-ink)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);margin-bottom:20px}.topbar-in{max-width:1180px;margin:0 auto;padding:13px 16px;display:flex;align-items:center;gap:12px}@media(min-width:900px){.topbar-in{padding:16px 28px}}.page-t{font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.page-s{font-size:12.5px;color:var(--muted);margin-top:1px}.spacer{flex:1 1}.wknav{display:flex;align-items:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:2px;box-shadow:var(--shadow)}.wknav button{padding:6px 10px;border-radius:8px;color:var(--ink2);font-size:14px;font-weight:500;line-height:1}.wknav button:hover{background:var(--bg2)}.wknav .now{font-size:12.5px;padding:6px 11px}.btn,.wknav .now{font-weight:550;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;border-radius:11px;background:var(--card);border:1px solid var(--line2);font-size:13.5px;color:var(--ink);box-shadow:var(--shadow);transition:.12s}.btn:hover{border-color:var(--faint);transform:translateY(-1px)}.btn:active{transform:none}.btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}.btn.pri:hover{background:var(--accent-ink)}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn.ghost:hover{background:var(--bg2);color:var(--ink)}.btn.sm{padding:6px 10px;font-size:12.5px;border-radius:9px}.btn.xs{padding:4px 8px;font-size:11.5px;border-radius:8px;font-weight:500}.btn:disabled{opacity:.45;pointer-events:none}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.pad{padding:16px}.sect-t{font-size:11px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin:26px 0 10px}.sect-t:first-child{margin-top:0}.muted{color:var(--muted)}.tiny{font-size:12px}.empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:13.5px}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:550;background:var(--bg2);color:var(--ink2);border:1px solid transparent;white-space:nowrap}.chip.line{background:transparent;border-color:var(--line2);color:var(--muted)}.chip.acc{background:var(--accent-soft);color:var(--accent-ink)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip button{margin-left:2px;opacity:.55;font-size:13px;line-height:1}.chip button:hover{opacity:1}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:12px;font-weight:550;color:var(--muted);margin-bottom:5px}.inp{width:100%;padding:9px 11px;border-radius:10px;border:1px solid var(--line2);background:var(--card);color:var(--ink);font-size:14px;outline:none;transition:.12s}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.inp{resize:vertical;min-height:70px}.row2{grid-template-columns:1fr 1fr;grid-gap:10px}.row2,.row3{display:grid;gap:10px}.row3{grid-template-columns:1fr 1fr 1fr;grid-gap:10px}.check{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:5px 0;cursor:pointer}.check input{width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;box-shadow:var(--shadow);text-align:left;transition:.12s}.stat:hover{border-color:var(--line2);transform:translateY(-1px)}.stat .k{font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.stat .v{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.02em;margin-top:4px;line-height:1.1}.stat .d{font-size:11.5px;color:var(--muted);margin-top:1px;line-height:1.3}@media(max-width:600px){.stat .v{font-size:19px}.stat{padding:11px}}.actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:24px}@media(max-width:600px){.actions{grid-template-columns:1fr}}.act{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;transition:.14s}.act:hover{transform:translateY(-1px);border-color:var(--line2);box-shadow:var(--shadow-lg)}.act .ic{font-size:19px;flex:0 0 auto}.act .t{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.act .s{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.act.pri{background:var(--accent);border-color:var(--accent);color:#fff}.act.pri .s{color:rgba(255,255,255,.8)}.weekgrid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr}@media(min-width:760px){.weekgrid{grid-template-columns:1fr 1fr}}@media(min-width:1120px){.weekgrid{grid-template-columns:1fr 1fr 1fr}}.day{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.day.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.day.weekend .day-h{background:var(--bg2)}.day-h{display:flex;align-items:baseline;gap:8px;padding:11px 14px 9px;border-bottom:1px solid var(--line)}.day-n{font-family:var(--display);font-size:16.5px;font-weight:600;letter-spacing:-.01em}.day-d{font-size:12px;color:var(--muted)}.day-h .tag{margin-left:auto;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);padding:2px 7px;border-radius:6px}.day-b{padding:4px 14px 12px;flex:1 1;display:flex;flex-direction:column}.part{margin-top:9px}.part-t{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.ev{display:flex;align-items:flex-start;gap:7px;padding:3px 0;font-size:13.2px;line-height:1.35;position:relative}.ev .dot{width:7px;height:7px;border-radius:3px;flex:0 0 auto;margin-top:5px;background:var(--p-fam)}.ev .tm{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:12px;color:var(--muted);flex:0 0 auto;min-width:34px}.ev .tx{flex:1 1;min-width:0}.ev.skip{opacity:.4;text-decoration:line-through}.ev .x{opacity:0;font-size:12px;color:var(--faint);padding:0 2px}.ev:hover .x{opacity:.7}.ev .x:hover{opacity:1;color:var(--accent)}.menu-strip{margin:auto -14px -12px;padding:11px 14px;background:var(--card2);border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:9px}.menu-strip .ic{font-size:15px;line-height:1.3;flex:0 0 auto}.menu-strip .n{font-size:13.8px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.menu-strip .m{font-size:11.5px;color:var(--muted);margin-top:2px;display:flex;gap:7px;flex-wrap:wrap}.menu-strip.none{color:var(--faint);font-size:13px}.mday{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:11px;overflow:hidden;transition:box-shadow .15s,transform .15s}.mday.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow)}.mday.dragging{opacity:.35}.mday-h{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--card2)}.mday-n{font-family:var(--display);font-size:15.5px;font-weight:600;min-width:88px}.mday-h .prof{font-size:11.5px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center}.mday-b{padding:13px 14px;display:flex;gap:13px;align-items:flex-start}.mday-b .grip{cursor:-webkit-grab;cursor:grab;color:var(--faint);font-size:15px;padding:2px 0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex:0 0 auto}.mday-b .grip:active{cursor:-webkit-grabbing;cursor:grabbing}.mmeal{flex:1 1;min-width:0}.mmeal .nm{font-size:16px;font-weight:600;letter-spacing:-.015em;line-height:1.25}.mmeal .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.mmeal .why{font-size:11.8px;color:var(--muted);margin-top:7px;line-height:1.45}.mact{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.mempty{flex:1 1;color:var(--faint);font-size:14px;padding:3px 0}.locked .nm:after{content:" 🔒";font-size:12px}.dragghost{position:fixed;z-index:200;pointer-events:none;background:var(--card);border:1px solid var(--accent);border-radius:12px;padding:9px 13px;box-shadow:var(--shadow-lg);font-size:14px;font-weight:600;opacity:.96}.tbl{width:100%;border-collapse:collapse;font-size:13.4px}.tbl th{text-align:left;font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 10px;white-space:nowrap}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:10px;vertical-align:top}.tbl td.nw{white-space:nowrap}.tbl tr:last-child td{border-bottom:none}.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.rgrid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr}@media(min-width:640px){.rgrid{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.rgrid{grid-template-columns:1fr 1fr 1fr}}.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 14px;box-shadow:var(--shadow);text-align:left;transition:.13s;display:flex;flex-direction:column;gap:7px}.rcard:hover{transform:translateY(-1px);border-color:var(--line2);box-shadow:var(--shadow-lg)}.rcard .nm{font-size:14.5px;font-weight:600;letter-spacing:-.015em;line-height:1.3}.rcard .meta{gap:5px;margin-top:auto}.rcard .meta,.stars{display:flex;flex-wrap:wrap}.stars{font-size:11.5px;color:var(--muted);gap:9px}.stars b{font-weight:600;color:var(--ink2)}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.fbtn{padding:5px 11px;border-radius:20px;border:1px solid var(--line2);background:var(--card);font-size:12.5px;font-weight:500;color:var(--ink2);transition:.12s}.fbtn:hover{border-color:var(--faint)}.fbtn.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.fgroup{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:9px}.fgroup>.lbl{font-size:10.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);min-width:92px}.aisle{margin-bottom:8px}.aisle-h{display:flex;align-items:center;gap:8px;padding:11px 14px 7px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.aisle-h .n{margin-left:auto;font-weight:600;letter-spacing:0;text-transform:none;font-size:11.5px;color:var(--faint)}.gitem{display:flex;align-items:center;gap:11px;padding:9px 14px;border-bottom:1px solid var(--line);transition:background .12s}.gitem:last-child{border-bottom:none}.gitem:hover{background:var(--card2)}.gitem .nm{flex:1 1;min-width:0;font-size:14px}.gitem .nm .sub{font-size:11.5px;color:var(--muted);margin-top:1px}.gitem .qty{font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink2);white-space:nowrap}.gitem.have{opacity:.5}.gitem.have .nm{text-decoration:line-through}.gitem.skip{opacity:.32}.seg{display:inline-flex;background:var(--bg2);border-radius:9px;padding:2px;gap:1px;flex:0 0 auto}.seg button{padding:4px 8px;border-radius:7px;font-size:11px;font-weight:600;color:var(--muted);transition:.1s}.seg button.on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}.seg button.on.g{color:var(--ok)}.seg button.on.r{color:var(--accent-ink)}.scrim{position:fixed;inset:0;background:rgba(24,20,14,.42);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fade .16s ease}@media(min-width:760px){.scrim{align-items:center;padding:26px}}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--bg);width:100%;max-width:640px;max-height:92dvh;overflow-y:auto;border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);animation:up .22s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:760px){.sheet{border-radius:20px;max-height:86dvh}}@keyframes up{0%{transform:translateY(28px);opacity:.4}to{transform:none;opacity:1}}.sheet-h{position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 93%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:12px;z-index:2}.sheet-h .t{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.02em;flex:1 1;line-height:1.25}.sheet-b{padding:16px 18px 24px}.sheet-f{position:-webkit-sticky;position:sticky;bottom:0;background:color-mix(in srgb,var(--bg) 93%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:300;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:11px;font-size:13.5px;font-weight:500;box-shadow:var(--shadow-lg);animation:up .2s ease;max-width:88vw;text-align:center}@media(min-width:900px){.toast{bottom:26px}}.savebar{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}.savedot{width:7px;height:7px;border-radius:4px;background:var(--ok)}.savedot.dirty{background:var(--warn)}.savedot.off{background:var(--faint)}.mgrid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.mgrid .hd{background:var(--bg2);padding:7px 4px;text-align:center;font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--faint)}.mcell{background:var(--card);min-height:78px;padding:5px 6px;font-size:11.5px;text-align:left;transition:.1s}.mcell:hover{background:var(--card2)}.mcell.out{background:var(--bg2);opacity:.5}.mcell.today .dn{background:var(--accent);color:#fff;border-radius:6px;padding:0 4px}.mcell .dn{font-weight:650;font-size:12px;display:inline-block;margin-bottom:3px}.mcell .mi{display:flex;align-items:center;gap:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.35}.mcell .mi i{width:5px;height:5px;border-radius:3px;flex:0 0 auto;background:var(--p-fam)}@media(max-width:640px){.mcell{min-height:60px;font-size:10px;padding:3px 4px}.mcell .mi i{width:4px;height:4px}}.printsheet{display:none}@media print{@page{size:A3 landscape;margin:10mm}body{background:#fff}.print-bar,.print-preview-note,.printsheet,.scrim,.shell,.tabbar,.toast,.topbar{display:none!important}body:not([data-print]) .printsheet.week,body[data-print=month] .printsheet.month,body[data-print=week] .printsheet.week{display:flex!important;flex-direction:column;min-height:255mm}body[data-print=list] .printsheet.list{display:block!important}.printsheet.month .pm-grid,.printsheet.week .pr-grid{flex:1 1}.pm-c{min-height:0}}.printsheet{--pink:#241F19;--pmut:#6E6558;--pline:#D9D0C2;--pcream:#FBF7F0;--pacc:#A8542F;background:#fff;color:var(--pink);font-family:var(--ui);-webkit-print-color-adjust:exact;print-color-adjust:exact}.pr-h{display:flex;align-items:flex-end;gap:16px;border-bottom:2.5px solid var(--pink);padding-bottom:7mm;margin-bottom:7mm}.pr-h .fam{font-family:var(--display);font-size:38pt;font-weight:600;letter-spacing:-.02em;line-height:.95}.pr-h .wk{font-size:12pt;color:var(--pmut);margin-top:2mm;letter-spacing:.02em}.pr-h .rng{margin-left:auto;text-align:right;font-family:var(--display);font-size:17pt;font-weight:500;line-height:1.15}.pr-h .rng small{display:block;font-family:var(--ui);font-size:9.5pt;color:var(--pmut);letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin-top:1.5mm}.pr-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3.5mm;gap:3.5mm;align-items:stretch;grid-auto-rows:1fr}.pr-day{border:1.2pt solid var(--pline);border-radius:3mm;overflow:hidden;display:flex;flex-direction:column;background:#fff;page-break-inside:avoid;break-inside:avoid}.pr-day.we,.pr-dh{background:var(--pcream)}.pr-dh{padding:3mm 3.5mm 2.5mm;border-bottom:1.2pt solid var(--pline)}.pr-day.we .pr-dh{background:#F4EDE1}.pr-dn{font-family:var(--display);font-size:21pt;font-weight:600;letter-spacing:-.02em;line-height:1}.pr-dd{font-size:10.5pt;color:var(--pmut);margin-top:1mm;font-weight:500}.pr-db{padding:3mm 3.5mm;flex:1 1;gap:2.5mm}.pr-db,.pr-trans{display:flex;flex-direction:column}.pr-trans{gap:1.2mm;padding-bottom:2.5mm;border-bottom:.8pt dashed var(--pline)}.pr-tr{display:flex;align-items:baseline;gap:2mm;font-size:11.5pt;line-height:1.25}.pr-tr .lb{font-size:8.5pt;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pmut);min-width:13mm}.pr-tr b{font-weight:600}.pr-ev{display:flex;gap:2mm;font-size:12pt;line-height:1.3;align-items:flex-start}.pr-ev .t{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:13mm;font-size:11pt}.pr-ev .w{display:block;font-size:9pt;color:var(--pmut)}.pr-ev .n{flex:1 1}.pr-ev i{width:2mm;height:2mm;border-radius:1mm;margin-top:1.6mm;flex:0 0 auto;background:var(--pmut)}.pr-meal{margin-top:auto;padding-top:3mm;border-top:1.2pt solid var(--pink)}.pr-meal .lb{font-size:9pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pacc);margin-bottom:1.5mm}.pr-meal .n{font-family:var(--display);font-size:16pt;font-weight:600;line-height:1.15;letter-spacing:-.01em}.pr-meal .m{margin-top:1.5mm}.pr-foot,.pr-meal .m{font-size:10pt;color:var(--pmut)}.pr-foot{margin-top:5mm;padding-top:3mm;border-top:1pt solid var(--pline);gap:8mm}.pr-foot,.pr-foot .lg{display:flex;align-items:center}.pr-foot .lg{gap:1.5mm}.pr-foot .lg i{width:2.5mm;height:2.5mm;border-radius:1.25mm;display:inline-block}.pr-note{margin-left:auto;font-style:italic}.pm-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1.2pt solid var(--pline);border-radius:3mm;overflow:hidden}.pm-hd{background:var(--pcream);padding:2.5mm;text-align:center;font-size:10pt;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:1.2pt solid var(--pline)}.pm-c,.pm-hd{border-right:.8pt solid var(--pline)}.pm-c{min-height:33mm;padding:2mm 2.5mm;border-bottom:.8pt solid var(--pline)}.pm-c.we{background:var(--pcream)}.pm-c.out{background:#F6F3EE;opacity:.45}.pm-c .d{font-family:var(--display);font-size:13pt;font-weight:600;margin-bottom:1mm}.pm-c .e{font-size:8.5pt;line-height:1.3;display:flex;gap:1.5mm;align-items:flex-start}.pm-c .e i{width:1.8mm;height:1.8mm;border-radius:.9mm;margin-top:1.3mm;flex:0 0 auto}.pm-c .ml{font-size:8.5pt;font-weight:600;color:var(--pacc);margin-top:1mm}@media(min-width:900px){.tabbar{display:none!important}}:root{--ui:var(--font-inter),"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--display:var(--font-fraunces),"Fraunces","Iowan Old Style",Georgia,serif}.tabbar button .lb{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);height:150px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:.9}}.errbox{background:var(--warn-soft);color:var(--warn);border:1px solid transparent;border-radius:var(--r);padding:14px 16px;font-size:13.5px;margin-bottom:14px}.starrow{display:flex;align-items:center;gap:9px;padding:7px 0}.starrow .who{flex:1 1;min-width:0;font-size:14px}.stars-pick{display:flex;gap:2px}.stars-pick button{font-size:19px;line-height:1;padding:2px;opacity:.32;transition:.1s}.stars-pick button.on{opacity:1}.stars-pick button:hover{transform:scale(1.12)}.plist{display:flex;flex-direction:column;gap:6px;max-height:none}.pitem{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;border:1px solid var(--line);background:var(--card);text-align:left;width:100%;transition:.12s}.pitem:hover{border-color:var(--line2);transform:translateY(-1px)}.pitem.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.pitem .nm{flex:1 1;min-width:0;font-size:14px;font-weight:550}.pitem .sub{font-size:11.5px;color:var(--muted);margin-top:1px;font-weight:400}@media screen{.print-shell{min-height:100dvh;background:var(--bg2);padding:16px}.print-bar{max-width:1400px;margin:0 auto 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.print-bar .t{font-family:var(--display);font-size:17px;font-weight:600}.print-shell .printsheet{display:block;max-width:1400px;margin:0 auto;padding:16mm;border-radius:12px;box-shadow:var(--shadow-lg);color:#241F19}.print-shell .printsheet.week .pr-grid{grid-template-columns:repeat(7,1fr)}.print-shell .printsheet .pr-day{min-height:210px}}@media screen and (max-width:900px){.print-shell .printsheet{padding:8mm}.print-shell .printsheet.week .pr-grid{grid-template-columns:repeat(2,1fr)}.print-shell .printsheet .pr-day{min-height:0}}.tabbar a,a.act,a.btn,a.navbtn,a.stat{text-decoration:none}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:10px;color:var(--muted);font-size:10.5px;font-weight:500}.tabbar a .ic{font-size:18px;line-height:1}.tabbar a.on{color:var(--accent-ink)}.only-mobile{display:inline-flex}@media(min-width:900px){.only-mobile{display:none!important}}.menu-strip.kids{margin-top:12px;border-top:1px dashed var(--line2);background:var(--accent-soft)}.menu-strip.kids .n{font-size:13px}.menu-strip.kids .ic{font-size:14px}.checkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:0 10px;gap:0 10px}.ingrow{display:grid;grid-template-columns:76px 92px 1fr 150px;grid-gap:6px;gap:6px;margin-bottom:6px}@media(max-width:640px){.ingrow{grid-template-columns:64px 80px 1fr}.ingrow select:last-child{grid-column:1/-1}}@media (max-width:900px),(pointer:coarse){.ingrow .inp,.inp,select.inp,textarea.inp{font-size:16px}.ingrow .inp{padding:8px 9px}}@media (pointer:coarse){.btn.xs{padding:7px 11px;font-size:12.5px;min-height:34px}.btn.sm{padding:9px 13px;min-height:40px}.seg button{padding:7px 10px;min-height:32px}.gitem,.navbtn{min-height:44px}.ev .x{opacity:.55}.mact{gap:7px}.fbtn{padding:7px 13px}}.topbar{padding-top:env(safe-area-inset-top)}.side{padding-top:calc(22px + env(safe-area-inset-top))}@media (display-mode:standalone){.topbar{position:-webkit-sticky;position:sticky}body{-webkit-tap-highlight-color:transparent}}body,html{max-width:100%;overflow-x:clip}.sheet-b pre,.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:380px){.gitem{flex-wrap:wrap;row-gap:6px}.gitem .nm{flex:1 1 100%;min-width:0}.gitem .qty{order:2}.gitem .seg{order:3;margin-left:auto}}@media screen and (max-width:480px){.print-shell{overflow-x:hidden}.print-shell .printsheet{padding:5mm}.print-shell .printsheet.week .pr-grid{grid-template-columns:1fr}.print-shell .pr-h{flex-wrap:wrap}.print-shell .pr-h .rng{margin-left:0;text-align:left}.print-shell .pr-foot{flex-wrap:wrap}.print-shell .pr-foot .pr-note{margin-left:0;flex:1 1 100%}}@media (max-width:430px){.page-s{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}}