:root{--background:#ffffff;--foreground:#171717;--bg:var(--background);--fg:var(--text);--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:24px;--space-7:32px}body,html{max-width:100vw;overflow-x:hidden;color:var(--c-text);background:#a8d8e5}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--background);color:var(--text);min-height:100vh;display:block;position:relative}*,body{padding:0}*{box-sizing:border-box;margin:0}a{color:inherit;text-decoration:none}html{color-scheme:light}.pageShell{max-width:64rem;margin-inline:auto;padding:16px}.pageTitle{margin:8px 0 12px;font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.pageSection{margin-top:16px}@media (max-width:640px){.pageShell{padding:12px}.pageTitle{font-size:1.25rem}}.completedWrap{background:var(--surface-2,#f6f7f8);border:1px solid var(--border,#e6e8ea);border-radius:12px;padding:12px}:root{--border-strong:#d0d4d8}.primary{transition:background-color .15s ease,opacity .15s ease,transform .05s ease;min-height:44px}.primary:hover{background:var(--brand-700)}.primary:disabled{cursor:not-allowed}.primary:focus-visible{outline:2px solid var(--brand-100);outline-offset:2px}.btnPrimary{padding:10px 14px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-600);color:#fff;font-weight:600;cursor:pointer;transition:background-color .15s ease,opacity .15s ease,transform .05s ease;min-height:44px}.btnPrimary:hover{background:var(--brand-700)}.btnPrimary:active{transform:translateY(1px)}.btnPrimary:disabled,.btnPrimary[aria-disabled=true]{opacity:.65;cursor:not-allowed}.form{gap:16px}.formNarrow{max-width:560px}.formActions{padding-top:8px}.submitRow{margin-top:8px}.field{display:grid;grid-row-gap:6px;row-gap:6px}.fieldset{display:flex;flex-direction:column;gap:8px}.label,.labelBlock{display:block;font-size:.875rem;font-weight:500;margin-bottom:4px;color:var(--text)}.input,.inputMd,.inputSm{border:1px solid var(--border-strong);border-radius:var(--radius);padding:6px 8px;font:inherit;background:#fff}.inputSm{width:7rem}.inputMd{width:8rem}.input:focus,.inputMd:focus,.inputSm:focus{outline:2px solid var(--brand-100);border-color:var(--brand-200)}.inlineNumber{width:132px;text-align:left}.legend{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:4px}.checkboxRow,.choiceRow,.radioRow{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;color:var(--text)}.choiceRow{margin:6px 0}.actions{justify-content:flex-start;padding-top:8px}.menuContainer{max-width:64rem;margin-inline:auto;padding:24px;display:grid;grid-auto-rows:min-content;grid-row-gap:24px;row-gap:24px;color:var(--text)}@media (max-width:768px){.menuContainer{padding:20px}}@media (max-width:480px){.menuContainer{padding:16px}}.menuHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.menuHeaderLeft{display:grid;grid-row-gap:4px;row-gap:4px}.menuTitle{margin:0;font-size:1.5rem;font-weight:600;line-height:1.2;letter-spacing:-.01em}.menuSubtitle{margin:0;font-size:.9rem;color:var(--muted)}.dayContent{max-width:720px;margin-inline:auto}.menuDaysGrid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:768px){.menuDaysGrid{grid-template-columns:1fr}}.menuDayCard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow);transition:background-color .15s ease,box-shadow .15s ease,border-color .15s ease}.menuDayCard:hover{background:var(--brand-50);box-shadow:0 4px 14px rgba(46,107,59,.14);border-color:var(--brand-200)}.menuDayCard.isPrepared{opacity:.6;filter:grayscale(.2)}.menuDayCard:focus-within{outline:2px solid var(--brand-100);outline-offset:2px;background:var(--brand-50)}.menuDayTitle{margin:0 0 6px;font-weight:600}.menuDayDate{color:var(--muted);font-size:.9rem;margin:0}.menuRecipe{display:grid;grid-row-gap:6px;row-gap:6px;margin-top:6px}.dayGrid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:900px){.dayGrid{grid-template-columns:1.1fr 1fr}}.menuRecipeTitle{font-weight:600}.menuRecipeMeta{font-size:.9rem;color:#4b5563}.menuIngList{list-style:disc;margin:0;padding-left:1.25rem;display:grid;grid-row-gap:4px;row-gap:4px}.menuIngItem{font-size:.95rem}.menuIngName{font-weight:600}.menuEmptyDay{margin-top:6px;font-size:.9rem;color:var(--muted)}.menuPrepare{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px}.menuSectionTitle{margin:0 0 8px;font-weight:600}.menuPrepareForm{display:grid;grid-row-gap:12px;row-gap:12px}.menuOptionGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:600px){.menuOptionGrid{grid-template-columns:1fr}}.menuOptionRow{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.menuOption{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.daysField{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:10px}.daysField .legend{margin:0 0 6px 2px}.optionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}@media (min-width:768px){.optionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.optionCard{position:relative;display:inline-flex;align-items:stretch;cursor:pointer}.optionCardBox{display:grid;align-content:center;grid-gap:2px;gap:2px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);box-shadow:var(--shadow);min-width:180px;position:relative;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}@media (max-width:480px){.modalCard{padding:12px;border-radius:14px}.modalTitleBar h4{font-size:1rem}}.optionCard:hover .optionCardBox{border-color:var(--brand-200);background:#f3f6f4;box-shadow:0 2px 10px rgba(0,0,0,.06)}.optionTitle{font-weight:600;color:var(--text)}.optionHint{font-size:.85rem;color:var(--muted)}.visuallyHidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.optionCard input:focus-visible+.optionCardBox{outline:2px solid var(--brand-100);outline-offset:2px}.optionCard input:checked+.optionCardBox{background:var(--brand-50);border-color:var(--brand-600);box-shadow:0 0 0 2px var(--brand-100) inset}.optionCardBox:before{content:"";position:absolute;top:10px;right:10px;width:16px;height:16px;border-radius:999px;border:2px solid var(--muted);background:#fff;box-sizing:border-box;transition:border-color .15s ease,background-color .15s ease}.optionCard input:checked+.optionCardBox:before{border-color:var(--brand-600);background:radial-gradient(circle at center,var(--brand-600) 55%,transparent 56%)}.menuCheckboxGrid{display:flex;flex-wrap:wrap;gap:8px 14px}.menuCheckbox{gap:8px;font-size:.9rem}.menuCheckbox,.switch{display:inline-flex;align-items:center}.switch{gap:10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switchLabel{font-size:.95rem;color:var(--text)}.switchInput{position:absolute;opacity:0;width:1px;height:1px}.switchTrack{position:relative;width:44px;height:24px;background:var(--border);border-radius:999px;border:1px solid var(--border);transition:background-color .15s ease,border-color .15s ease;display:inline-flex;align-items:center}.switchThumb{position:absolute;left:2px;top:2px;width:18px;height:18px;background:#fff;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:transform .15s ease}.switchInput:focus-visible+.switchTrack{outline:2px solid var(--brand-100);outline-offset:2px}.switchInput:checked+.switchTrack{background:var(--brand-600);border-color:var(--brand-600)}.switchInput:checked+.switchTrack .switchThumb{transform:translateX(20px)}.menuDryRun{display:inline-flex;align-items:center;gap:8px;font-size:.95rem}.menuSubmitRow{margin-top:4px}@media (prefers-reduced-motion:reduce){.btnPrimary,.menuDayCard{transition:none}}.loadingOverlay{position:fixed;inset:0;background:rgba(255,255,255,.85);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;font-size:1rem;color:var(--text);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loadingSpinner{width:48px;height:48px;border:4px solid var(--brand-200);border-top-color:var(--brand-600);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(1turn)}}.menuDayHead{justify-content:space-between;gap:10px;margin-bottom:6px;padding-top:8px}.dayActions,.menuDayHead{display:flex;align-items:flex-start}.dayActions{gap:8px}.inlineForm{display:inline}.btnGhost{padding:8px 12px;border-radius:12px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;font-weight:600;font-size:.9rem;min-height:40px;color:var(--text)}.btnGhost:hover{background:#fafafa}.btnGhost:focus-visible{outline:2px solid var(--brand-100);outline-offset:2px}.modalBackdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modalCard{max-width:96vw;max-height:90vh;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);padding:16px;animation:pop .12s ease-out;outline:none;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.modalCard,.modalMd{width:640px}.modalTitleBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.modalTitleBar h4{font-size:1.05rem;margin:0;letter-spacing:-.01em}.iconClose{border:1px solid var(--border-strong);color:var(--text)}.iconClose:focus-visible{outline:2px solid var(--brand-100);outline-offset:2px}.modalBody{display:grid;grid-gap:10px;gap:10px;margin-top:4px;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.modalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.simBlock{background:var(--surface-2);border-radius:12px;padding:12px}.simHeading{margin:0 0 8px;font-weight:600;font-size:.95rem}.simHeading.ok{color:var(--brand-700)}.simHeading.warn{color:#9b2222}.simList{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.simItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#fff;border:1px solid var(--border);border-radius:10px}.simFinalizeRow{justify-content:flex-start}.simFinalizeRow .ingName{flex:1 1}.simFinalizeRow .ingQtyRight{margin-left:auto;margin-right:8px;text-align:right;min-width:120px}.simItem.shortage{background:#ffecec;border-color:#f1c5c5}.simItem.available{background:#e9f7ef;border-color:#c7e6d3}.simItem.partial{background:#fff7e6;border-color:#ffe1a3}.simEmpty{margin:2px 0 0;color:var(--muted)}.ingName{font-weight:600}.ingQty{color:#374151;font-size:.95rem}.simHeading.partial{color:#8a6d3b}body.page-busy .addButtonSm,body.page-busy .btnGhost{opacity:.5;cursor:not-allowed;pointer-events:none}body.page-busy .dayActions .btnGhost{pointer-events:none}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-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:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-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:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}:root{--brand-50:#eef7f0;--brand-100:#dff3e3;--brand-200:#cfe3d2;--brand-600:#3c8a4f;--brand-700:#2e6b3b;--surface:#ffffff;--surface-2:#f6f7f8;--text:#15171a;--muted:#6b7280;--border:#e6e8ea;--radius:12px;--shadow:0 1px 2px rgba(0,0,0,.05);--shadow-lg:0 10px 40px rgba(0,0,0,.18)}.addButton{padding:10px 14px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-100);cursor:pointer;font-weight:600;color:var(--text)}.addButton:hover{background:var(--brand-50)}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.32);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{width:600px;max-width:96vw;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);padding:18px;animation:pop .12s ease-out}@keyframes pop{0%{transform:translateY(4px) scale(.98);opacity:.9}to{transform:translateY(0) scale(1);opacity:1}}.titleBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.titleBar h2{font-size:1.05rem;margin:0}.iconClose{inline-size:36px;block-size:36px;border-radius:50%;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:20px;line-height:1}.iconClose:hover{background:#fafafa}.form{display:flex;flex-direction:column;gap:14px}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.full{grid-column:1/-1}.label{display:block;font-size:.85rem;color:var(--muted)}.input{margin-top:6px;width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit;background:#fff}.input:focus{outline:2px solid var(--brand-100);outline-offset:2px;border-color:var(--brand-200)}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.primary{padding:10px 14px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-600);color:#fff;font-weight:600;cursor:pointer}.primary:disabled{opacity:.65;cursor:default}.primary:hover:not(:disabled){background:var(--brand-700)}.ghost{padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:#fff;cursor:pointer;color:var(--text)}.ghost:hover{background:#fafafa}@media (max-width:560px){.grid{grid-template-columns:1fr}}.tableWrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0 8px;table-layout:fixed}.thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;text-align:left;font-size:.9rem;color:var(--muted);background:linear-gradient(var(--surface-2),var(--surface-2)) padding-box;padding:8px 12px;border-bottom:1px solid var(--border)}.thead th:nth-child(2){text-align:right}.thead th:nth-child(3){text-align:center}.thead th:last-child{text-align:right}.row{background:var(--surface);box-shadow:var(--shadow);transition:background-color .15s ease,box-shadow .15s ease,border-color .15s ease}.row:hover{background:var(--brand-50);box-shadow:0 4px 14px rgba(46,107,59,.14)}.row:hover td{border-color:var(--brand-200)}.row:hover td:first-child{border-left-color:var(--brand-200)}.row:hover td:last-child{border-right-color:var(--brand-200)}.row:focus-within{outline:2px solid var(--brand-100);outline-offset:2px;background:var(--brand-50)}.cell{padding:10px 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:middle}.row td:first-child{border-left:1px solid var(--border);border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.row td:last-child{border-right:1px solid var(--border);border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.actionsCell{text-align:right}.colName{width:40%}.colQty,.colUnit{width:120px}.colCat{width:180px}.colActions{width:220px}.nameCell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cellQty{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cellUnit{text-align:center}.cellCat,.cellUnit{white-space:nowrap}.empty{border:1px dashed var(--border);border-radius:16px;padding:24px;text-align:center;color:var(--muted);background:#fff}.shopCard{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin-bottom:20px}.shopCardTitle{margin:0 0 8px;font-weight:600}.shopActions{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border-top:1px solid var(--border);padding:12px;border-radius:12px}.shopActions.plain{background:transparent;border-top:none;padding:0}.cardFlex{display:flex;flex-direction:column;height:100%}.cardFlex .cardContent{flex:1 1 auto;min-height:0}.shopActionsCenter,.shopActionsLeft,.shopActionsRight{display:flex;align-items:center;gap:8px}.successSoftBtn{padding:8px 12px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-100);cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text)}.successSoftBtn:hover{background:var(--brand-50)}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){.row{transition:none}}@media (max-width:640px){.cellCat,.cellUnit,.colCat,.colUnit,.thead th:nth-child(3),.thead th:nth-child(4){display:none}.cellQty:after{content:" " attr(data-unit);color:var(--muted);font-weight:500}.cell{padding-inline:8px}.nameCell{white-space:normal}.colName{width:auto}.rowActions{flex-wrap:wrap;justify-content:flex-end}.addButtonSm,.btnGhost,.dangerSoftBtn,.primary,.stepperBtn,.successSoftBtn{min-height:44px}.catSticky{position:-webkit-sticky;position:sticky;top:8px;background:var(--surface-2);z-index:2;padding:6px 8px;border-radius:10px}}@media (max-width:960px){.colActions{width:180px}.colCat{width:150px}}.rowActions{display:flex;align-items:center;gap:8px}.addButtonSm{padding:8px 12px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-100);cursor:pointer;font-weight:600;font-size:.9rem;color:var(--text)}.addButtonSm:hover{background:var(--brand-50)}.dangerSoftBtn{padding:8px 12px;border-radius:12px;border:1px solid #f1c5c5;background:#ffecec;cursor:pointer;font-weight:600;font-size:.9rem;color:#9b2222}.dangerSoftBtn:hover{background:#ffe3e3}.modalSm{width:420px;max-width:92vw}.titleDanger{color:#9b2222}.confirmText{color:var(--text);margin:6px 0 0}.confirmError{margin-top:8px;font-size:.85rem;color:#b00020}.categoryPill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;background:var(--cp-bg,var(--brand-50));border:1px solid var(--cp-border,var(--brand-200));color:var(--cp-text,#2e6b3b);white-space:nowrap}.cat-verduras{--cp-bg:#eaf6ee;--cp-border:#cfe3d2;--cp-text:#2e6b3b}.cat-frutas{--cp-bg:#fff1f2;--cp-border:#fecdd3;--cp-text:#9d174d}.cat-carnes{--cp-bg:#ffecec;--cp-border:#f1c5c5;--cp-text:#9b2222}.cat-lacteos{--cp-bg:#e0f2fe;--cp-border:#bae6fd;--cp-text:#0c4a6e}.cat-granos{--cp-bg:#fff7ed;--cp-border:#fde2b0;--cp-text:#92400e}.cat-especias{--cp-bg:#faf5ff;--cp-border:#e9d5ff;--cp-text:#6b21a8}.cat-enlatados{--cp-bg:#f3f4f6;--cp-border:#e5e7eb;--cp-text:#374151}.cat-otros{--cp-bg:#f8fafc;--cp-border:#e2e8f0;--cp-text:#334155}.thButton{background:none;border:none;padding:0;font:inherit;color:inherit;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.thButton:focus-visible{outline:2px solid var(--brand-100);outline-offset:2px;border-radius:6px}.sortIcon{font-size:.85em;opacity:.55;color:var(--muted);transition:opacity .12s ease,transform .12s ease}.thButton:hover .sortIcon{opacity:.9}.thActive .sortIcon{opacity:.95;color:var(--text)}.qtyGroup{display:flex;align-items:center;gap:8px}.stepperBtn{padding:8px 12px;min-width:38px;border-radius:12px;border:1px solid var(--brand-200);background:var(--brand-100);cursor:pointer;font-weight:700;line-height:1;color:var(--text)}.stepperBtn:hover{background:var(--brand-50)}.stepperBtn:disabled{opacity:.55;cursor:default}.stepperBtnMinus{border:1px solid #f1c5c5;background:#ffecec;cursor:pointer;color:#9b2222}.stepperBtnMinus:hover{background:#ffe3e3}.stepperBtnPlus:hover{background:var(--brand-50)}.stepperInput{width:120px;text-align:center}:root{--nav-bg:#ffffff;--nav-border:#e6e8ea;--nav-text:#15171a;--nav-muted:#6b7280;--nav-danger:#9b2222}.topNav{position:-webkit-sticky;position:sticky;top:0;inset-inline:0;z-index:40;background:var(--nav-bg);border-bottom:1px solid var(--nav-border)}.topNavInner{max-width:64rem;margin-inline:auto;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brandLink{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--nav-text)}.brandMark{font-size:1.1rem}.brandSvg svg{display:block;color:#2e6b3b}.brandName{font-size:1rem;letter-spacing:.2px}.navLinks{display:flex;align-items:center;gap:12px}.navLink{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid transparent;color:var(--nav-text);font-weight:600;font-size:1rem;line-height:1.2;text-decoration:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.navLink:hover{background:#f8f9fa;border-color:#eee}.navDanger{color:var(--nav-danger)}.userMenu .menuDropdown .navLink{width:100%;text-align:left;border-color:transparent}.userMenu .menuDropdown .navLink:hover{background:#f8f9fa;border-color:#eee}.mobileMenuBtn{display:none}.mobileMenuBackdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.35);display:flex;align-items:stretch;justify-content:flex-end;animation:mm-fade-in .16s ease-out}.mobileDrawer{width:80vw;max-width:320px;height:100%;background:var(--nav-bg);border-left:1px solid var(--nav-border);box-shadow:-6px 0 24px rgba(0,0,0,.12);padding:12px;display:flex;flex-direction:column;gap:10px;animation:mm-slide-in .18s ease-out}.mobileMenuHeader .iconClose{inline-size:32px;block-size:32px}.mobileMenuHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobileMenuList{display:flex;flex-direction:column;gap:6px;padding-top:4px}@media (max-width:640px){.navLinks{display:none}.mobileMenuBtn{display:inline-flex;align-items:center;justify-content:center}}@keyframes mm-slide-in{0%{transform:translateX(20px);opacity:.85}to{transform:translateX(0);opacity:1}}@keyframes mm-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.mobileDrawer,.mobileMenuBackdrop{animation:none}}