/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ensemble-ink:#173e35;--ensemble-ink-2:#31564d;--ensemble-muted:#71867f;--ensemble-green:#0d4a3e;--ensemble-green-2:#246b5b;--ensemble-sage:#9fbaa8;--ensemble-sage-soft:#dfe9e1;--ensemble-cream:#f7f3e8;--ensemble-paper:#fffdf8;--ensemble-gold:#f2b84b;--ensemble-gold-soft:#fff0c8;--ensemble-red:#bb4c45;--ensemble-red-soft:#fae4df;--ensemble-line:#dce4df;--ensemble-card-radius:24px;--ensemble-control-radius:13px;--ensemble-card-shadow:0 18px 50px #143f3417;--ensemble-focus-ring:0 0 0 3px #f2b84b73;--ensemble-mobile-nav-safe-bottom:max(8px, calc(env(safe-area-inset-bottom,0px) - 14px));--ensemble-mobile-header-action-size:44px;--ensemble-mobile-header-profile-clearance:76px}:where(.primary-button,.secondary-button,.danger-button,.ghost-button,.light-button,.small-button){justify-content:center;align-items:center;gap:8px;display:inline-flex}:where(.primary-button,.secondary-button,.danger-button,.ghost-button,.light-button,.small-button)>svg{flex:none}.auth-divider{color:var(--ensemble-muted);text-align:center;align-items:center;gap:12px;margin:2px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{background:var(--ensemble-line);content:"";flex:1;height:1px}.auth-divider span{white-space:nowrap}.auth-legacy-toggle{width:100%}.session-recovery{border:1px solid var(--ensemble-line);background:var(--ensemble-paper);border-radius:18px;gap:12px;padding:16px;display:grid}.session-recovery>div:first-child,.session-recovery-row>div{gap:3px;display:grid}.session-recovery-row strong{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.session-recovery span,.session-recovery small{color:var(--ensemble-muted)}.session-current-pill{background:var(--ensemble-sage-soft);border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex;color:var(--ensemble-green)!important}.session-recovery-empty{color:var(--ensemble-muted);margin:0}.session-recovery-list{gap:8px;display:grid}.session-recovery-row{border-top:1px solid var(--ensemble-line);justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding-top:10px;display:flex}@media (max-width:520px){.session-recovery-row{flex-direction:column;align-items:stretch}.session-recovery-row .secondary-button{width:100%}}.ensemble-deployment-version{border-top:1px solid var(--ensemble-line);color:var(--ensemble-muted);text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:6px;margin:1px 10px 0;padding:9px 0 2px;font-size:11px;font-weight:650;line-height:1.3;display:flex}.ensemble-deployment-version code,.ensemble-deployment-version time{color:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.ensemble-deployment-version-short{display:none}.ensemble-settings-home,.ensemble-settings-detail{width:min(100%,880px);margin-inline:auto}.ensemble-settings-header,.ensemble-settings-detail-header{margin-bottom:24px}.ensemble-settings-header h1,.ensemble-settings-detail-header h1{color:var(--ensemble-ink);letter-spacing:-.035em;margin:0;font:500 clamp(2rem,4vw,3.15rem)/1.05 Georgia,serif}.ensemble-settings-header>p:last-child,.ensemble-settings-detail-header>div>p:last-child{max-width:650px;color:var(--ensemble-muted);margin:10px 0 0;line-height:1.55}.ensemble-settings-eyebrow{color:var(--ensemble-green-2);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:850}.ensemble-settings-identity{border:1px solid var(--ensemble-line);min-height:76px;box-shadow:var(--ensemble-card-shadow);background:#fffdf8eb;border-radius:20px;align-items:center;gap:13px;margin-bottom:22px;padding:14px 16px;display:flex}.ensemble-settings-identity>span{background:var(--ensemble-sage-soft);width:46px;height:46px;color:var(--ensemble-green);border-radius:50%;flex:0 0 46px;place-items:center;font-weight:850;display:grid}.ensemble-settings-identity div{gap:3px;min-width:0;display:grid}.ensemble-settings-identity strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ensemble-settings-identity small{color:var(--ensemble-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ensemble-settings-identity em{background:var(--ensemble-sage-soft);color:var(--ensemble-green);border-radius:999px;margin-left:auto;padding:6px 9px;font-size:11px;font-style:normal;font-weight:800}.ensemble-settings-groups{gap:18px;display:grid}.ensemble-settings-group{border:1px solid var(--ensemble-line);box-shadow:var(--ensemble-card-shadow);background:#fffdf8f0;border-radius:22px;overflow:hidden}.ensemble-settings-group>h2{color:var(--ensemble-muted);letter-spacing:.11em;text-transform:uppercase;margin:0;padding:15px 17px 10px;font:850 11px/1.3 ui-sans-serif,system-ui,sans-serif}.ensemble-settings-group>div{padding-inline:8px}.ensemble-settings-link{border:0;border-top:1px solid var(--ensemble-line);width:100%;min-height:72px;color:var(--ensemble-ink);text-align:left;cursor:pointer;background:0 0;grid-template-columns:42px minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:10px 9px;display:grid}.ensemble-settings-link:hover{background:#dfe9e159}.ensemble-settings-link:disabled{cursor:default;opacity:.62}.ensemble-settings-link:focus-visible,.ensemble-settings-back:focus-visible{box-shadow:var(--ensemble-focus-ring);outline:none}.ensemble-settings-link-icon,.ensemble-settings-detail-icon{background:var(--ensemble-sage-soft);width:42px;height:42px;color:var(--ensemble-green);border-radius:13px;place-items:center;display:grid}.ensemble-settings-link-icon svg,.ensemble-settings-detail-icon svg{width:20px;height:20px}.ensemble-settings-link-copy{gap:4px;min-width:0;display:grid}.ensemble-settings-link-copy strong{font-size:14px}.ensemble-settings-link-copy small{color:var(--ensemble-muted);font-size:12px;line-height:1.35}.ensemble-settings-status{color:var(--ensemble-muted);background:var(--ensemble-cream);white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.ensemble-settings-status.success{color:var(--ensemble-green);background:var(--ensemble-sage-soft)}.ensemble-settings-status.warning{color:#7a5411;background:var(--ensemble-gold-soft)}.ensemble-settings-chevron{width:18px;color:var(--ensemble-muted)}.ensemble-settings-footer{margin-top:20px}.ensemble-settings-back{min-height:44px;color:var(--ensemble-green);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;margin-bottom:18px;padding:0 10px;font-weight:800;display:inline-flex}.ensemble-settings-back svg{width:18px}.ensemble-settings-detail-header{align-items:flex-start;gap:14px;display:flex}.ensemble-settings-detail-icon{border-radius:15px;flex:0 0 48px;width:48px;height:48px}.ensemble-settings-detail-content{gap:18px;min-width:0;display:grid}@media (max-width:620px){.ensemble-settings-home,.ensemble-settings-detail{width:100%}.ensemble-settings-header,.ensemble-settings-detail-header{margin-bottom:18px}.ensemble-settings-identity{box-shadow:none;border-radius:18px;margin-bottom:16px}.ensemble-settings-groups{gap:14px}.ensemble-settings-group{box-shadow:none;border-radius:19px}.ensemble-settings-link{grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;min-height:74px}.ensemble-settings-status{grid-column:2;justify-self:start;margin-top:-2px}.ensemble-settings-chevron{grid-area:1/3/span 2}.ensemble-settings-detail-header{gap:11px}.ensemble-settings-detail-header h1{font-size:1.9rem}}@media (max-width:480px){.ensemble-deployment-version{gap:4px;margin-inline:5px;font-size:10px}.ensemble-deployment-version-long{display:none}.ensemble-deployment-version-short{display:inline}.ensemble-deployment-version code,.ensemble-deployment-version time{font-size:9px}}.documentation-view{width:min(1280px,100%);margin:0 auto;padding:clamp(24px,4vw,52px) clamp(16px,4vw,58px) 88px}.documentation-hero{background:radial-gradient(circle at 88% 15%, #f2b84b2e, transparent 15rem), var(--ensemble-green);color:#fff;border-radius:27px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:18px;padding:clamp(22px,4vw,38px);display:grid;box-shadow:0 22px 55px #0d4a3e2e}.documentation-hero-icon{width:58px;height:58px;color:var(--ensemble-green);background:var(--ensemble-gold);border-radius:18px;place-items:center;display:grid}.documentation-hero-icon svg{width:26px;height:26px}.documentation-hero .eyebrow{color:var(--ensemble-gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:850}.documentation-hero h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:500;line-height:1.03}.documentation-hero p:last-child{color:#ffffffbd;max-width:650px;margin:10px 0 0;font-size:13px;line-height:1.55}.documentation-toolbar{align-items:center;gap:14px;margin:22px 0 18px;display:flex}.documentation-search{border:1px solid var(--ensemble-line);background:var(--ensemble-paper);min-width:0;min-height:50px;color:var(--ensemble-muted);border-radius:15px;flex:1;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 14px;display:grid;box-shadow:0 8px 24px #0d4a3e0f}.documentation-search>svg{width:19px}.documentation-search input{width:100%;min-width:0;min-height:48px;color:var(--ensemble-ink);box-shadow:none;background:0 0;border:0;outline:0;padding:0;font-size:16px}.documentation-search button{background:var(--ensemble-sage-soft);width:34px;height:34px;color:var(--ensemble-green-2);border:0;border-radius:10px;place-items:center;display:grid}.documentation-search button svg{width:16px}.documentation-result-count{color:var(--ensemble-muted);flex:none;font-size:11px;font-weight:750}.documentation-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.documentation-categories{border:1px solid var(--ensemble-line);background:var(--ensemble-paper);border-radius:18px;gap:7px;padding:9px;display:grid;position:sticky;top:18px;box-shadow:0 12px 32px #0d4a3e12}.documentation-categories button{width:100%;min-height:45px;color:var(--ensemble-muted);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:9px;padding:7px 11px;font-size:11px;font-weight:730;display:grid}.documentation-categories button:hover{background:var(--ensemble-sage-soft)}@supports (color:color-mix(in lab, red, red)){.documentation-categories button:hover{background:color-mix(in srgb, var(--ensemble-sage-soft) 60%, white)}}.documentation-categories button:hover{color:var(--ensemble-green)}.documentation-categories button.active{background:var(--ensemble-sage-soft);color:var(--ensemble-green);font-weight:850}.documentation-categories button>span,.documentation-categories button>svg{background:#ffffffb3;border-radius:9px;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.documentation-categories button>svg{padding:5px}.documentation-content{gap:18px;min-width:0;display:grid}.documentation-section{border:1px solid var(--ensemble-line);background:var(--ensemble-paper);border-radius:22px;overflow:hidden;box-shadow:0 13px 36px #0d4a3e12}.documentation-section>header{border-bottom:1px solid var(--ensemble-line);background:linear-gradient(135deg, var(--ensemble-sage-soft), var(--ensemble-paper));padding:21px 22px 16px}@supports (color:color-mix(in lab, red, red)){.documentation-section>header{background:linear-gradient(135deg, color-mix(in srgb, var(--ensemble-sage-soft) 54%, white), var(--ensemble-paper))}}.documentation-section>header .eyebrow{color:var(--ensemble-green-2);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:9px;font-weight:850}.documentation-section>header h2{color:var(--ensemble-ink);margin:0;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:500}.documentation-faq{display:grid}.documentation-faq details+details{border-top:1px solid var(--ensemble-line)}.documentation-faq summary{min-height:58px;color:var(--ensemble-ink);cursor:pointer;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:14px;padding:13px 22px;font-size:13px;font-weight:800;list-style:none;display:grid}.documentation-faq summary::-webkit-details-marker{display:none}.documentation-faq summary:hover{background:#dfe9e159}.documentation-faq summary svg{width:18px;color:var(--ensemble-green-2);transition:transform .16s}.documentation-faq details[open] summary{color:var(--ensemble-green);background:#dfe9e16b}.documentation-faq details[open] summary svg{transform:rotate(180deg)}.documentation-answer{color:var(--ensemble-muted);gap:10px;padding:3px 22px 20px;font-size:12px;line-height:1.65;display:grid}.documentation-answer p,.documentation-answer ul{margin:0}.documentation-answer ul{gap:6px;padding-left:19px;display:grid}.documentation-answer strong{color:var(--ensemble-ink)}.documentation-answer .calculation-formula,.documentation-answer .documentation-formula{border-left:3px solid var(--ensemble-gold);background:var(--ensemble-gold-soft);color:var(--ensemble-ink);border-radius:0 12px 12px 0;padding:12px 14px;font-weight:750}.documentation-empty{border:1px dashed var(--ensemble-line);min-height:320px;color:var(--ensemble-muted);text-align:center;border-radius:22px;align-content:center;place-items:center;padding:30px;display:grid}.documentation-empty>svg{width:30px;color:var(--ensemble-green-2)}.documentation-empty h2{color:var(--ensemble-ink);margin:13px 0 5px;font-family:Georgia,Times New Roman,serif;font-weight:500}.documentation-empty p{margin:0 0 15px;font-size:12px}.documentation-empty button{background:var(--ensemble-green);color:#fff;border:0;border-radius:12px;min-height:42px;padding:0 14px;font-size:11px;font-weight:800}@media (max-width:760px){.documentation-view{padding:22px 14px 94px}.documentation-hero{border-radius:22px;grid-template-columns:46px minmax(0,1fr);gap:13px;padding:20px 17px}.documentation-hero-icon{border-radius:14px;width:46px;height:46px}.documentation-hero-icon svg{width:21px}.documentation-hero h1{font-size:2rem}.documentation-hero p:last-child{font-size:11px}.documentation-toolbar{flex-direction:column;align-items:stretch}.documentation-result-count{padding-left:4px}.documentation-layout{grid-template-columns:1fr}.documentation-categories{scrollbar-width:none;padding:7px;display:flex;position:static;overflow-x:auto}.documentation-categories::-webkit-scrollbar{display:none}.documentation-categories button{grid-template-columns:24px auto;width:auto;min-width:max-content}.documentation-section>header{padding:18px 17px 14px}.documentation-faq summary{min-height:56px;padding:12px 17px;font-size:12px}.documentation-answer{padding:2px 17px 18px}}:root{--ink:#173e35;--ink-2:#31564d;--muted:#71867f;--green:#0d4a3e;--green-2:#246b5b;--sage:#9fbaa8;--sage-soft:#dfe9e1;--cream:#f7f3e8;--paper:#fffdf8;--gold:#f2b84b;--gold-soft:#fff0c8;--red:#bb4c45;--red-soft:#fae4df;--line:#dce4df;--ensemble-green:var(--green);--ensemble-green-2:var(--green-2);--ensemble-muted:var(--muted);--ensemble-sage-soft:var(--sage-soft);--ensemble-red:var(--red);--ensemble-line:var(--line);--ensemble-ink:var(--ink);--ensemble-paper:var(--paper);--ensemble-gold:var(--gold);--ensemble-gold-soft:var(--gold-soft);--shadow:0 18px 50px #143f3417;--radius:24px}*{box-sizing:border-box}html{color:var(--ink);background:#f5f5f0}body{min-height:100vh;font-family:var(--font-manrope), ui-sans-serif, system-ui, sans-serif;background:radial-gradient(circle at 80% -20%,#e5eee8 0,#0000 38%),#f7f7f3;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #f2b84b73}button:disabled{cursor:wait;opacity:.62}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}h1{margin-bottom:8px;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:500;line-height:1.03}h2{margin-bottom:12px;font-size:1.3rem}h3{margin-bottom:6px;font-size:1rem}.app-shell{min-height:100vh}.side-nav{z-index:40;border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8eb;flex-direction:column;width:246px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:11px;display:inline-flex}.brand img{border-radius:13px;width:43px;height:43px}.brand-copy{white-space:nowrap;flex-direction:column;line-height:1;display:flex}.brand-copy small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:750}.brand-copy strong{color:var(--green-2);margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.app-brand{padding:0 8px}.side-nav nav{gap:6px;margin-top:52px;display:grid}.side-nav nav button{min-height:48px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:14px;padding:0 14px;transition:all .18s;display:flex}.side-nav nav button span{place-items:center;width:25px;font-size:1.25rem;display:grid}.side-nav nav button:hover,.side-nav nav button.active{background:var(--sage-soft);color:var(--ink);font-weight:750}.account-wrapper{width:100%;margin-top:auto;position:relative}.profile-button{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:17px;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;width:100%;padding:9px;display:grid}.profile-avatar{background:var(--gold);width:40px;height:40px;color:var(--green);border-radius:50%;flex:0 0 40px;place-items:center;font-size:13px;font-weight:850;display:grid}.profile-summary{min-width:0;display:grid}.profile-summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-summary small{color:var(--muted);font-size:.7rem}.profile-more{color:var(--muted);letter-spacing:1px;font-size:.7rem}.account-dismiss{z-index:1;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.account-popover{z-index:2;border:1px solid var(--line);background:var(--paper);border-radius:18px;gap:7px;width:min(310px,100vw - 28px);padding:12px;display:grid;position:absolute;bottom:0;left:calc(100% + 12px);box-shadow:0 22px 60px #0b2f2833}.account-identity{align-items:center;gap:11px;padding:5px 5px 10px;display:flex}.account-identity strong,.account-identity span{display:block}.account-identity div{min-width:0}.account-identity div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.account-security{background:var(--sage-soft);color:var(--ink);border-radius:11px;align-items:center;gap:8px;padding:9px 10px;font-size:11px;font-weight:800;display:flex}.account-popover>button:not(.account-dismiss){cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:9px;width:100%;min-height:42px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.account-popover>button:not(.account-dismiss):hover{background:var(--cream)}.account-popover>button.account-logout{color:#8d3c2d}.app-main{min-height:100vh;margin-left:246px}.app-refresh-button{z-index:24;min-height:42px;color:var(--ensemble-green-2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;background:#fffffff0;border:1px solid #0f766e33;border-radius:99px;align-items:center;gap:8px;padding:0 15px;font-size:10px;font-weight:780;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 28px #18302a24}.app-refresh-icon{place-items:center;display:grid}.app-refresh-icon svg{width:18px;height:18px}.app-refresh-button.refreshing .app-refresh-icon{animation:.7s linear infinite refresh-spin}.app-refresh-button:disabled{cursor:wait;opacity:.72}@keyframes refresh-spin{to{transform:rotate(360deg)}}.page{width:min(1440px,100%);margin:0 auto;padding:46px clamp(24px,4vw,64px) 80px}.mobile-header,.bottom-nav{display:none}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.page-heading .subtitle{color:var(--muted);margin:0}.eyebrow{color:var(--green-2);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:.69rem;font-weight:850}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fffdf8eb;border:1px solid #dce4dfeb}.section-title{justify-content:space-between;align-items:center;gap:18px;display:flex}.section-title h2{margin:0}.round-button{background:var(--green);color:#fff;border:0;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;display:grid}.primary-button,.secondary-button,.danger-button,.warning-button{border-radius:13px;min-height:46px;padding:0 19px;font-weight:800}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 8px 20px #0d4a3e2e}.primary-button:hover{background:#083d33}.secondary-button{border:1px solid var(--line);background:var(--paper)}.danger-button{background:var(--red-soft);color:var(--red);border:1px solid #e6bbb6}.warning-button{background:var(--gold);color:var(--ink);border:1px solid #d6a33c;box-shadow:0 8px 20px #7d540a29}.meal-complete-button{background:var(--sage-soft);min-height:46px;color:var(--green);border:1px solid #a9cabb;border-radius:13px;padding:0 19px;font-weight:850}.meal-freeze-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.compact{min-height:40px;padding:0 15px;font-size:.86rem}.text-button{color:var(--green-2);background:0 0;border:0;font-weight:800}.split-actions,.heading-actions{gap:10px;display:flex}.hero-grid{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.today-card{padding:26px}.meal-list{gap:10px;margin-top:22px;display:grid}.meal-row{border:1px solid var(--line);background:#fff;border-radius:17px;grid-template-columns:92px 1fr auto;align-items:center;min-height:70px;display:grid;overflow:hidden}.meal-row.completed{opacity:.62}.meal-row.at_risk{border-color:#e8afa9}.meal-time{border-right:1px solid var(--line);background:var(--cream);text-align:center;place-content:center;align-self:stretch;display:grid}.meal-time>span{font-size:1.2rem}.meal-time small{color:var(--muted);margin-top:4px;font-size:.66rem;font-weight:750}.meal-body{text-align:left;background:0 0;border:0;justify-items:start;gap:4px;padding:12px 17px;display:grid}.meal-body span{color:var(--muted);font-size:.73rem}.meal-body em{color:var(--red);align-items:center;gap:4px;font-size:.7rem;font-style:normal;font-weight:800;display:flex}.meal-body em svg{flex:none;width:14px;height:14px}.meal-actions{padding-right:12px;display:flex}.meal-actions button,.more-button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:10px;place-items:center;font-weight:850;display:grid}.meal-actions .meal-complete-action{background:var(--sage-soft);color:var(--green)}.meal-actions .meal-link{color:#376b76;background:#e5eef0;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;text-decoration:none;display:grid}.meal-actions button:hover,.more-button:hover{background:var(--sage-soft);color:var(--ink)}.dashboard-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.dashboard-grid>.card{padding:24px}.count-badge{background:var(--sage-soft);border-radius:50%;place-items:center;min-width:30px;height:30px;font-size:.76rem;font-weight:850;display:grid}.count-badge.warning{background:var(--red-soft);color:var(--red)}.alert-list{gap:8px;margin-top:18px;display:grid}.alert-list>button{text-align:left;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;padding:8px;display:flex}.alert-list>button:hover{background:var(--cream)}.alert-list button>span:last-child,.tomorrow-list p{gap:2px;margin:0;display:grid}.alert-list small,.tomorrow-list small{color:var(--muted);font-size:.72rem}.low-stock-shopping-action{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.low-stock-shopping-action button{justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;display:flex}.home-alert-load-more{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:44px;color:var(--green-2);border-radius:12px;margin-top:12px;font-weight:850}.home-alert-load-more:hover{border-color:var(--sage);background:var(--sage-soft)}.alert-icon{background:var(--gold-soft);color:#8a6013;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.alert-icon.danger{background:var(--red-soft);color:var(--red)}.takeout-banner{color:#285965;background:#e3eff2;border-radius:14px;align-items:center;gap:13px;margin:17px 0;padding:13px;display:flex}.takeout-banner>span{font-size:1.5rem}.takeout-banner p{gap:2px;margin:0;font-size:.76rem;display:grid}.tomorrow-list{gap:8px;display:grid}.tomorrow-list>button{border:0;border-bottom:1px solid var(--line);width:100%;color:inherit;text-align:left;background:0 0;grid-template-columns:34px 1fr auto;align-items:center;padding:10px 0;display:grid}.status-dot{background:var(--sage);border-radius:50%;width:9px;height:9px}.status-dot.at_risk{background:var(--red)}.status-dot.completed{background:var(--green)}.shopping-summary{border:1px solid var(--line);text-align:left;grid-column:1/-1;grid-template-columns:54px 1fr auto;align-items:center;gap:15px;display:grid;padding:18px 24px!important}.summary-icon{background:var(--gold);border-radius:16px;place-items:center;width:50px;height:50px;font-size:1.3rem;font-weight:900;display:grid}.shopping-summary h2{margin-bottom:3px}.shopping-summary small{color:var(--muted)}.shopping-summary>b{font-size:2rem;font-weight:400}.empty-state{min-height:130px;color:var(--muted);text-align:left;justify-content:center;align-items:center;gap:14px;display:flex}.empty-state>span{font-size:2rem}.empty-state p{gap:4px;margin:0;display:grid}.empty-state small{max-width:260px}.empty-state.compact{justify-content:start;min-height:80px}.empty-state.compact>span{background:var(--sage-soft);border-radius:13px;place-items:center;width:42px;height:42px;font-size:1rem;display:grid}.calendar-toolbar,.stock-toolbar,.shopping-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:13px 17px;display:flex}.calendar-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.calendar-nav>button{background:0 0;border:0;border-radius:10px;min-width:38px;height:38px;font-size:1.3rem}.calendar-nav>button:hover{background:var(--cream)}.calendar-nav .date-title{text-transform:capitalize;width:auto;padding:0 12px;font-size:.93rem;font-weight:850}.calendar-nav .today-button{border:1px solid var(--line);background:var(--paper);width:auto;min-width:44px;color:var(--green);padding:0 12px;font-size:.76rem;font-weight:800}.segmented{background:#edf0ec;border-radius:11px;padding:3px;display:inline-flex}.segmented button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 13px;font-size:.78rem;font-weight:750}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 3px 12px #143f341a}.segmented span{background:var(--sage-soft);border-radius:50%;place-items:center;min-width:20px;height:20px;margin-left:5px;font-size:.65rem;display:inline-grid}.week-calendar{grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;padding-bottom:14px;display:grid;overflow-x:auto}.week-calendar.three-day-calendar{grid-template-columns:repeat(3,minmax(230px,1fr))}.day-column{border:1px solid var(--line);background:#fffdf8bf;border-radius:18px;min-height:560px;overflow:hidden}.day-column.today{border:2px solid var(--green-2)}.day-heading{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:1fr auto;align-items:center;width:100%;padding:14px;display:grid}.day-heading>span{color:var(--muted);text-transform:uppercase;grid-column:1;font-size:.7rem;font-weight:800}.day-heading>b{grid-column:1;margin-top:3px;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.day-heading>i{background:var(--sage-soft);border-radius:50%;grid-area:1/2/3;place-items:center;width:28px;height:28px;font-style:normal;display:grid}.day-column.today .day-heading{background:var(--green);color:#fff}.day-column.today .day-heading span{color:var(--sage)}.day-column.today .day-heading i{background:var(--gold);color:var(--green)}.slot{border-bottom:1px solid var(--line);min-height:112px;padding:11px 8px 8px;position:relative}.slot>small{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.61rem;font-weight:800;display:block}.meal-chip{border:0;border-left:4px solid var(--green-2);background:var(--sage-soft);text-align:left;border-radius:10px;gap:4px;width:100%;margin-bottom:5px;padding:8px;display:grid;position:relative}.meal-chip.frozen{background:#e2eef1;border-color:#5c8e9a}.meal-chip.external{border-color:var(--gold);background:var(--gold-soft)}.meal-chip.at_risk{border-color:var(--red);background:var(--red-soft)}.meal-chip.completed{opacity:.55;text-decoration:line-through}.meal-chip b{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.meal-chip span{color:var(--muted);font-size:.61rem}.meal-chip em{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.65rem;font-style:normal;display:grid;position:absolute;top:5px;right:5px}.meal-chip em svg{width:13px;height:13px}.slot-add{width:24px;height:24px;color:var(--muted);background:0 0;border:0;border-radius:50%;position:absolute;bottom:5px;right:6px}.slot:hover .slot-add{background:var(--sage-soft);color:var(--ink)}.month-calendar{padding:18px}.month-weekdays,.month-grid{grid-template-columns:repeat(7,1fr);display:grid}.month-weekdays span{color:var(--muted);text-align:center;text-transform:uppercase;padding:8px;font-size:.68rem;font-weight:850}.month-grid>button{border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);text-align:left;background:0 0;min-height:104px;padding:9px;position:relative}.month-grid>button:nth-child(7n){border-right:0}.month-grid>button:hover{background:var(--cream)}.month-grid>button.outside{opacity:.35}.month-grid>button.today>b{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.month-grid>button>span{flex-wrap:wrap;gap:4px;margin-top:11px;display:flex}.month-grid i{background:var(--sage-soft);border-radius:7px;place-items:center;width:24px;height:24px;font-size:.66rem;font-style:normal;display:grid}.month-grid i.frozen{background:#e2eef1}.month-grid i.at_risk{background:var(--red-soft);color:var(--red)}.month-grid button>small{color:var(--muted);position:absolute;bottom:7px;right:7px}.shopping-toolbar select{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:40px;padding:0 12px;font-weight:750}.shopping-toolbar{flex-wrap:wrap}.active-list-badge{background:var(--sage-soft);color:var(--green);white-space:nowrap;border-radius:20px;padding:8px 11px;font-size:.7rem;font-weight:850}.shopping-progress{flex:1;align-items:center;gap:10px;min-width:330px;display:flex}.shopping-progress>span,.portion-bar{background:var(--sage-soft);border-radius:9px;flex:1;height:7px;overflow:hidden}.shopping-progress i,.portion-bar i{border-radius:inherit;background:var(--gold);height:100%;display:block}.shopping-progress small{color:var(--muted);white-space:nowrap}.shopping-counts{flex-wrap:wrap;gap:5px;display:flex}.shopping-counts small{border-radius:20px;padding:5px 8px;font-size:.67rem;font-weight:850}.shopping-counts .found-count{background:var(--sage-soft);color:var(--green)}.shopping-counts .unavailable-count{background:var(--red-soft);color:var(--red)}.shopping-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.shopping-list{padding:24px}.list-meta{color:var(--muted);gap:18px;margin-bottom:24px;font-size:.75rem;display:flex}.shopping-search-row{align-items:center;gap:10px;min-width:0;margin-bottom:12px;display:flex}.shopping-search-row .search-field{flex:1;min-width:0}.shopping-search-row>small{color:var(--muted);white-space:nowrap;flex:none;font-size:.68rem;font-weight:750}.shopping-search-row>button{flex:none;padding:7px 2px;font-size:.7rem}.aisle-group{margin-bottom:24px}.aisle-group h3{border-bottom:1px solid var(--line);color:var(--green-2);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:8px;padding-bottom:9px;font-size:.74rem;display:flex}.aisle-group h3 span{background:var(--sage-soft);border-radius:50%;place-items:center;min-width:21px;height:21px;font-size:.62rem;display:grid}.shopping-aisle-drop{border-radius:13px;transition:background .16s,box-shadow .16s}.shopping-aisle-drop.drop-enabled{outline:1px dashed var(--sage);outline-offset:5px}.shopping-aisle-drop.drop-active{background:#dfe9e1a8;box-shadow:0 0 0 3px #f2b84b6b}.shopping-row-shell{border-bottom:1px solid #edf0ed;position:relative;overflow:hidden}.swipe-delete-button{z-index:0;background:var(--red);color:#fff;border:0;place-content:center;justify-items:center;gap:3px;width:92px;font-size:.62rem;font-weight:800;display:grid;position:absolute;inset:0 0 0 auto}.swipe-delete-button svg{width:18px;height:18px}.shopping-row{z-index:1;background:var(--paper);touch-action:pan-y;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:62px;transition:transform .2s,opacity .16s;display:grid;position:relative}.shopping-row-shell.delete-revealed .shopping-row{transform:translate(-92px)}.shopping-row.purchased>*{opacity:.55}.shopping-row.purchased .shopping-name b{text-decoration:line-through}.shopping-row.unavailable{background:var(--red-soft);color:var(--red);border-radius:10px;padding:0 8px}.shopping-row.carried_over>*{opacity:.62}.shopping-row.carried_over .shopping-name b{text-decoration:line-through}.check-button{border:2px solid var(--sage);color:#fff;background:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.purchased .check-button{border-color:var(--green);background:var(--green)}.shopping-name{text-align:left;background:0 0;border:0;justify-items:start;gap:3px;display:grid}.shopping-name span{color:var(--muted);font-size:.72rem}.shopping-name b{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.carried-badge,.carried-label{color:#805f14;background:#fff2cf;border-radius:20px;padding:4px 8px;font-size:.62rem;font-style:normal;font-weight:850;text-decoration:none}.carried-label{white-space:nowrap}.unavailable-label{background:#fff;border:0;border-radius:20px;padding:5px 9px;font-size:.66rem;font-weight:800}.unavailable-label.removable{color:#984a3f;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.unavailable-label.removable:hover{background:#fff4f1}.unavailable-label.removable svg{stroke-width:2.5px;width:12px;height:12px}.shopping-row-actions{align-items:center;gap:5px;display:flex}.shopping-row-actions .more-button svg{width:16px;height:16px}.inline-add{border:1px dashed var(--sage);width:100%;min-height:48px;color:var(--green-2);background:0 0;border-radius:12px;font-weight:800}.shopping-list>.inline-add,.shopping-list>.inline-form{margin-bottom:18px}.shopping-filters button{align-items:center;gap:6px;display:inline-flex}.shopping-filters button span{background:var(--sage-soft);min-width:20px;height:20px;color:var(--green);border-radius:50%;place-items:center;font-size:.62rem;display:grid}.shopping-filters button.active span{color:#fff;background:#ffffff38}.shopping-filters button.unavailable:not(.active){color:var(--red);border-color:#e6bbb6}.shopping-filter-empty{border:1px dashed var(--line);border-radius:13px;margin-bottom:18px;padding:4px 12px}.inline-form{background:var(--cream);border-radius:14px;grid-template-columns:minmax(170px,1fr) 92px 105px minmax(210px,1fr) auto auto;align-items:end;gap:8px;padding:12px;display:grid}.inline-field{gap:5px;min-width:0;display:grid}.inline-field>span{color:var(--ink-2);font-size:.68rem;font-weight:800}.inline-field>span small{color:var(--muted);font-weight:500}.inline-form input,.inline-form select{border:1px solid var(--line);background:#fff;border-radius:9px;min-width:0;padding:0 9px}.inline-form>button{align-self:end}.inline-form .inline-help{color:var(--muted);grid-column:1/-1;margin:2px 0 0;line-height:1.45}.shopping-receipt-form{gap:16px}.shopping-receipt-search{z-index:3;border:1px solid var(--line);background:var(--paper);border-radius:16px;align-items:center;gap:10px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.shopping-receipt-search{background:color-mix(in srgb, var(--paper) 94%, transparent)}}.shopping-receipt-search{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px}.shopping-receipt-search .search-field{flex:1;min-width:0}.shopping-receipt-search>small{color:var(--muted);flex:none;font-size:.68rem;font-weight:800}.shopping-receipt-items{gap:12px;display:grid}.shopping-receipt-item{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.shopping-receipt-item>header{background:var(--cream);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex}.shopping-receipt-item>header label{cursor:pointer;align-items:center;gap:11px;min-width:0;display:flex}.shopping-receipt-item>header input{width:22px;height:22px;accent-color:var(--green);flex:none}.shopping-receipt-item>header span{gap:2px;min-width:0;display:grid}.shopping-receipt-item>header b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shopping-receipt-item>header small{color:var(--muted);font-size:.68rem}.shopping-receipt-item>header strong{background:var(--sage-soft);color:var(--green-2);border-radius:999px;flex:none;padding:6px 9px;font-size:.65rem}.shopping-receipt-item.carried>header strong{background:var(--gold-soft);color:#805a0c}.receipt-carried-note,.receipt-preserved-note{color:var(--muted);margin:0;padding:13px 15px;font-size:.72rem;line-height:1.5}.receipt-product-warning{justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.receipt-product-warning p{color:var(--muted);gap:3px;margin:0;font-size:.7rem;line-height:1.45;display:grid}.receipt-product-warning p b{color:var(--ink);font-size:.78rem}.receipt-lots{gap:10px;padding:12px;display:grid}.receipt-lot{border:1px solid var(--line);background:#fffdf9;border-radius:13px;grid-template-columns:minmax(110px,.75fr) minmax(130px,1fr) minmax(130px,1fr) minmax(150px,1fr);gap:9px;padding:11px;display:grid}.receipt-lot-heading{grid-column:1/-1;justify-content:space-between;align-items:center;min-height:32px;display:flex}.receipt-lot-heading button{background:var(--red-soft);width:44px;height:44px;color:var(--red);border:0;border-radius:50%;place-items:center;display:grid}.receipt-lot-heading button svg{width:17px}.receipt-lot .field{gap:5px}.receipt-lot .field>span{font-size:.68rem}.receipt-lot .field input,.receipt-lot .field select{min-height:44px}.receipt-expiry-none{background:var(--sage-soft);min-height:44px;color:var(--forest);border-radius:10px;align-content:center;gap:3px;padding:7px 10px;display:grid}.receipt-expiry-none small{color:var(--muted);font-size:.68rem}.food-expiry-settings .expiry-mode{margin-bottom:2px}.receipt-add-lot{justify-self:start}.secondary-units-box{border:1px solid var(--line);background:var(--cream);border-radius:14px;gap:10px;padding:13px;display:grid}.secondary-units-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.secondary-units-heading>div{gap:3px;display:grid}.secondary-units-heading b{font-size:.78rem}.secondary-units-heading small,.secondary-units-box>p{color:var(--muted);margin:0;font-size:.68rem;line-height:1.45}.measurement-settings{gap:14px}.measurement-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.measurement-mode-grid label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:58px;padding:9px 11px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid}.measurement-mode-grid label:hover{border-color:var(--sage)}.measurement-mode-grid label:focus-within{outline:3px solid var(--gold);outline-offset:2px}.measurement-mode-grid label.active{border-color:var(--green-2);background:var(--sage-soft);box-shadow:inset 0 0 0 1px #246b5b12}.measurement-mode-grid label:has(input:disabled){cursor:default}.measurement-mode-grid input{width:21px;height:21px;accent-color:var(--green);opacity:1;margin:0}.measurement-mode-grid label>span{gap:2px;min-width:0;display:grid}.measurement-mode-grid b{overflow-wrap:anywhere;color:var(--ink);font-size:.74rem;line-height:1.2}.measurement-mode-grid small{color:var(--muted);font-size:.62rem;line-height:1.35}.counted-weight-field{border-top:1px solid var(--line);padding-top:13px}.secondary-unit-note{background:var(--sage-soft);color:var(--green-2);border-radius:10px;grid-template-columns:22px 1fr;align-items:start;gap:8px;padding:9px 10px;display:grid}.secondary-unit-note>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:.68rem;font-weight:900;display:grid}.secondary-unit-note p{margin:0;font-size:.68rem;line-height:1.45}.secondary-unit-note b{margin-bottom:2px;display:block}.secondary-unit-row{grid-template-columns:minmax(72px,.7fr) minmax(105px,1fr) auto minmax(72px,.7fr) auto 34px;align-items:center;gap:7px;display:grid}.secondary-unit-row>span,.secondary-unit-row>strong{color:var(--ink-2);font-size:.76rem}.secondary-unit-row>input,.secondary-unit-row select,.secondary-unit-row .adaptive-select{width:100%;min-width:0}.secondary-unit-row>input{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:42px;padding:8px 9px}.secondary-unit-row>input:disabled{background:var(--sage-soft);color:var(--green-2);opacity:1}.secondary-unit-row .secondary-base-unit,.secondary-unit-row .secondary-equals{white-space:nowrap}.secondary-unit-row>button{background:var(--red-soft);width:34px;height:34px;color:var(--red);border:0;border-radius:9px;place-items:center;display:grid}.shopping-impact{padding:22px}.shopping-impact>div{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:13px 0;display:grid}.shopping-impact p{gap:3px;margin:0;display:grid}.shopping-impact small{color:var(--muted)}.shopping-impact em{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-style:normal;font-weight:900;display:grid}.empty-large{align-content:center;place-items:center;min-height:430px;padding:30px;display:grid}.stock-toolbar .segmented{flex:none}.search-field{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:7px;min-width:min(360px,100%);height:42px;padding:0 12px;display:flex}.search-field span{color:var(--muted);font-size:1.2rem}.search-field input{background:0 0;border:0;outline:0;width:100%}.search-field input[type=search],.food-combobox>input[type=search],.adaptive-select-search>input[type=search]{appearance:none}.search-field input[type=search]::-webkit-search-cancel-button{display:none}.food-combobox>input[type=search]::-webkit-search-cancel-button{display:none}.adaptive-select-search>input[type=search]::-webkit-search-cancel-button{display:none}.search-clear-button{background:var(--sage-soft);width:32px;height:32px;color:var(--green-2);border:0;border-radius:9px;flex:0 0 32px;place-items:center;display:grid}.search-clear-button svg{width:15px;height:15px}.search-clear-button:hover{color:var(--green);background:#d1e0d5}.zone-tabs,.filter-pills{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.zone-tabs button,.filter-pills button{border:1px solid var(--line);background:var(--paper);min-height:36px;color:var(--muted);border-radius:20px;padding:0 14px;font-size:.74rem;font-weight:750}.zone-tabs button{align-items:center;gap:6px;display:inline-flex}.zone-tabs button.active,.filter-pills button.active{border-color:var(--green);background:var(--green);color:#fff}.stock-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.stock-card{grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:18px;display:grid;position:relative}.food-icon{background:var(--gold-soft);color:#8a6013;border-radius:15px;grid-row:1/3;place-items:center;width:50px;height:50px;display:grid}.food-icon.freezer{color:#39717e;background:#e2eef1}.food-icon.fresh{background:var(--sage-soft);color:var(--green)}.food-icon.other{color:var(--ink-2);background:#ece9e0}.zone-symbol{place-items:center;min-width:18px;font-size:1rem;display:inline-grid}.stock-card-title{gap:3px;display:grid}.stock-card-title h3{margin:0}.stock-card-title span{color:var(--muted);font-size:.68rem}.stock-card>strong{grid-area:1/3/3;font-family:Georgia,serif;font-size:1.1rem}.expiry{background:var(--sage-soft);width:max-content;color:var(--green-2);border-radius:20px;padding:4px 8px;font-size:.65rem;font-weight:850}.expiry.urgent{background:var(--red-soft);color:var(--red)}.stock-card-lots{align-items:start}.lot-list{grid-column:1/-1;gap:7px;margin-top:5px;display:grid}.lot-row{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px;display:grid;overflow:hidden}.lot-row-details{text-align:left;background:0 0;border:0;gap:7px;min-width:0;min-height:44px;padding:0;display:grid}.lot-quantity-line{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.lot-quantity-line b{overflow-wrap:anywhere;min-width:0}.lot-meta-line{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.lot-meta-line .expiry{white-space:normal;max-width:100%}.stock-decrement-button{border:1px solid var(--sage);background:var(--sage-soft);width:44px;height:44px;color:var(--green);border-radius:50%;place-items:center;transition:background .18s,color .18s,transform .18s;display:grid}.stock-decrement-button svg{stroke-width:2.8px;width:19px;height:19px}.stock-decrement-button:active{transform:scale(.94)}.stock-decrement-button:disabled{opacity:.5}@media (hover:hover){.stock-decrement-button:not(:disabled):hover{background:var(--green);color:#fff}}.stock-swipe-shell{border-radius:12px;position:relative;overflow:hidden}.stock-swipe-content{z-index:1;touch-action:pan-y;width:100%;transition:transform .2s;position:relative}.stock-swipe-shell:not(.delete-revealed)>.swipe-delete-button{visibility:hidden}.stock-swipe-shell.delete-revealed>.swipe-delete-button{z-index:2}.stock-swipe-shell.delete-revealed .stock-swipe-content{transform:translate(-92px)}.stock-swipe-shell>.swipe-delete-button{border-radius:0 12px 12px 0}.lot-row small{color:var(--muted);font-size:.64rem}.lot-row-details em{color:var(--green-2);font-size:.65rem;font-style:normal;font-weight:800}.stock-card .stock-add-button{color:var(--green-2);background:0 0;border:0;grid-column:1/-1;padding:4px;font-size:.72rem;font-weight:800}.stock-category-groups{gap:8px;display:grid}.stock-category-group{border-bottom:1px solid var(--line);gap:6px;padding-bottom:10px;display:grid}.stock-category-group>header{grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.stock-category-group .category-toggle-button{grid-template-columns:36px minmax(0,1fr) 20px;gap:8px;min-height:44px}.stock-category-group .category-toggle-button>span:first-child{border-radius:11px;width:36px;height:36px;font-size:1rem}.compact-stock-list{padding:0;overflow:hidden}.compact-stock-row-shell+.compact-stock-row-shell{border-top:1px solid var(--line)}.compact-stock-row{grid-template-columns:minmax(170px,1.4fr) minmax(120px,.8fr) minmax(150px,.9fr) auto 44px;align-items:center;gap:10px;min-height:60px;padding:8px 12px;display:grid}.compact-stock-name,.compact-stock-total{gap:2px;min-width:0;display:grid}.compact-stock-name strong,.compact-stock-total strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-stock-name small,.compact-stock-total small{color:var(--muted);font-size:.66rem}.compact-stock-total strong{color:var(--green);font-family:Georgia,serif;font-size:1rem}.compact-stock-lot-summary{min-width:0;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:12px;grid-template-columns:minmax(0,1fr) 18px;align-content:center;gap:2px 6px;padding:4px 7px;display:grid;position:relative}.compact-stock-lot-summary:hover{background:var(--surface-soft)}.compact-stock-lot-summary>span{font-size:.74rem;font-weight:850}.compact-stock-lot-summary>svg{width:17px;height:17px;color:var(--green-2);grid-area:1/2/4;align-self:center;transition:transform .18s}.compact-stock-lot-summary[aria-expanded=true]>svg{transform:rotate(180deg)}.stock-lot-warning{align-items:center;gap:4px;font-size:.62rem;font-weight:850;display:flex}.stock-lot-warning svg{width:13px;height:13px}.stock-lot-warning.expired{color:var(--red)}.stock-lot-warning.soon{color:#8a6013}.compact-stock-add{border:1px solid var(--line);min-height:44px;color:var(--green-2);white-space:nowrap;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.7rem;font-weight:850;display:inline-flex}.compact-stock-add svg{width:16px;height:16px}.compact-stock-add:hover{border-color:var(--sage);background:var(--sage-soft)}.compact-stock-decrement{border:1px solid var(--sage);background:var(--sage-soft);width:44px;height:44px;color:var(--green);border-radius:50%;place-items:center;transition:background .18s,color .18s,transform .18s;display:grid}.compact-stock-decrement svg{stroke-width:2.8px;width:19px;height:19px}.compact-stock-decrement:active{transform:scale(.94)}.compact-stock-decrement:disabled{opacity:.5}@media (hover:hover){.compact-stock-decrement:not(:disabled):hover{background:var(--green);color:#fff}}.compact-stock-details{border-top:1px solid var(--line);background:var(--surface-soft);gap:7px;padding:10px 14px 14px;display:grid}.prepared-compact-list{padding:0;overflow:hidden}.prepared-swipe-shell{border-radius:0}.prepared-swipe-shell+.prepared-swipe-shell{border-top:1px solid var(--line)}.prepared-swipe-shell>.swipe-delete-button{border-radius:0}.prepared-compact-row{background:var(--paper);grid-template-columns:36px minmax(150px,1fr) auto 44px;align-items:center;gap:10px;min-height:60px;padding:8px 10px 8px 12px;display:grid}.prepared-compact-visual{color:#39717e;background:#e2eef1;border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.prepared-compact-visual.fresh{background:var(--sage-soft);color:var(--green-2)}.prepared-compact-name{gap:2px;min-width:0;display:grid}.prepared-compact-name strong,.prepared-compact-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prepared-compact-name small,.prepared-compact-metrics small{color:var(--muted);font-size:.64rem}.prepared-compact-metrics{justify-content:flex-end;align-items:center;gap:7px;display:flex}.prepared-compact-metrics>strong{color:var(--green);white-space:nowrap;font-family:Georgia,serif;font-size:.9rem}.prepared-compact-metrics .expiry.expired{background:var(--red-soft);color:var(--red)}.prepared-compact-metrics .expiry.soon{background:var(--gold-soft);color:#8a6013}.prepared-compact-edit{width:44px;height:44px;color:var(--green-2);background:0 0;border:0;border-radius:12px;place-items:center;display:grid}.prepared-compact-edit:hover{background:var(--sage-soft);color:var(--green)}.prepared-compact-edit svg{width:18px;height:18px}.apple-symbol{place-items:center;min-width:1.25em;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.15em;line-height:1;display:inline-grid}.farfalle-icon{filter:drop-shadow(0 1px 1px #5c3b0e38);width:27px;height:20px;display:inline-block;position:relative}.farfalle-icon:before,.farfalle-icon:after{content:"";clip-path:polygon(0 0,100% 20%,72% 50%,100% 80%,0 100%,25% 50%);background:repeating-linear-gradient(105deg,#f3cf77 0 2px,#ddb05a 2px 3px);width:12px;height:16px;position:absolute;top:2px}.farfalle-icon:before{left:0}.farfalle-icon:after{right:0;transform:scaleX(-1)}.farfalle-icon>i{z-index:1;background:linear-gradient(90deg,#dca74e,#f2ce76 48%,#cb943f);border:1px solid #bd873b;border-radius:45%;width:7px;height:12px;position:absolute;top:4px;left:10px}.food-catalog-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:grid}.food-filter-button{white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:47px;padding-inline:15px;display:inline-flex}.food-filter-button svg{width:17px;height:17px}.food-filter-button b{background:var(--green);color:#fff;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:.64rem;display:grid}.food-filter-button.active{background:var(--sage-soft);color:var(--green);border-color:#246b5b59}.food-results-summary{min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:0 5px;font-size:.7rem;font-weight:750;display:flex}.food-results-summary span:last-child{text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.food-category-groups{gap:12px;display:grid}.food-category-group{border-bottom:1px solid var(--line);gap:12px;padding-bottom:18px;display:grid}.food-category-group>header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.category-toggle-button{min-width:0;min-height:52px;color:inherit;text-align:left;background:0 0;border:0;border-radius:15px;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:4px;display:grid}.category-toggle-button:hover{background:#dfe9e18c}.category-toggle-button>span:first-child{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;place-items:center;width:42px;height:42px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.15rem;display:grid}.category-toggle-button>span:nth-child(2){min-width:0}.category-toggle-button>svg{width:20px;height:20px;color:var(--green-2);transition:transform .18s}.category-toggle-button[aria-expanded=true]>svg{transform:rotate(180deg)}.food-category-group>header h2{margin:0;font-size:1.15rem}.food-category-group>header small{color:var(--muted);font-size:.68rem}.category-edit-button{border:1px solid var(--line);background:var(--paper);min-width:44px;min-height:44px;color:var(--green-2);border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.7rem;font-weight:850;display:inline-flex}.category-edit-button svg{width:16px;height:16px}.category-edit-button:hover{background:var(--sage-soft);color:var(--green)}.food-catalog-list{padding:0;overflow:hidden}.food-catalog-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:66px;color:inherit;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:14px;padding:11px 15px;display:grid}.food-catalog-row:last-child{border-bottom:0}.food-catalog-row:hover{background:var(--sage-soft)}@supports (color:color-mix(in lab, red, red)){.food-catalog-row:hover{background:color-mix(in srgb, var(--sage-soft) 48%, transparent)}}.food-catalog-row h3{margin:0 0 3px;font-size:.88rem}.food-catalog-row p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.66rem;overflow:hidden}.food-catalog-row>span{text-align:right;gap:2px;min-width:88px;display:grid}.food-catalog-row>span strong{font-size:.74rem}.food-catalog-row>span small{color:var(--muted);font-size:.6rem}.food-catalog-row>b{color:var(--green-2);font-size:1.15rem}.food-filter-backdrop{z-index:240;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a2a227a;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.food-filter-drawer{background:var(--paper);grid-template-rows:auto minmax(0,1fr) auto;width:430px;max-width:100%;height:100dvh;animation:.18s ease-out food-filter-drawer-in;display:grid;overflow:hidden;box-shadow:-24px 0 70px #06261e3d}.food-filter-handle{display:none}.food-filter-drawer>header{border-bottom:1px solid var(--line);padding:max(24px, env(safe-area-inset-top)) 24px 19px;background:linear-gradient(135deg,#fffdf8,#f0f6ef);justify-content:space-between;align-items:center;gap:16px;display:flex}.food-filter-drawer>header h2{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.food-filter-drawer>header small{color:var(--muted);font-size:.68rem}.food-filter-drawer>header button{background:var(--cream);width:44px;height:44px;color:var(--green);border:0;border-radius:13px;flex:none;place-items:center;display:grid}.food-filter-drawer>header button svg{width:18px;height:18px}.food-filter-fields{overscroll-behavior:contain;align-content:start;gap:17px;min-height:0;padding:22px 24px;display:grid;overflow-y:auto}.food-filter-drawer>footer{border-top:1px solid var(--line);padding:16px 24px calc(16px + env(safe-area-inset-bottom));background:#fffdf8f5;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;display:grid}.food-filter-drawer>footer button{justify-content:center;min-width:0;padding-inline:12px}@keyframes food-filter-drawer-in{0%{opacity:.6;transform:translate(100%)}}@keyframes food-filter-drawer-up{0%{opacity:.6;transform:translateY(100%)}}.category-icon-field{grid-template-columns:52px minmax(0,1fr);gap:8px;display:grid}.category-icon-field>span{border:1px solid var(--line);background:var(--cream);border-radius:12px;place-items:center;width:52px;height:48px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.45rem;display:grid}.category-icon-field>input{min-width:0;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif}.field-help{color:var(--muted);font-size:.68rem;font-weight:500;line-height:1.4}.modal-backdrop{z-index:100;padding-top:max(14px, env(safe-area-inset-top));overscroll-behavior:contain;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a2a2285;place-items:end center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{width:min(590px,100%);max-width:100vw;max-height:calc(100dvh - max(14px, env(safe-area-inset-top)));background:var(--paper);border:1px solid #ffffffb8;border-radius:26px 26px 0 0;grid-template-rows:auto auto minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 -20px 60px #06261e40}.modal-card.wide{width:min(810px,100%)}.modal-handle{background:#d8d5cc;border-radius:999px;width:42px;height:5px;margin:10px auto 0}.modal-card>header{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#fffdf8 0%,#f0f6ef 100%);grid-template-columns:50px 1fr auto;align-items:center;gap:13px;padding:12px 26px 18px;display:grid}.modal-card>header h2{margin:0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.modal-card>header button{background:var(--cream);border:0;border-radius:50%;place-items:center;width:39px;height:39px;font-size:1.5rem;display:grid}.modal-card>header button svg{width:18px}.modal-title-icon{color:#fff;background:var(--green);border-radius:16px;place-items:center;width:50px;height:50px;display:grid;box-shadow:0 10px 24px #0d4a3e33}.modal-title-icon svg{width:22px}.modal-heading{min-width:0}.modal-heading .eyebrow{margin-bottom:2px;font-size:.55rem}.modal-heading>small{color:var(--muted);margin-top:3px;font-size:.66rem;line-height:1.4;display:block}.modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;background:#f6f4ee;min-height:0;overflow:hidden auto}.modal-form,.settings-grid{min-width:0;padding:20px 22px calc(20px + env(safe-area-inset-bottom));background:#fffdf9;border:1px solid #153c331a;border-radius:20px;gap:18px;margin:16px;display:grid;box-shadow:0 8px 22px #1b37300d}.field{gap:7px;min-width:0;display:grid}.field>span,fieldset>legend{color:var(--ink-2);font-size:.75rem;font-weight:800}.field>span small{color:var(--muted);font-weight:500}.field input,.field select,.field textarea,.ingredient-line input,.ingredient-line select{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px}.field input[type=date],.field input[type=datetime-local],.field input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-variant-numeric:tabular-nums;appearance:auto;width:100%;min-width:0;max-width:100%;background:linear-gradient(#fff,#f7faf8);border-color:#ccd7d0;min-inline-size:0;display:block;overflow:hidden}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=time]::-webkit-date-and-time-value{text-align:left;min-width:0}.field input[type=date]::-webkit-calendar-picker-indicator{opacity:.72;margin:0;padding:6px}.field input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.72;margin:0;padding:6px}.field input[type=time]::-webkit-calendar-picker-indicator{opacity:.72;margin:0;padding:6px}.native-date-field{justify-self:start;gap:7px;width:min(100%,14rem);min-width:0;display:grid}.native-date-field>span{color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;font-size:.75rem;font-weight:800;display:flex}.native-date-field>span small{color:var(--muted);font-size:.62rem;font-weight:650}.native-date-control{min-width:0;max-width:100%;position:relative}.native-date-control>svg{z-index:1;width:17px;height:17px;color:var(--green);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.native-date-control>input{width:100%;min-width:0;max-width:100%;min-inline-size:0;min-height:47px;color:var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-variant-numeric:tabular-nums;appearance:auto;background:linear-gradient(#fff,#f7faf8);border:1px solid #ccd7d0;border-radius:12px;padding:10px 12px 10px 42px;display:block;overflow:hidden}.native-date-control>input::-webkit-date-and-time-value{text-align:left;min-width:0}.native-date-control>input::-webkit-calendar-picker-indicator{opacity:.72;margin:0;padding:6px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.adaptive-date-field.with-time{width:min(100%,24rem)}.adaptive-date-desktop{align-items:center;gap:9px;min-width:0;display:flex}.adaptive-date-trigger{width:100%;min-width:0;min-height:48px;color:var(--ink);text-align:left;background:linear-gradient(#fff,#f7faf8);border:1px solid #b9c9c0;border-radius:12px;grid-template-columns:19px minmax(0,1fr) 17px;align-items:center;gap:10px;padding:0 13px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 0 0 4px #3165540d}.adaptive-date-trigger:hover{border-color:var(--ensemble-green);box-shadow:0 0 0 4px #31655417}.adaptive-date-trigger:focus-visible{border-color:var(--ensemble-green-2);outline:0;box-shadow:0 0 0 4px #0f766e29}.adaptive-date-trigger:disabled{cursor:not-allowed;opacity:.58}.adaptive-date-trigger>svg:first-child{color:var(--ensemble-green-2)}.adaptive-date-trigger>svg:last-child{color:var(--ensemble-muted)}.adaptive-date-trigger>span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:760;overflow:hidden}.adaptive-time-control{grid-template-columns:17px minmax(0,1fr);align-items:center;gap:7px;width:118px;min-width:118px;display:grid}.adaptive-time-control>svg{width:17px;color:var(--ensemble-green-2)}.adaptive-time-control>input{min-width:0;padding-inline:8px}.adaptive-calendar-popover{z-index:300;width:min(360px,100vw - 24px);max-height:calc(100dvh - 24px);color:var(--ink);background:#fffdf9;border:1px solid #1f4f422e;border-radius:22px;padding:18px;animation:.16s ease-out adaptive-calendar-in;position:fixed;overflow:auto;box-shadow:0 26px 70px #06261e47}.adaptive-calendar-popover>header{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.adaptive-calendar-popover>header strong{text-align:center;text-transform:capitalize;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:500}.adaptive-calendar-popover>header button{border:1px solid var(--ensemble-line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#f6f4ee;border-radius:13px;place-items:center;display:grid}.adaptive-calendar-popover>header button:hover{border-color:var(--ensemble-green);background:var(--ensemble-sage-soft)}.adaptive-calendar-popover>header svg{width:18px}.adaptive-calendar-weekdays,.adaptive-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.adaptive-calendar-weekdays{margin:15px 0 7px}.adaptive-calendar-weekdays span{color:var(--ensemble-muted);text-align:center;text-transform:uppercase;font-size:10px;font-weight:850}.adaptive-calendar-days button{min-width:0;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;font-size:13px;font-weight:720;display:grid}.adaptive-calendar-days button:hover:not(:disabled){background:var(--ensemble-sage-soft);color:var(--ensemble-green)}.adaptive-calendar-days button.outside{color:#a8ada9;font-weight:560}.adaptive-calendar-days button.today{box-shadow:inset 0 0 0 1.5px var(--ensemble-green-2)}.adaptive-calendar-days button.selected{background:var(--ensemble-green);color:#fff;box-shadow:0 7px 15px #0d4a3e3d}.adaptive-calendar-days button:focus-visible{outline-offset:1px;outline:3px solid #0f766e38}.adaptive-calendar-days button:disabled{cursor:not-allowed;opacity:.28}.adaptive-calendar-popover>footer{border-top:1px solid var(--ensemble-line);justify-content:space-between;gap:10px;margin-top:14px;padding-top:13px;display:flex}.adaptive-calendar-popover>footer button{border:1px solid var(--ensemble-line);min-height:40px;color:var(--ensemble-green);cursor:pointer;background:#f6f4ee;border-radius:12px;padding:0 14px;font-size:11px;font-weight:820}.adaptive-calendar-popover>footer button:hover:not(:disabled){border-color:var(--ensemble-green);background:var(--ensemble-sage-soft)}.adaptive-calendar-popover>footer .calendar-clear{color:var(--ensemble-red);margin-left:auto}@keyframes adaptive-calendar-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}}.field input:disabled{color:var(--muted);background:#f0f1ee}.field textarea{resize:vertical}.field>small{color:var(--muted);font-size:.68rem}.form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px;min-width:0;display:grid}.form-grid>*{min-width:0}.form-grid.three{grid-template-columns:repeat(3,1fr)}.choice-cards,.participant-pills{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.choice-cards legend,.participant-pills legend{width:100%;margin-bottom:5px}.choice-cards button{border:1px solid var(--line);background:#fff;border-radius:13px;flex:1;justify-items:center;gap:4px;min-width:120px;padding:11px;display:grid}.choice-cards button>span{font-size:1.25rem}.choice-cards button.active{border:2px solid var(--green);background:var(--sage-soft)}.participant-pills label{border:1px solid var(--line);background:#fff;border-radius:20px;align-items:center;gap:7px;min-height:39px;padding:0 12px;font-size:.74rem;font-weight:750;display:flex}.participant-pills label.active{border-color:var(--green);background:var(--sage-soft)}.participant-pills input{opacity:0;position:absolute}.participant-pills label>span{background:var(--gold);border-radius:50%;place-items:center;width:23px;height:23px;font-size:.66rem;display:grid}.baby-toggle,.meal-eligible-toggle,.stock-tracking-toggle{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:15px;align-items:center;gap:12px;padding:13px;display:flex}.baby-toggle.active,.meal-eligible-toggle.active,.stock-tracking-toggle.active{border-color:var(--green);background:var(--sage-soft)}.baby-toggle>input,.meal-eligible-toggle>input,.stock-tracking-toggle>input{width:20px;height:20px;accent-color:var(--green)}.baby-toggle>span:first-of-type,.meal-eligible-toggle>span:first-of-type,.stock-tracking-toggle>span:first-of-type{background:var(--gold-soft);border-radius:12px;flex:none;place-items:center;width:39px;height:39px;font-size:1.2rem;display:grid}.stock-tracking-toggle>span:first-of-type svg{width:21px;height:21px}.baby-toggle>span:last-child,.meal-eligible-toggle>span:last-child,.stock-tracking-toggle>span:last-child{gap:3px;min-width:0;display:grid}.baby-toggle small,.meal-eligible-toggle small,.stock-tracking-toggle small{color:var(--muted);font-size:.68rem;line-height:1.4}.modal-actions{margin:5px -22px calc(-20px - env(safe-area-inset-bottom));padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf8f5;border-radius:0 0 20px 20px;align-items:center;gap:9px;display:flex}.modal-actions>span{flex:1}.modal-actions .label-primary-action{justify-content:center;align-items:center;gap:7px;display:inline-flex}.meal-detail{min-width:0;padding:20px 22px calc(20px + env(safe-area-inset-bottom));background:#fffdf9;border:1px solid #153c331a;border-radius:20px;gap:17px;margin:16px;display:grid;box-shadow:0 8px 22px #1b37300d}.meal-detail-hero{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:13px;display:grid}.meal-detail-hero>span{background:var(--sage-soft);border-radius:17px;place-items:center;width:54px;height:54px;font-size:1.55rem;display:grid}.meal-detail-hero>div{gap:2px;display:grid}.meal-detail-hero p,.meal-detail-hero h3{margin:0}.meal-detail-hero p{color:var(--muted);text-transform:capitalize;font-size:.72rem}.meal-detail-hero small{color:var(--green-2);font-size:.7rem;font-weight:800}.meal-status{background:var(--sage-soft);color:var(--green);border-radius:999px;padding:7px 10px;font-size:.66rem;font-style:normal;font-weight:850}.meal-status.at_risk{background:var(--red-soft);color:var(--red)}.meal-status.completed{color:#376b76;background:#e5eef0}.meal-detail-action-bar{border-block:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;padding-block:12px;display:grid}.meal-detail-action-bar button{border:1px solid var(--line);min-width:0;min-height:48px;color:var(--green-2);background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:8px 11px;font-size:.7rem;font-weight:850;line-height:1.15;display:flex}.meal-detail-action-bar button:hover:not(:disabled){border-color:var(--sage);background:var(--sage-soft);color:var(--green)}.meal-detail-action-bar button.complete{border-color:var(--green);background:var(--green);color:#fff}.meal-detail-action-bar button.freeze{color:#376b76;background:#edf5f7;border-color:#bfd6dc}.meal-detail-action-bar button.cancel{background:var(--red-soft);color:var(--red);border-color:#dfaba5}.meal-detail-action-bar svg{flex:none;width:18px;height:18px}.meal-move-form{gap:16px}.meal-move-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.meal-move-shortcuts button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--green-2);border-radius:999px;padding:0 14px;font-size:.74rem;font-weight:800}.meal-move-shortcuts button:hover{border-color:var(--sage);background:var(--sage-soft);color:var(--green)}.meal-detail-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meal-detail-meta>div{border:1px solid var(--line);background:var(--cream);border-radius:14px;gap:4px;padding:13px;display:grid}.meal-detail-meta span{color:var(--muted);font-size:.65rem;font-weight:750}.meal-detail-meta b{font-size:.78rem}.meal-detail-meta small{color:var(--muted);font-size:.67rem}.meal-detail-section{border-top:1px solid var(--line);gap:9px;padding-top:17px;display:grid}.meal-detail-section h3,.meal-detail-section p{margin:0}.meal-detail-ingredients{gap:7px;display:grid}.meal-detail-ingredients>div{background:var(--cream);border-radius:13px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.meal-detail-ingredients>div>span{background:#fff;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.meal-detail-ingredients p{gap:2px;margin:0;display:grid}.meal-detail-ingredients small{color:var(--muted);font-size:.66rem}.meal-detail-ingredients strong{color:var(--green);font-size:.75rem}.meal-detail-copy,.meal-detail-note{color:var(--muted);white-space:pre-wrap;font-size:.78rem;line-height:1.55}.meal-detail-expiry{background:var(--gold-soft);color:#9b6100;border-radius:999px;width:-moz-fit-content;width:fit-content;padding:6px 9px;font-weight:800}.meal-detail-link{color:#376b76;background:#edf5f7;border:1px solid #bfd6dc;border-radius:14px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;padding:12px;text-decoration:none;display:grid}.meal-detail-link>span{background:#fff;border-radius:12px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.meal-detail-link p{gap:3px;min-width:0;margin:0;display:grid}.meal-detail-link small{overflow-wrap:anywhere;color:#52727a;font-size:.66rem}.meal-detail-link[type=button]{text-align:left;width:100%}.meal-risk{background:var(--red-soft)}.meal-risk>svg{width:22px;height:22px;color:var(--red);flex:none}.meal-risk>div{color:var(--red);gap:5px;display:grid}.meal-risk p,.meal-risk ul{color:var(--red);margin:0}.meal-risk ul{gap:3px;padding-left:18px;font-size:.72rem;display:grid}.meal-risk li strong{color:inherit}.form-message{overflow-wrap:anywhere;background:var(--sage-soft);border-radius:11px;padding:10px 12px;font-size:.76rem}.form-message.error{background:var(--red-soft);color:var(--red)}.form-message.warning{background:var(--gold-soft);color:#805a0c}.form-message.success{background:var(--sage-soft);color:var(--green)}.info-banner,.calculation-preview{background:#e5eef0;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.info-banner>span,.calculation-preview>span{color:#376b76;background:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.info-banner p,.calculation-preview p{color:#52727a;gap:3px;margin:0;font-size:.74rem;display:grid}.ingredient-checklist{gap:7px;display:grid}.ingredient-checklist label{border-bottom:1px solid var(--line);grid-template-columns:1fr 110px 35px;align-items:center;gap:7px;padding:8px 0;display:grid}.ingredient-checklist label.insufficient{background:var(--red-soft);border:1px solid #dfaba5;border-radius:13px;padding:10px}.ingredient-checklist label.stock-note{background:var(--gold-soft);border:1px solid #e1c77e;border-radius:13px;padding:10px}.ingredient-checklist label>span{display:grid}.ingredient-checklist small{color:var(--muted)}.ingredient-checklist .ingredient-stock-status{align-items:flex-start;gap:5px;margin-top:4px;font-size:.66rem;font-weight:750;line-height:1.35;display:flex}.ingredient-stock-status>span:first-child{background:var(--sage-soft);width:15px;height:15px;color:var(--green);border-radius:50%;flex:none;place-items:center;display:grid}.ingredient-stock-status svg{width:13px;height:13px}.ingredient-stock-status.insufficient,.ingredient-checklist .ingredient-stock-status.insufficient{color:var(--red)}.ingredient-stock-status.insufficient>span:first-child{background:var(--red);color:#fff}.ingredient-stock-status.notice{color:#805a0c}.ingredient-stock-status.notice>span:first-child{background:var(--gold);color:var(--ink)}.ingredient-checklist input{border:1px solid var(--line);border-radius:10px;min-height:41px;padding:0 9px}.ingredient-checklist em{color:var(--muted);font-size:.74rem;font-style:normal}.meal-completion-error{align-items:flex-start;gap:9px;display:flex}.meal-completion-error>svg{flex:none;width:20px;height:20px}.meal-completion-error p{gap:3px;margin:0;display:grid}.meal-stock-confirmation{align-items:flex-start;gap:10px;display:flex}.meal-stock-confirmation>svg{flex:none;width:21px;height:21px}.meal-stock-confirmation>div{gap:5px;display:grid}.meal-stock-confirmation p,.meal-stock-confirmation ul{margin:0}.meal-stock-confirmation ul{gap:3px;padding-left:18px;display:grid}.leftover-box{background:#edf5f7;border:1px solid #bfd6dc;border-radius:16px;gap:14px;padding:17px;display:flex}.leftover-box>div{flex:1}.leftover-box h3{margin-bottom:4px}.leftover-box p{color:var(--muted);font-size:.74rem}.snowflake{background:#fff;border-radius:14px;flex:none;place-items:center;width:43px;height:43px;font-size:1.4rem;display:grid}.check-line{color:var(--muted);align-items:center;gap:8px;margin-top:8px;font-size:.74rem;display:flex}.prepared-expiry-fields{border:1px solid var(--line);background:var(--cream);border-radius:15px;gap:12px;min-width:0;padding:13px;display:grid}.expiry-mode{width:100%}.expiry-mode button{flex:1;min-width:0;padding-inline:8px}.month-shortcuts{flex-wrap:wrap;gap:7px;display:flex}.month-shortcuts button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:#fff;border-radius:999px;padding:0 12px;font-size:.72rem;font-weight:800}.month-shortcuts button.active{border-color:var(--green);background:var(--sage-soft);color:var(--green)}.expiry-calculation{padding:11px 12px}.ingredient-editor{background:var(--cream);border-radius:16px;gap:8px;padding:15px;display:grid}.ingredient-line{grid-template-columns:minmax(0,1.45fr) minmax(75px,.5fr) minmax(90px,.65fr) minmax(135px,.8fr) auto 44px;align-items:end;gap:6px;display:grid}.ingredient-field{gap:5px;min-width:0;display:grid}.ingredient-field>span{color:var(--ink-2);font-size:.63rem;font-weight:800}.optional-toggle{border:1px solid var(--line);min-height:47px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:0 10px;display:flex}.optional-toggle.active{border-color:var(--green);background:var(--sage-soft);color:var(--green)}.optional-toggle input{width:18px;min-height:18px;accent-color:var(--green)}.optional-toggle span{font-size:.67rem;font-weight:800}.ingredient-line button{background:var(--red-soft);width:34px;height:34px;color:var(--red);border:0;border-radius:9px}.ingredient-line .ingredient-unlink{width:auto;height:auto;min-height:30px;color:var(--muted);background:0 0;margin-top:4px;padding:2px 0;font-size:.62rem;text-decoration:underline}.ingredient-food>small{color:var(--muted);margin-top:5px;font-size:.61rem;display:block}.ingredient-remove{align-self:end;margin-bottom:6px}.food-combobox{min-width:0;position:relative}.food-combobox>input{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px}.food-combobox>input[type=search]{padding-right:48px}.food-combobox>.search-clear-button{z-index:4;position:absolute;top:7px;right:7px}.food-suggestions{z-index:12;border:1px solid var(--line);background:#fff;border-radius:13px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 16px 36px #143f342e}.food-suggestions button{width:100%;height:auto;min-height:49px;color:var(--ink);text-align:left;background:#fff;border-radius:0;grid-template-columns:1fr auto;align-items:center;padding:8px 11px;display:grid}.food-suggestions button:hover{background:var(--cream)}.food-suggestions button small{color:var(--muted);font-size:.65rem}.food-suggestions .create-food-result{border-top:1px solid var(--line);background:var(--sage-soft);grid-template-columns:28px 1fr}.food-suggestions .create-food-result span{background:var(--green);color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:25px;height:25px;display:grid}.food-suggestions .create-food-result small{grid-column:2}.food-suggestions .association-none{border-top:1px solid var(--line);background:var(--cream)}.food-suggestions .association-none b{color:var(--muted)}.food-suggestions>p{color:var(--muted);margin:0;padding:13px;font-size:.7rem}.inline-modal-backdrop{z-index:130;background:var(--paper);display:grid;position:fixed;inset:0}.inline-modal-card{overscroll-behavior:contain;background:#f6f4ee;grid-template-rows:auto minmax(0,1fr);width:100vw;height:100dvh;display:grid;overflow-y:auto}.inline-modal-card>header{z-index:2;border-bottom:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top)) max(18px, calc((100vw - 760px) / 2)) 14px;background:linear-gradient(135deg,#fffdf8 0%,#f0f6ef 100%);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;display:grid;position:sticky;top:0}.inline-modal-card>header h3{margin:0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.inline-modal-card>header button{background:var(--cream);border:0;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.3rem;display:grid}.inline-modal-card>header small{color:var(--muted);margin-top:3px;font-size:.68rem;display:block}.inline-modal-card>.modal-form{width:min(760px,100% - 28px);padding-bottom:calc(22px + env(safe-area-inset-bottom));place-self:start center;margin:22px auto}.stack-form{gap:12px;display:grid}.settings-grid{grid-template-columns:1fr 1fr}.settings-grid section{border:1px solid var(--line);border-radius:17px;align-content:start;gap:13px;min-width:0;padding:17px;display:grid}.settings-grid .stores-setting,.settings-grid .icon-settings,.settings-grid .siri-settings,.settings-grid .unit-settings,.settings-grid .expiry-alert-settings,.settings-grid .stock-location-settings{grid-column:1/-1}.ensemble-settings-detail-content>section{border:1px solid var(--line);background:var(--paper);border-radius:17px;align-content:start;gap:13px;min-width:0;padding:17px;display:grid}.ensemble-settings-detail-content>.settings-grid{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.alert-setting-row{border:1px solid var(--line);background:var(--cream);border-radius:14px;grid-template-columns:auto 42px minmax(0,1fr) 78px auto;align-items:center;gap:10px;padding:11px;display:grid}.alert-setting-row.active{background:var(--sage-soft);border-color:#397a6859}.alert-setting-row>input[type=checkbox]{width:19px;height:19px;accent-color:var(--green)}.alert-setting-row>span:first-of-type{background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:1.1rem;display:grid}.alert-setting-row>span:nth-of-type(2){gap:2px;display:grid}.alert-setting-row small{color:var(--muted);font-size:.68rem}.alert-setting-row>input[type=number]{border:1px solid var(--line);background:#fff;border-radius:10px;width:78px;min-height:40px;padding:0 8px}.alert-setting-row em{color:var(--muted);white-space:nowrap;font-size:.68rem;font-style:normal}.automatic-unit-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.automatic-unit-groups>div{background:#397a680f;border:1px solid #397a6829;border-radius:14px;gap:3px;padding:12px 14px;display:grid}.automatic-unit-groups span{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;font-weight:800}.automatic-unit-groups b{font-size:.9rem}.automatic-unit-groups small{color:var(--muted)}.measurement-unit-list{flex-wrap:wrap;gap:8px;display:flex}.measurement-unit-list>span{border:1px solid var(--line);background:var(--surface-soft);border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:6px 10px;display:inline-flex}.measurement-unit-list b{font-size:.84rem}.measurement-unit-list small{color:var(--muted);font-size:.68rem}.measurement-unit-list button{width:24px;height:24px;color:var(--danger);background:#b43c3c17;border:0;border-radius:50%;place-items:center;display:grid}.stock-location-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.stock-location-list>span{border:1px solid var(--line);background:var(--surface-soft);border-radius:13px;grid-template-columns:30px minmax(0,1fr) 28px;align-items:center;gap:7px;min-width:0;min-height:45px;padding:7px 9px;display:grid}.stock-location-list>span>span{background:#fff;border-radius:9px;place-items:center;width:29px;height:29px;font-size:.9rem;display:grid}.stock-location-list b{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.stock-location-list button{width:27px;height:27px;color:var(--danger);background:#b43c3c17;border:0;border-radius:50%;place-items:center;display:grid}.settings-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;margin:0;padding:12px;font-size:.74rem}.unit-add-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.settings-section-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.settings-section-heading h3{margin-bottom:5px}.settings-section-heading>span{background:var(--cream);color:var(--muted);border-radius:20px;padding:6px 10px;font-size:.67rem;font-weight:850}.settings-section-heading>span.configured{background:var(--sage-soft);color:var(--green)}.siri-steps{color:var(--muted);gap:7px;margin:0;padding-left:22px;font-size:.74rem;line-height:1.45;display:grid}.siri-copy-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.siri-copy-row code{border:1px solid var(--line);background:var(--cream);text-overflow:ellipsis;white-space:nowrap;border-radius:10px;min-width:0;padding:10px;overflow:hidden}.siri-secret{background:#fff8e5;border:1px solid #e3c87b;border-radius:13px;gap:9px;padding:12px;display:grid}.siri-secret small{color:var(--muted)}.settings-help{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.icon-field-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.icon-field-grid label{border:1px solid var(--line);background:#fff;border-radius:13px;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"preview label""preview input";align-items:center;gap:4px 10px;min-width:0;padding:9px;display:grid}.icon-setting-preview{background:var(--cream);border-radius:11px;grid-area:preview;place-items:center;width:48px;height:48px;display:grid}.icon-setting-preview,.icon-setting-preview span{font-size:1.35rem}.icon-setting-label{color:var(--green-2);grid-area:label;align-self:end;font-weight:850;font-size:.72rem!important}.icon-field-grid input{border:1px solid var(--line);background:#fff;border-radius:9px;grid-area:input;align-self:start;width:100%;min-width:0;height:36px;padding:0 8px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:.75rem}.security-status,.store-summary{align-items:center;gap:12px;display:flex}.store-list{gap:9px;display:grid}.store-summary{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;flex-wrap:wrap;padding:11px}.store-summary.editing{background:var(--sage-soft);border-color:#397a6866}.security-status>span,.store-summary>span{background:var(--sage-soft);width:40px;height:40px;color:var(--green);border-radius:13px;flex:none;place-items:center;font-weight:900;display:grid}.security-status p,.store-summary p{flex:280px;gap:3px;min-width:0;margin:0;display:grid}.security-status small,.store-summary small{color:var(--muted);font-size:.68rem}.identity-rollout-card{border:1px solid var(--line);background:var(--sage-soft);border-radius:16px;gap:12px;margin:14px 0;padding:16px;display:grid}.identity-rollout-card p{gap:4px;margin:0;display:grid}.identity-rollout-card small{color:var(--muted);line-height:1.45}.identity-rollout-card .primary-button{justify-content:center;text-decoration:none}.store-summary-actions{flex-wrap:wrap;gap:7px;margin-left:auto;display:flex}.store-summary-actions button{align-items:center;gap:5px;display:inline-flex}.stores-setting .store-form{border-top:1px solid var(--line);margin-top:10px;padding-top:15px}.store-form h4{margin:0;font-size:.88rem}.global-error{z-index:90;background:var(--red-soft);max-width:580px;color:var(--red);box-shadow:var(--shadow);border:1px solid #dfaba5;border-radius:14px;align-items:center;gap:10px;padding:10px 13px;display:flex;position:fixed;top:18px;left:calc(246px + 50%);transform:translate(-50%)}.offline-banner{z-index:25;color:#fff;text-align:center;background:#2f5f68;padding:9px 16px;font-size:.72rem;font-weight:750;position:sticky;top:0}.global-error>span{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:900;display:grid}.global-error button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:1.2rem}.toast{z-index:120;background:var(--green);color:#fff;border-radius:14px;padding:13px 18px;font-size:.82rem;font-weight:800;position:fixed;bottom:25px;right:25px;box-shadow:0 15px 40px #0a2a224d}.auth-screen{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.auth-intro{background:var(--green);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(30px,6vw,80px);display:flex;overflow:hidden}.auth-intro .brand{color:#fff}.auth-intro .brand img{width:54px;height:54px}.auth-intro .brand-copy small{color:var(--sage)}.auth-intro .brand-copy strong{color:var(--gold)}.auth-intro>div:nth-child(2){max-width:650px}.auth-intro h1{font-size:clamp(2.8rem,5.6vw,5.8rem)}.auth-intro>div:nth-child(2)>p:last-child{max-width:520px;color:var(--sage);font-size:1.05rem;line-height:1.7}.auth-intro .eyebrow{color:var(--gold)}.auth-points{color:var(--sage);flex-wrap:wrap;gap:18px;font-size:.78rem;font-weight:750;display:flex}.identity-login-button{justify-content:center;align-items:center;width:100%;text-decoration:none;display:inline-flex}.auth-separator{color:var(--muted);text-align:center;align-items:center;gap:10px;font-size:.72rem;display:flex}.auth-separator:before,.auth-separator:after{background:var(--line);content:"";flex:1;height:1px}.auth-separator span{flex:none}.auth-panel{place-items:center;padding:30px;display:grid}.auth-card{border:1px solid var(--line);background:var(--paper);width:min(440px,100%);box-shadow:var(--shadow);border-radius:26px;gap:17px;padding:clamp(25px,5vw,45px);display:grid}.auth-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}.mobile-auth-brand{align-items:center;gap:10px;display:none}.mobile-auth-brand img{border-radius:13px;width:44px;height:44px}.loading-screen,.mfa-screen{text-align:center;align-content:center;place-items:center;gap:18px;min-height:100vh;padding:30px;display:grid}.loading-screen img{width:80px;height:80px;box-shadow:var(--shadow);border-radius:22px}.loading-screen p{color:var(--muted)}.mfa-card{border:1px solid var(--line);background:var(--paper);width:min(570px,100%);box-shadow:var(--shadow);text-align:left;border-radius:28px;gap:17px;padding:clamp(28px,5vw,52px);display:grid}.mfa-card>img{border-radius:18px;width:68px;height:68px}.mfa-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.mfa-card form{gap:15px;display:grid}.secret-box{background:var(--cream);border-radius:15px;gap:8px;padding:15px;display:grid}.secret-box strong{overflow-wrap:anywhere;letter-spacing:.1em;font-family:ui-monospace,monospace}.secret-box a{color:var(--green-2);font-size:.77rem;font-weight:800}.recovery-codes{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.recovery-codes code{border:1px solid var(--line);background:var(--cream);text-align:center;border-radius:10px;padding:9px}@media (min-width:720px){.modal-backdrop{align-items:center;padding:30px}.modal-card{border-radius:26px;max-height:calc(100dvh - 60px)}}@media (max-width:1100px){.side-nav{width:84px;padding-inline:12px}.side-nav .app-brand span,.side-nav nav button:not(.active):after,.side-nav nav button{font-size:0}.side-nav .app-brand,.side-nav nav button{justify-content:center;padding:0}.side-nav nav button span{font-size:1.25rem}.profile-button{justify-content:center;padding:8px;display:flex}.profile-summary,.profile-more{display:none}.app-main{margin-left:84px}.global-error{left:calc(84px + 50%)}.stock-grid{grid-template-columns:repeat(2,1fr)}.shopping-layout{grid-template-columns:1fr}.shopping-impact{display:none}}@media (max-width:760px){.adaptive-date-field.with-time{width:min(100%,17rem)}.field input,.field select,.field textarea,.ingredient-line input,.ingredient-line select,.native-date-control>input{font-size:16px}body{background:#f7f7f3}.app-shell{inset:var(--repas-app-top,0px) auto auto 0;width:100%;height:100dvh;height:var(--repas-app-height,100dvh);grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid;position:fixed;overflow:hidden}.side-nav{display:none}.app-main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;grid-row:1;min-height:0;margin-left:0;padding-bottom:0;overflow-y:auto}.app-refresh-button{right:var(--ensemble-mobile-header-profile-clearance);bottom:auto;top:calc(11px + env(safe-area-inset-top));width:var(--ensemble-mobile-header-action-size);min-width:var(--ensemble-mobile-header-action-size);max-width:var(--ensemble-mobile-header-action-size);height:var(--ensemble-mobile-header-action-size);min-height:var(--ensemble-mobile-header-action-size);max-height:var(--ensemble-mobile-header-action-size);flex:0 0 var(--ensemble-mobile-header-action-size);box-shadow:none;z-index:41;background:0 0;border-color:#0000;justify-content:center;padding:0;position:fixed}.app-refresh-button>span:last-child{display:none}.mobile-header{z-index:40;height:calc(65px + env(safe-area-inset-top));border-bottom:1px solid var(--line);padding:env(safe-area-inset-top) 17px 10px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f0;justify-content:space-between;align-items:end;display:flex;position:sticky;top:0}.mobile-header .brand{font-size:1.04rem}.mobile-header .brand img{border-radius:11px;width:38px;height:38px}.mobile-header .brand-copy small{font-size:9px}.mobile-header .brand-copy strong{margin-top:3px;font-size:20px}.mobile-header .account-wrapper{width:auto;margin-top:0}.mobile-header .profile-button{border:0;border-radius:50%;width:38px;height:38px;padding:0;display:flex}.mobile-header .profile-avatar{flex-basis:38px;width:38px;height:38px}.mobile-header .profile-summary,.mobile-header .profile-more{display:none}.mobile-header .account-popover{inset:calc(100% + 11px) 0 auto auto}.bottom-nav{z-index:30;border-top:1px solid var(--line);width:100%;padding:5px 5px var(--ensemble-mobile-nav-safe-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8f7;grid-row:2;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative;box-shadow:0 -10px 28px #143f3414}.bottom-nav button{min-width:0;min-height:52px;color:var(--muted);background:0 0;border:0;border-radius:13px;place-items:center;gap:2px;padding:4px 2px;display:grid}.bottom-nav button>span{place-items:center;display:grid}.bottom-nav button svg{stroke-width:1.9px;width:21px;height:21px}.bottom-nav button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.61rem;overflow:hidden}.bottom-nav button.active{background:var(--sage-soft);color:var(--green);font-weight:850}.page{padding:25px 14px 28px}.page-heading{align-items:start;margin-bottom:23px}.page-heading h1{font-size:2.25rem}.page-heading .subtitle{font-size:.82rem}.stock-page .page-heading{flex-wrap:wrap}.stock-page .heading-actions,.stock-page .heading-actions .split-actions{width:100%}.stock-page .heading-actions button{flex:1;min-height:44px}.foods-page .heading-actions .split-actions{flex-direction:column-reverse}.foods-page .heading-actions button{min-height:36px;padding-inline:10px;font-size:.69rem}.foods-page .category-edit-button span{display:none}.foods-page .category-edit-button{width:44px;padding:0}.food-filter-backdrop{padding-top:max(20px, env(safe-area-inset-top));align-items:flex-end}.food-filter-drawer{border-radius:26px 26px 0 0;grid-template-rows:auto auto minmax(0,1fr) auto;width:100%;height:auto;max-height:88dvh;animation:.18s ease-out food-filter-drawer-up}.food-filter-handle{background:#d8d5cc;border-radius:999px;width:42px;height:5px;margin:9px auto 0;display:block}.food-filter-drawer>header{padding:10px 17px 15px}.food-filter-drawer>header h2{font-size:1.35rem}.food-filter-fields{padding:18px 17px}.food-filter-drawer>footer{padding:13px 17px calc(13px + env(safe-area-inset-bottom))}.hero-grid,.dashboard-grid{grid-template-columns:1fr}.today-card{padding:18px}.meal-row{grid-template-columns:74px 1fr auto}.meal-actions{padding-right:4px}.dashboard-grid>.card{padding:18px}.shopping-summary{grid-column:auto;padding:14px!important}.calendar-toolbar,.stock-toolbar,.shopping-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar{flex-direction:row;align-items:center}.calendar-nav{flex:1}.calendar-nav .date-title{flex:1;font-size:.78rem}.calendar-toolbar .segmented button{width:38px;padding:0;font-size:0;overflow:hidden}.calendar-toolbar .segmented button:first-child:after{content:"7j";font-size:.7rem}.calendar-toolbar .segmented button:nth-child(2):after{content:"3j";font-size:.7rem}.calendar-toolbar .segmented button:last-child:after{content:"M";font-size:.7rem}.week-calendar{scroll-snap-type:x mandatory;grid-template-columns:repeat(7,76vw);margin-right:-14px}.week-calendar.three-day-calendar{grid-template-columns:repeat(3,76vw)}.day-column{scroll-snap-align:center;min-height:480px}.month-calendar{padding:8px;overflow-x:auto}.month-weekdays,.month-grid{min-width:630px}.month-grid>button{min-height:88px}.shopping-toolbar select{width:100%}.shopping-progress{width:100%;min-width:0}.shopping-list{padding:16px}.list-meta{flex-direction:column;gap:6px}.shopping-search-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.shopping-search-row .search-field{grid-column:1/-1}.inline-form{grid-template-columns:1fr 80px}.inline-name{grid-column:1}.inline-quantity{grid-column:2}.inline-unit{grid-column:1/-1}.inline-catalog,.inline-form .primary-button,.inline-form .text-button{grid-column:1/-1;min-height:42px}.shopping-receipt-item>header,.shopping-receipt-item>header label{align-items:flex-start}.receipt-product-warning{flex-direction:column;align-items:stretch}.receipt-lot{grid-template-columns:1fr 1fr}.receipt-lot .field:nth-of-type(3),.receipt-lot .field:nth-of-type(4){grid-column:1/-1}.receipt-add-lot{width:100%}.secondary-units-heading{flex-direction:column;align-items:stretch}.secondary-unit-row{grid-template-columns:minmax(58px,.7fr) minmax(88px,1fr) auto minmax(58px,.7fr) auto 34px;gap:5px}.association-combobox>input{font-size:16px}.stock-grid{grid-template-columns:1fr}.stock-toolbar .segmented{width:100%}.stock-toolbar .segmented button{flex:1}.search-field{width:100%;min-width:0}.stock-card{grid-template-columns:48px 1fr auto}.lot-row{grid-template-columns:minmax(0,1fr) 44px}.stock-page .stock-toolbar{gap:9px;margin-bottom:10px;padding:10px}.stock-page .zone-tabs{margin-bottom:10px}.compact-stock-row{grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"name total decrement""lots add decrement";gap:2px 8px;padding:7px 10px}.compact-stock-name{grid-area:name}.compact-stock-total{grid-area:total;justify-items:end}.compact-stock-lot-summary{grid-area:lots;margin-left:-7px}.compact-stock-add{grid-area:add;min-width:82px;padding-inline:9px}.compact-stock-add span{display:none}.compact-stock-add:after{content:"Ajouter"}.compact-stock-decrement{grid-area:decrement}.compact-stock-details{padding:9px 10px 12px}.prepared-compact-row{grid-template-columns:36px minmax(0,1fr) 44px;grid-template-areas:"visual name edit""visual metrics edit";gap:1px 9px;padding-block:6px}.prepared-compact-visual{grid-area:visual}.prepared-compact-name{grid-area:name}.prepared-compact-metrics{grid-area:metrics;justify-content:flex-start;min-width:0}.prepared-compact-metrics>strong{font-size:.8rem}.prepared-compact-metrics .expiry{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.prepared-compact-edit{grid-area:edit}.filter-pills button{white-space:nowrap}.modal-backdrop{width:100%;max-width:100vw;padding:0}.modal-card,.modal-card.wide{border:0;border-radius:0;width:100%;max-width:100vw;height:100dvh;max-height:100dvh}.modal-card .modal-handle{display:none}.modal-card>header{padding-top:calc(10px + env(safe-area-inset-top))}.modal-backdrop-large{padding:0}.modal-card.large,.modal-card.wide.large{border:0;border-radius:0;height:100dvh;max-height:100dvh}.modal-card.large .modal-handle{display:none}.modal-card.large>header{padding-top:calc(10px + env(safe-area-inset-top))}.modal-card>header{grid-template-columns:44px 1fr auto;gap:10px;padding:10px 17px 14px}.modal-card>header h2{font-size:1.38rem}.modal-title-icon{border-radius:14px;width:44px;height:44px}.modal-heading>small{display:none}.modal-form,.settings-grid,.meal-detail{padding:17px 17px calc(17px + env(safe-area-inset-bottom));margin:10px}.recipe-detail{width:calc(100% - 20px);padding:17px 17px calc(17px + env(safe-area-inset-bottom));margin:10px auto}.meal-detail-hero{grid-template-columns:48px minmax(0,1fr)}.meal-detail-hero>span{width:48px;height:48px}.meal-detail-hero .meal-status{grid-column:1/-1;justify-self:start}.meal-detail-action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-detail-action-bar button.complete{grid-column:1/-1}.meal-detail-meta,.form-grid,.form-grid.three,.settings-grid{grid-template-columns:1fr}.settings-grid .stores-setting,.settings-grid .icon-settings,.settings-grid .siri-settings,.settings-grid .unit-settings,.settings-grid .expiry-alert-settings,.settings-grid .stock-location-settings{grid-column:auto}.alert-setting-row{grid-template-columns:auto 40px minmax(0,1fr)}.alert-setting-row>input[type=number]{grid-column:2;width:100%}.alert-setting-row>em{grid-column:3}.unit-add-form{grid-template-columns:1fr}.store-summary-actions{width:100%;margin-left:0}.store-summary-actions button{flex:1;justify-content:center}.automatic-unit-groups,.measurement-mode-grid{grid-template-columns:1fr}.measurement-mode-grid label{min-height:54px}.siri-copy-row{grid-template-columns:minmax(0,1fr)}.siri-copy-row button{width:100%}.icon-field-grid{grid-template-columns:minmax(0,1fr)}.icon-field-grid label,.icon-field-grid input{min-width:0}.choice-cards{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.choice-cards button{width:100%;min-width:0;padding-inline:5px;font-size:.72rem}.section-title{flex-wrap:wrap}.ingredient-editor{min-width:0;padding:12px}.ingredient-line{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:10px}.ingredient-line>*{min-width:0}.ingredient-line input,.ingredient-line select{min-width:0;padding-inline:6px}.ingredient-food{grid-column:1/-1}.ingredient-quantity{grid-column:1/3}.ingredient-unit{grid-column:3/-1}.ingredient-shopping{grid-column:1/-1}.recipe-attachment-drafts>article{grid-template-columns:30px minmax(0,1fr)}.recipe-attachment-drafts .attachment-actions{grid-column:1/-1;justify-content:flex-end}.optional-toggle{grid-column:1/4;justify-content:center}.ingredient-remove{grid-column:4;place-self:end;margin-bottom:6px}.baby-toggle>span:last-child,.meal-eligible-toggle>span:last-child,.stock-tracking-toggle>span:last-child{overflow-wrap:anywhere;min-width:0}.ingredient-checklist label{grid-template-columns:1fr 85px 30px}.modal-actions{margin:5px -17px calc(-17px - env(safe-area-inset-bottom));padding:12px 17px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.modal-actions>span{display:none}.modal-actions button{flex:1}.recipe-detail-actions .primary-button,.modal-actions.freezer-add-actions .label-primary-action,.modal-actions .meal-complete-button{flex-basis:100%}.inline-modal-card>header{padding-inline:17px}.inline-modal-card>.modal-form{width:calc(100% - 20px);margin:10px auto}.global-error{top:calc(72px + env(safe-area-inset-top));left:14px;right:14px;transform:none}.toast{right:14px;bottom:calc(76px + var(--ensemble-mobile-nav-safe-bottom));text-align:center;left:14px}.auth-screen{grid-template-columns:1fr}.auth-intro{display:none}.auth-panel{padding:20px}.auth-card{padding:26px 21px}.mobile-auth-brand{display:flex}.recovery-codes{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.push-settings h3{align-items:center;gap:8px;display:flex}.push-device-actions,.push-schedule{flex-wrap:wrap;gap:10px;display:flex}.push-schedule>label{color:var(--muted);flex:150px;gap:6px;font-size:13px;font-weight:700;display:grid}.push-preferences .check-row{align-items:flex-start}.push-preferences .check-row span{gap:3px;display:grid}.push-preferences .check-row small{color:var(--muted);font-weight:500}@media (max-width:600px){.push-device-actions>button{width:100%}}.adaptive-select{width:100%;min-width:0;display:block;position:relative}.adaptive-select-source{opacity:0!important;pointer-events:none!important;border:0!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important}.adaptive-select-trigger{width:100%;min-width:0;min-height:48px;color:var(--ensemble-green);text-align:left;background:linear-gradient(#fff,#f7faf8);border:1px solid #c8d0ca;border-radius:13px;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:720;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;box-shadow:0 0 0 4px #3165540a}.adaptive-select-trigger:hover{border-color:var(--ensemble-green-2);box-shadow:0 0 0 4px #31655417}.adaptive-select-trigger:focus-visible{border-color:var(--ensemble-green-2);outline:0;box-shadow:0 0 0 4px #31655429}.adaptive-select-trigger:disabled{cursor:not-allowed;opacity:.58}.adaptive-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adaptive-select-trigger>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px;height:20px;transition:transform .15s}.adaptive-select-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.adaptive-select-panel{z-index:460;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdf8fa;border:1px solid #0d4a3e24;border-radius:16px;padding:8px;animation:.14s ease-out adaptive-select-in;position:fixed;overflow:hidden;box-shadow:0 24px 65px #0e322a3d,0 4px 14px #0e322a1a}.adaptive-select-panel.opens-above{transform-origin:bottom}.adaptive-select-search{border:1px solid var(--ensemble-line);color:var(--ensemble-muted);background:#fff;border-radius:11px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:7px;padding:0 6px 0 11px;display:grid}.adaptive-select-search>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.8px;width:18px;height:18px}.adaptive-select-search>input{width:100%!important;min-width:0!important;min-height:42px!important;color:var(--ensemble-green)!important;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important;padding:0!important;font-size:15px!important}.adaptive-select-search-clear{background:var(--ensemble-sage-soft);width:32px;height:32px;color:var(--ensemble-green-2);border:0;border-radius:9px;place-items:center;display:grid}.adaptive-select-search-clear svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:15px;height:15px}.adaptive-select-options{overscroll-behavior:contain;scrollbar-width:thin;max-height:min(308px,100dvh - 100px);overflow-y:auto}.adaptive-select-option{width:100%;min-height:44px;color:var(--ensemble-green);text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:10px;padding:9px 11px;font-size:14px;font-weight:650;display:grid}.adaptive-select-option:hover,.adaptive-select-option:focus-visible{background:var(--ensemble-sage-soft);outline:0}.adaptive-select-option[aria-selected=true]{background:var(--ensemble-sage-soft)}@supports (color:color-mix(in lab, red, red)){.adaptive-select-option[aria-selected=true]{background:color-mix(in srgb, var(--ensemble-sage-soft) 78%, white)}}.adaptive-select-option[aria-selected=true]{font-weight:820}.adaptive-select-option:disabled{cursor:not-allowed;opacity:.42}.adaptive-select-option>svg{fill:none;width:19px;height:19px;stroke:var(--ensemble-green-2);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px}.adaptive-select-empty{color:var(--ensemble-muted);text-align:center;margin:0;padding:22px 12px;font-size:13px}.adaptive-select-native{width:100%;min-height:47px;appearance:auto!important;background-image:none!important;font-size:16px!important}@keyframes adaptive-select-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.recipe-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex}.recipe-toolbar .search-field{flex:1}.recipe-category-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:13px;display:grid}.recipe-category-card{border:1px solid var(--line);min-height:92px;color:inherit;text-align:left;grid-template-columns:52px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:16px;display:grid}.recipe-category-card>span{background:var(--sage-soft);border-radius:15px;place-items:center;width:52px;height:52px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.35rem;display:grid}.recipe-category-card h2{margin:0 0 4px;font-size:1rem}.recipe-category-card p{color:var(--muted);margin:0;font-size:.7rem}.recipe-category-card>b,.recipe-list-row>b{color:var(--green-2);font-size:1.2rem}.recipe-category-content{gap:14px;display:grid}.recipe-category-heading{gap:10px;display:grid}.recipe-category-heading>button{width:-moz-fit-content;width:fit-content;min-height:44px;padding:0}.recipe-category-heading h2{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.recipe-category-heading small{color:var(--muted);font-size:.68rem}.recipe-list{padding:0;overflow:hidden}.recipe-list-row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:68px;color:inherit;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:14px;padding:12px 16px;display:grid}.recipe-list-row:last-child{border-bottom:0}.recipe-list-row:hover{background:var(--sage-soft)}@supports (color:color-mix(in lab, red, red)){.recipe-list-row:hover{background:color-mix(in srgb, var(--sage-soft) 48%, transparent)}}.recipe-list-row h3{margin:0 0 4px;font-size:.88rem}.recipe-list-row p{color:var(--muted);margin:0;font-size:.66rem}.recipe-list-row span{background:var(--gold-soft);color:#855f12;border-radius:999px;margin-top:5px;padding:3px 7px;font-size:.6rem;font-weight:800;display:inline-block}.recipe-detail{width:min(700px,100% - 32px);padding:20px 22px calc(20px + env(safe-area-inset-bottom));background:#fffdf9;border:1px solid #153c331a;border-radius:20px;gap:16px;margin:16px auto;display:grid;box-shadow:0 8px 22px #1b37300d}.recipe-form-section{border:1px solid var(--line);background:var(--cream);border-radius:17px;gap:12px;padding:15px;display:grid}.recipe-form-section .section-title{margin:0}.recipe-nutrition-editor{border:1px solid var(--line);background:var(--cream);border-radius:17px;overflow:hidden}.recipe-nutrition-editor>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 15px;list-style:none;display:flex}.recipe-nutrition-editor>summary::-webkit-details-marker{display:none}.recipe-nutrition-editor>summary>span{gap:3px;display:grid}.recipe-nutrition-editor>summary b{font-size:.86rem}.recipe-nutrition-editor>summary small{color:var(--muted);font-size:.66rem;font-weight:500}.recipe-nutrition-editor>summary svg{width:20px;color:var(--green-2);flex:0 0 20px;transition:transform .18s}.recipe-nutrition-editor[open]>summary svg{transform:rotate(180deg)}.recipe-nutrition-content{border-top:1px solid var(--line);gap:16px;padding:15px;display:grid}.recipe-nutrition-content>p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.recipe-nutrition-group{gap:9px;display:grid}.recipe-nutrition-group h4{color:var(--green);margin:0;font-size:.72rem}.recipe-nutrition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.nutrition-input{display:block;position:relative}.nutrition-input input{width:100%;min-width:0;padding-right:42px}.nutrition-input small{color:var(--muted);pointer-events:none;font-size:.64rem;position:absolute;bottom:13px;right:12px}.recipe-advanced-nutrition{background:#fff;border-radius:14px}.recipe-advanced-nutrition>summary{min-height:48px;color:var(--green);cursor:pointer;align-items:center;padding:0 13px;font-size:.74rem;font-weight:800;display:flex}.recipe-advanced-nutrition>.recipe-nutrition-grid{border-top:1px solid var(--line);padding:13px}.recipe-nutrition-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.recipe-nutrition-values>div{background:var(--sage-soft);border-radius:13px;gap:4px;padding:10px;display:grid}.recipe-nutrition-values span{color:var(--muted);font-size:.64rem}.recipe-nutrition-values strong{font-size:.78rem}.recipe-nutrition-values strong small{color:var(--muted);font-size:.6rem}.meal-nutrition-view{gap:12px;display:grid}.meal-nutrition-micros{border:1px solid var(--line);background:var(--paper)}.meal-nutrition-micros>.recipe-nutrition-values{border-top:1px solid var(--line);padding:13px}.meal-nutrition-coverage{align-items:flex-start;margin:0}.meal-nutrition-coverage ul{margin:7px 0 0;padding-left:18px}.meal-nutrition-coverage li{margin-top:3px}.recipe-category-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.recipe-tag-picker{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.recipe-tag-picker legend{width:100%;margin-bottom:3px;font-weight:750}.recipe-tag-picker legend small{color:var(--muted);font-weight:500}.recipe-tag-picker label,.recipe-tag-picker>button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:750;display:inline-flex}.recipe-tag-picker label.active{border-color:var(--green);background:var(--sage-soft);color:var(--green)}.recipe-tag-picker input{opacity:0;position:absolute}.taxonomy-creator{background:#fff;border-radius:14px;grid-template-columns:88px minmax(0,1fr) auto;align-items:end;gap:9px;padding:11px;display:grid}.recipe-link-line{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 42px;align-items:end;gap:9px;display:grid}.instruction-toolbar{flex-wrap:wrap;gap:8px;display:flex}.instruction-toolbar button{border:1px solid var(--line);min-height:44px;color:var(--green);background:#fff;border-radius:12px;padding:0 13px;font-weight:750}.recipe-planning{border:1px solid var(--line);background:var(--cream);border-radius:16px;gap:12px;padding:14px;display:grid}.recipe-mode{width:100%}.recipe-mode button{flex:1;min-height:44px}.recipe-selection{align-items:end}.recipe-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.recipe-detail-summary>div{background:var(--sage-soft);border-radius:15px;align-content:center;gap:5px;min-height:72px;padding:12px;display:grid}.recipe-detail-summary small{color:var(--muted);font-size:.64rem}.recipe-detail-summary strong{font-size:.78rem}.recipe-tags{flex-wrap:wrap;gap:7px;display:flex}.recipe-tags span{background:var(--ensemble-sage-soft);color:var(--ensemble-green);border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:750}.recipe-ingredients-section{padding:0;overflow:hidden}.recipe-ingredients-section>.section-title{margin:0;padding:15px 16px}.recipe-ingredient-list{border-top:1px solid var(--line)}.recipe-ingredient-list-heading,.recipe-ingredient-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.recipe-ingredient-list-heading{background:var(--surface-soft);color:var(--muted);padding:9px 16px;font-size:.64rem;font-weight:800}.recipe-ingredient-row{border-top:1px solid var(--line);min-height:50px;padding:10px 16px}.recipe-ingredient-list-heading+.recipe-ingredient-row{border-top:0}.recipe-ingredient-row p{gap:2px;margin:0;display:grid}.recipe-ingredient-row b{font-size:.76rem}.recipe-ingredient-row small{color:var(--muted);font-size:.62rem}.recipe-ingredient-row>strong{color:var(--green-2);white-space:nowrap;font-size:.75rem}.recipe-preparation{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.instruction-preview{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:180px;padding:18px}.markdown-content{overflow-wrap:anywhere;gap:12px;max-width:76ch;line-height:1.65;display:grid}.markdown-content>*{margin:0}.markdown-content h3,.markdown-content h4,.markdown-content h5{color:var(--green);font-family:var(--font-display);line-height:1.2}.markdown-content ul,.markdown-content ol{gap:7px;padding-left:24px;display:grid}.markdown-content ul{list-style:outside}.markdown-content ol{list-style:decimal}.markdown-content blockquote{border-left:4px solid var(--gold);background:var(--yellow-soft);color:var(--green);border-radius:0 12px 12px 0;padding:12px 15px}.markdown-content a{color:var(--green-2);font-weight:700}.recipe-attachment-list{gap:8px;display:grid}.recipe-attachment-list>a,.recipe-attachment-list>article{border:1px solid var(--line);min-height:56px;color:var(--ink);background:#fff;border-radius:13px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;text-decoration:none;display:grid}.recipe-attachment-list svg{width:22px;color:var(--green-2)}.recipe-attachment-list span{gap:2px;min-width:0;display:grid}.recipe-attachment-list b,.recipe-attachment-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-attachment-list small{color:var(--muted)}.recipe-attachment-list.editable>article{grid-template-columns:minmax(0,1fr) 44px}.recipe-attachment-list.editable article>a{color:inherit;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;text-decoration:none;display:grid}.recipe-attachment-list.editable article>button,.attachment-actions button{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);background:#fff;border-radius:11px;place-items:center;display:grid}.recipe-attachment-drafts{gap:9px;display:grid}.recipe-attachment-drafts>article{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.attachment-actions{gap:4px;display:flex}.recipe-photo-editor{background:var(--sage-soft)}@supports (color:color-mix(in lab, red, red)){.recipe-photo-editor{background:color-mix(in srgb, var(--sage-soft) 38%, var(--cream))}}.recipe-photo-help{color:var(--muted);margin:0;font-size:.7rem;line-height:1.5}.recipe-photo-existing{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px;display:grid}.recipe-photo-existing figure{border:1px solid var(--line);background:#fff;border-radius:13px;margin:0;overflow:hidden}.recipe-photo-existing img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.recipe-photo-existing figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:7px 9px;font-size:.61rem;overflow:hidden}.recipe-photo-drafts{gap:9px;display:grid}.recipe-photo-draft{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:112px minmax(0,1fr) 44px;align-items:center;gap:11px;min-width:0;padding:9px;display:grid}.recipe-photo-draft>img{aspect-ratio:4/3;object-fit:cover;border-radius:10px;width:112px;display:block}.recipe-photo-draft .field{align-self:center}.recipe-photo-remove{background:var(--red-soft);width:44px;height:44px;color:var(--red);border:1px solid #ebc5bf;border-radius:12px;place-items:center;display:grid}.recipe-photo-remove svg{width:18px;height:18px}.recipe-photo-picker{border:1px dashed var(--sage);min-height:64px;color:var(--green);cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:9px 13px;display:grid;position:relative}.recipe-photo-picker:hover{border-color:var(--green-2);background:var(--sage-soft)}@supports (color:color-mix(in lab, red, red)){.recipe-photo-picker:hover{background:color-mix(in srgb, var(--sage-soft) 34%, white)}}.recipe-photo-picker:focus-within{outline:3px solid var(--gold);outline-offset:2px}.recipe-photo-picker:has(input:disabled){cursor:not-allowed;opacity:.55}.recipe-photo-picker>input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.recipe-photo-picker>svg{justify-self:center;width:25px;height:25px}.recipe-photo-picker>span{gap:3px;display:grid}.recipe-photo-picker strong{font-size:.75rem}.recipe-photo-picker small{color:var(--muted);font-size:.63rem;font-weight:550}.recipe-photos{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.recipe-photos figure{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;overflow:hidden}.recipe-photos img{object-fit:contain;width:100%;max-height:300px;display:block}.recipe-photos figcaption{color:var(--muted);padding:9px 11px;font-size:12px}.recipe-links{gap:8px;display:grid}.recipe-links a{border:1px solid var(--line);color:inherit;border-radius:12px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:11px;text-decoration:none;display:grid}.recipe-links p,.recipe-links b,.recipe-links small{min-width:0;margin:0;display:block}.recipe-links small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.assistant-scope-list{gap:8px;margin:14px 0;display:grid}.assistant-scope-list span{background:var(--ensemble-sage-soft);border-radius:11px;padding:10px 12px;font-size:13px;font-weight:650}.number-with-suffix{grid-template-columns:minmax(0,1fr) auto;display:grid}.number-with-suffix input{border-radius:13px 0 0 13px;min-width:0}.number-with-suffix>span{background:var(--ensemble-sage-soft);min-width:54px;color:var(--ensemble-green);border:1px solid #c8d0ca;border-left:0;border-radius:0 13px 13px 0;place-items:center;font-size:12px;font-weight:800;display:grid}.month-shortcuts label{border:1px solid var(--line);min-height:44px;color:var(--muted);background:#fff;border-radius:999px;grid-template-columns:auto 58px auto;align-items:center;gap:6px;padding:0 10px 0 13px;font-size:12px;font-weight:750;display:inline-grid}.month-shortcuts label input{text-align:center;border-radius:9px;width:58px;min-height:34px;padding:0 7px}.month-shortcuts label em{font-style:normal}.label-reprint-button{align-self:start}.label-reprint-button svg,.freezer-label-dialog button svg,.freezer-label-settings button svg{width:17px;height:17px}.freezer-label-dialog,.freezer-label-settings{gap:18px;display:grid}.freezer-label-dialog .info-banner{align-items:flex-start}.freezer-label-dialog .info-banner>svg{width:22px;height:22px;color:var(--ensemble-green-2);flex:none;margin-top:2px}.freezer-label-stage{background:var(--ensemble-sage-soft);border-radius:18px;justify-items:center;gap:8px;min-width:0;display:grid}@supports (color:color-mix(in lab, red, red)){.freezer-label-stage{background:color-mix(in srgb, var(--ensemble-sage-soft) 55%, white)}}.freezer-label-stage{padding:18px}.freezer-label-stage>small{color:var(--muted);font-size:12px;font-weight:750}.freezer-label-canvas{color:#111;touch-action:none;background:#fff;border:1px solid #0d4a3e38;border-radius:7px;width:min(100%,560px);height:auto;display:block;overflow:visible;box-shadow:0 10px 28px #0d4a3e1a}.freezer-label-canvas text{-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.freezer-label-canvas image{image-rendering:pixelated}.freezer-label-canvas.editable g{cursor:grab}.freezer-label-canvas.editable g:active{cursor:grabbing}.freezer-label-canvas.editable g:focus-visible .label-element-hitbox{fill:#aed7c71f;stroke:var(--ensemble-gold);stroke-width:.28px}.label-safe-area{fill:none;stroke:#0d4a3e2e;stroke-width:.12px;stroke-dasharray:.5 .35;pointer-events:none}.label-element-hitbox{fill:#0000;stroke:#0000;stroke-width:.18px}.freezer-label-canvas g.selected .label-element-hitbox{fill:#aed7c71f;stroke:var(--ensemble-green-2);stroke-dasharray:.45 .3}.label-dialog-tools,.label-editor-toolbar{flex-wrap:wrap;gap:8px;display:flex}.label-dialog-tools button{min-height:44px}.label-editor-toolbar{background:var(--cream);border-radius:14px;align-items:center;padding:10px}.label-editor-toolbar>button{border:1px solid var(--line);min-height:44px;color:var(--ensemble-green);background:#fff;border-radius:11px;align-items:center;gap:7px;padding:0 13px;font-weight:750;display:inline-flex}.label-editor-toolbar>button.active{border-color:var(--ensemble-green-2);background:var(--ensemble-sage-soft)}.label-editor-toolbar svg{width:17px}.label-editor-toolbar .adaptive-select{min-width:180px}.label-element-panel{border:1px solid var(--line);background:#fff;border-radius:16px;align-content:start;gap:13px;min-height:220px;padding:15px;display:grid}.label-element-panel h4{margin:2px 0 0;font-size:18px}.label-element-panel .round-button.danger{color:var(--danger)}.label-element-actions{gap:7px;display:flex}.label-coordinate-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.label-coordinate-grid input{min-width:0}.label-style-grid{grid-template-columns:minmax(80px,.7fr) 1fr 1fr;gap:8px;display:grid}.label-style-grid>button{border:1px solid var(--line);min-height:44px;color:var(--ensemble-green);background:#fff;border-radius:12px;font-weight:750}.label-style-grid>button.active{border-color:var(--ensemble-green-2);background:var(--ensemble-sage-soft)}.label-editor-empty{min-height:190px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.label-editor-empty svg{width:28px;height:28px;color:var(--ensemble-green-2)}.label-editor-empty p{max-width:280px;margin:0;font-size:13px}.label-device-list{gap:8px;display:grid}.label-device-list>div{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:grid}.label-device-list>div>svg{color:var(--ensemble-green-2)}.label-device-list p,.label-device-list b,.label-device-list small{margin:0;display:block}.label-device-list small{color:var(--muted);margin-top:3px}.label-print-test{border:1px solid var(--ensemble-line);background:var(--ensemble-paper);border-radius:18px;gap:12px;padding:15px;display:grid}.label-print-test>div:first-child{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;display:grid}.label-print-test-icon{background:var(--ensemble-sage-soft);width:44px;height:44px;color:var(--ensemble-green);border-radius:13px;place-items:center;display:grid}.label-print-test-icon svg{width:20px;height:20px}.label-print-test p,.label-print-test b,.label-print-test small{margin:0;display:block}.label-print-test p small,.label-print-test>small{color:var(--ensemble-muted);margin-top:4px;font-size:12px;line-height:1.45}.label-print-test>button{justify-self:start}.freezer-qr-confirmation{gap:16px;display:grid}.freezer-qr-loading{min-height:180px;color:var(--muted);align-content:center;place-items:center;gap:10px;display:grid}.freezer-qr-loading svg{width:40px;height:40px;color:var(--ensemble-green-2)}.freezer-qr-loading p{margin:0}.freezer-qr-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:16px;display:grid}.freezer-qr-card>span{background:var(--ensemble-sage-soft);width:58px;height:58px;color:var(--ensemble-green);border-radius:17px;place-items:center;display:grid}.freezer-qr-card>span svg{width:27px;height:27px}.freezer-qr-card p,.freezer-qr-card h3,.freezer-qr-card strong{margin:0;display:block}.freezer-qr-card p{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:750}.freezer-qr-card h3{margin-top:3px;font-family:Georgia,serif;font-size:22px}.freezer-qr-card strong{color:var(--ensemble-green-2);margin-top:5px}.freezer-label-paper{color:#17211e;background:#fff;border:1px solid #0d4a3e38;border-radius:8px;flex-direction:column;justify-content:center;gap:7px;width:min(100%,430px);min-height:150px;padding:clamp(14px,4vw,25px);display:flex;overflow:hidden;box-shadow:0 10px 28px #0d4a3e1a}.label-line{overflow-wrap:anywhere;min-width:0;line-height:1.18}.label-line.small{font-size:clamp(10px,2.1vw,13px)}.label-line.normal{font-size:clamp(13px,2.8vw,18px)}.label-line.large{font-size:clamp(18px,4.2vw,28px)}.label-line.bold{font-weight:850}.label-line.left{text-align:left}.label-line.center{text-align:center}.label-template-kind{width:min(100%,430px)}.label-template-kind button{flex:1;min-height:44px}.label-template-switcher{justify-content:space-between;align-items:center;gap:10px;display:flex}.label-template-switcher>button{align-items:center;gap:7px;display:inline-flex}.label-copy-confirmation{background:var(--ensemble-sage-soft);border:1px solid #31655438;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 14px;display:grid}.label-copy-confirmation b,.label-copy-confirmation p{margin:0;display:block}.label-copy-confirmation p{color:var(--ensemble-muted);margin-top:3px;font-size:12px;line-height:1.45}.label-copy-actions{gap:8px;display:flex}.label-copy-actions button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.label-template-layout{grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:start;gap:18px;display:grid}.label-template-layout .freezer-label-stage{position:sticky;top:16px}.label-block-list{gap:9px;display:grid}.label-block-editor{border:1px solid var(--line);background:var(--cream);opacity:.72;border-radius:14px;gap:10px;padding:12px;display:grid}.label-block-editor.visible{opacity:1;background:#fff;border-color:#31655440}.label-block-editor>label{align-items:center;gap:10px;min-height:44px;display:flex}.label-block-editor>label input{width:20px;height:20px;accent-color:var(--ensemble-green)}.label-block-controls{grid-template-columns:minmax(115px,1fr) auto auto 44px 44px;gap:7px;display:grid}.label-block-controls>button{border:1px solid var(--line);min-height:44px;color:var(--ensemble-green);background:#fff;border-radius:11px;padding:0 11px;font-size:12px;font-weight:750}.label-block-controls>button.active{border-color:var(--ensemble-green-2);background:var(--ensemble-sage-soft)}.label-block-controls>button:disabled{opacity:.35}.label-block-controls>button svg{margin:auto;display:block}@media (max-width:600px){.recipe-toolbar{flex-direction:column;align-items:stretch}.recipe-category-grid{grid-template-columns:1fr}.recipe-detail-summary{grid-template-columns:1fr 1fr}.recipe-detail-summary>div:first-child{grid-column:1/-1}.recipe-photo-draft{grid-template-columns:82px minmax(0,1fr) 44px;gap:8px}.recipe-photo-draft>img{width:82px}.food-catalog-toolbar{grid-template-columns:minmax(0,1fr) auto;padding:10px}.food-filter-button{min-width:44px;padding-inline:11px}.food-filter-button>span{display:none}.food-catalog-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:9px;padding-inline:13px}.food-catalog-row>span{min-width:65px}.recipe-category-row,.taxonomy-creator,.recipe-link-line{grid-template-columns:1fr}.recipe-nutrition-grid,.recipe-nutrition-values{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-category-row>button,.taxonomy-creator>button{width:100%}.recipe-link-line>.ingredient-remove{justify-self:end}.label-template-layout{grid-template-columns:1fr}.label-template-layout .freezer-label-stage{position:static}.label-template-switcher{flex-direction:column;align-items:stretch}.label-template-kind,.label-template-switcher>button{width:100%}.label-template-switcher>button{justify-content:center}.label-copy-confirmation{grid-template-columns:1fr}.label-copy-actions{grid-template-columns:1fr 1fr;display:grid}.label-copy-actions button{justify-content:center;padding-inline:8px}.label-block-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.label-block-controls>.adaptive-select{grid-column:1/-1}.label-block-controls>button{padding-inline:5px}.freezer-label-stage{padding:12px}.label-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.label-style-grid{grid-template-columns:1fr}.label-dialog-tools>button{flex:130px}}.shopping-generation fieldset{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.shopping-meal-selection{display:grid}.shopping-meal-selection label{border-bottom:1px solid var(--ensemble-line);align-items:center;gap:12px;min-height:44px;padding-block:8px;display:flex}.shopping-meal-selection label span{min-width:0;display:grid}.shopping-meal-selection small{color:var(--ensemble-muted)}.recipe-picker{min-width:0}.recipe-picker-input{border:1px solid var(--ensemble-line);border-radius:var(--ensemble-control-radius);background:#fff;align-items:center;gap:8px;padding-left:12px;display:flex}.recipe-picker-input input{width:100%;min-width:0;min-height:46px;color:var(--ensemble-ink);font:inherit;background:0 0;border:0;padding:8px}.recipe-picker-input input::-webkit-search-cancel-button{-webkit-appearance:none}.recipe-picker-input button,.compact-ingredient-summary button{border-radius:var(--ensemble-control-radius);width:44px;min-height:44px;color:var(--ensemble-green);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.recipe-picker-results{border:1px solid var(--ensemble-line);border-radius:var(--ensemble-control-radius);margin-top:8px;display:grid;overflow:hidden}.recipe-picker-results button{border:0;border-bottom:1px solid var(--ensemble-line);text-align:left;width:100%;min-height:44px;color:var(--ensemble-ink);background:#fff;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.recipe-picker-results button:hover,.recipe-picker-results .keyboard-active{background:var(--ensemble-sage-soft)}.recipe-picker-results span,.compact-ingredient-summary>span{overflow-wrap:anywhere;min-width:0;display:grid}.recipe-picker-results small,.compact-ingredient-summary small{color:var(--ensemble-muted)}.compact-ingredient-editor .section-title{flex-wrap:wrap;gap:8px}.compact-ingredient{border-bottom:1px solid var(--ensemble-line)}.compact-ingredient-summary{grid-template-columns:minmax(0,1fr) auto 44px 44px;align-items:center;gap:8px;padding-block:8px;display:grid}.compact-ingredient-summary>strong{text-align:right}.compact-ingredient-summary .ingredient-delete-button,.compact-ingredient-summary .ingredient-invalid{color:var(--ensemble-red)}.ingredient-detail{background:var(--ensemble-paper);border-radius:var(--ensemble-control-radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:8px;padding:12px;display:grid}.ingredient-detail>.ingredient-food,.ingredient-options,.ingredient-done{grid-column:1/-1}.ingredient-detail>.ingredient-quantity{grid-column:1}.ingredient-detail>.ingredient-unit{grid-column:2}.ingredient-detail .food-suggestions{margin-top:8px;position:static}.ingredient-detail .ingredient-field input,.ingredient-detail .ingredient-field select{border:1px solid var(--ensemble-line);border-radius:var(--ensemble-control-radius);width:100%;min-height:46px;font:inherit;color:var(--ensemble-ink);background:#fff;padding:8px 12px}.ingredient-options summary{cursor:pointer;min-height:44px;padding-block:12px}.ingredient-options .optional-toggle,.ingredient-association{margin-top:8px}.ingredient-association .text-button{min-height:44px}.coverage-summary,.coverage-bulk{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.coverage-summary h3,.coverage-summary p{margin:0}.coverage-summary p{color:var(--ensemble-muted)}.coverage-details{gap:12px;margin-top:12px;display:grid}.coverage-bulk button,.coverage-day>button{min-height:44px}.coverage-day{border:1px solid var(--ensemble-line);border-radius:var(--ensemble-control-radius);padding:8px 12px}.coverage-day summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.coverage-day summary::-webkit-details-marker{display:none}.coverage-day summary span{margin-left:auto}.coverage-day[open] summary>svg{transform:rotate(180deg)}@media (max-width:700px){.recipe-picker-input input,.ingredient-detail .ingredient-field input,.ingredient-detail .ingredient-field select{font-size:16px}.compact-ingredient-summary{grid-template-columns:minmax(0,1fr) auto 44px 44px;gap:4px}.compact-ingredient-summary>strong{overflow-wrap:anywhere;max-width:80px}.ingredient-detail{padding:8px}.coverage-summary>button{width:100%}}.shopping-plan-preview{margin-block:16px}.shopping-period-store{flex:100%;gap:12px;min-width:0;display:grid}.shopping-period-store .field{min-width:0}@media (min-width:700px){.shopping-period-store{grid-template-columns:repeat(2,minmax(0,1fr))}}.quality-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.quality-summary-grid .card{gap:5px;padding:16px;display:grid}.quality-summary-grid span{color:var(--ensemble-muted);font-size:.86rem}.quality-summary-grid strong{font-size:1.65rem}.quality-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px;display:flex}.quality-toolbar .adaptive-select{min-width:210px}.quality-selection{z-index:4;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex;position:sticky;top:10px}.quality-findings{gap:10px;display:grid}.quality-finding{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.quality-finding>input{width:22px;height:22px}.quality-tone{color:#315a9f;background:#edf3ff;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.quality-finding.error .quality-tone{color:#a9382d;background:#fde8e6}.quality-finding.warning .quality-tone{color:#875d00;background:#fff2d7}.quality-finding h3,.quality-finding p{margin:0}.quality-finding small{color:var(--ensemble-muted)}.quality-actions{align-items:center;gap:8px;display:flex}.quality-loading{padding:24px}.quality-custom-group{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}@media (max-width:760px){.quality-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-toolbar{flex-direction:column;align-items:stretch}.quality-toolbar .segmented{overflow-x:auto}.quality-finding{grid-template-columns:auto auto minmax(0,1fr)}.quality-actions{grid-column:2/-1;justify-content:flex-end}.quality-custom-group{grid-template-columns:1fr}.quality-entry-button{order:3;width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
