:root{color:#172735;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172735;--ink-soft:#4d6170;--ink-faint:#758692;--navy:#15324b;--navy-deep:#0f263a;--blue:#286778;--blue-deep:#1d5364;--ice:#e6f2f4;--ice-light:#f3f9f9;--mint:#d9eee9;--paper:#fcfdfc;--white:#fff;--line:#d8e2e4;--line-strong:#bdcccf;--amber:#a85b19;--amber-pale:#fff0d8;--danger:#a43f3a;--danger-pale:#fbe8e7;--success:#39715f;--success-pale:#e2f0eb;--radius:16px;--radius-lg:22px;--shadow-sm:0 7px 22px #16314112;--shadow:0 18px 45px #1631411f;background:#f3f7f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{background:radial-gradient(circle at 9% 2%,#bee1e747,#0000 28rem),linear-gradient(#f8faf9 0,#f2f7f7 50%,#edf4f4 100%);min-width:320px;min-height:100vh;margin:0}body,button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2867783d}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration:none}h1,h2,h3,p,dl,dd,dt{margin:0}h1,h2,h3{color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.15}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.vault-gate{place-items:center;min-width:320px;min-height:100vh;padding:24px 15px;display:grid}.vault-lock-card{border:1px solid var(--line);border-radius:var(--radius-lg);width:min(100%,450px);box-shadow:var(--shadow);background:#fcfdfcf5;padding:clamp(24px,6vw,34px)}.vault-lock-brand{color:var(--navy);align-items:center;gap:10px;margin-bottom:30px;display:flex}.vault-lock-brand>span{color:#d8f1f4;background:linear-gradient(145deg,#34798b,#225b6c);border-radius:16px 16px 16px 6px;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 9px 22px #1631412e}.vault-lock-brand p{font-size:.9rem;font-weight:800}.vault-lock-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;display:grid}.vault-lock-heading h1{letter-spacing:-.035em;font-size:clamp(1.65rem,7vw,2.2rem)}.vault-lock-icon{width:45px;height:45px;color:var(--blue);background:var(--ice);border-radius:13px;place-items:center;display:grid}.vault-lock-status{color:var(--ink-soft);background:var(--ice-light);border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:9px;margin-top:20px;padding:12px 13px;font-size:.82rem;line-height:1.5;display:flex}.vault-lock-status svg{flex:none;margin-top:2px}.vault-lock-status-offline{color:#654617;background:var(--amber-pale);border-color:#e7c98f}.vault-lock-error{color:#7c302c;background:var(--danger-pale);border:1px solid #e9b9b5;border-radius:11px;margin-top:13px;padding:12px 13px;font-size:.82rem;line-height:1.45}.vault-lock-form{gap:9px;margin-top:20px;display:grid}.vault-lock-form label{font-size:.82rem;font-weight:750}.vault-lock-form #vault-password{width:100%;min-height:50px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:11px;padding:11px 13px}@keyframes password-autofilled{0%{opacity:1}to{opacity:1}}:-webkit-any(.vault-lock-form #vault-password:autofill,.vault-lock-form #vault-password:-webkit-autofill){animation:1ms password-autofilled}:is(.vault-lock-form #vault-password:autofill,.vault-lock-form #vault-password:autofill){animation:1ms password-autofilled}.vault-trust-choice{color:var(--ink-soft);background:var(--ice-light);border:1px solid var(--line);cursor:pointer;border-radius:11px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;margin-top:4px;padding:12px;display:grid}.vault-lock-form .vault-trust-choice input{width:18px;height:18px;min-height:0;accent-color:var(--blue);margin-top:2px}.vault-trust-choice span{gap:3px;display:grid}.vault-trust-choice strong{color:var(--ink);font-size:.78rem}.vault-trust-choice small{color:var(--ink-faint);font-size:.7rem;font-weight:500;line-height:1.45}.vault-restoring-card{min-height:300px}.vault-lock-submit{width:100%;margin-top:5px}.vault-lock-privacy{color:var(--ink-faint);margin-top:17px;font-size:.72rem;line-height:1.5}.vault-forget-button{min-height:40px;color:var(--danger);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:16px;padding:7px 0;font-size:.74rem;font-weight:750;display:inline-flex}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell>main{flex:1}.site-header{z-index:40;color:var(--white);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#102a3ef7;border-bottom:1px solid #ffffff1a;position:sticky;top:0;box-shadow:0 7px 25px #0f263a2e}.header-inner{align-items:center;gap:15px;width:min(1180px,100%);min-height:68px;margin:0 auto;padding:9px 15px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.brand-mark{color:#d8f1f4;background:linear-gradient(145deg,#34798b,#225b6c);border:1px solid #ffffff24;border-radius:14px 14px 14px 5px;flex:none;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 7px 18px #00000029}.brand>span:last-child{min-width:0;display:grid}.brand strong{text-overflow:ellipsis;white-space:nowrap;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.91rem;overflow:hidden}.main-navigation{display:none}.header-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.button{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;font-size:.81rem;font-weight:750;line-height:1.1;transition:transform .14s,background-color .14s,border-color .14s,box-shadow .14s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button-primary,.button-cold{color:var(--white);background:var(--blue);border-color:var(--blue);box-shadow:0 8px 20px #28677833}.button-primary:hover:not(:disabled),.button-cold:hover:not(:disabled){background:var(--blue-deep);border-color:var(--blue-deep)}.button-secondary{color:var(--navy);background:var(--white);border-color:var(--line-strong)}.button-secondary:hover:not(:disabled){background:var(--ice-light);border-color:#93abb1}.button-danger{color:var(--danger);background:var(--danger-pale);border-color:#edc3c1}.header-cooking{color:#d9eff2;background:#ffffff14;border-color:#ffffff1f;display:none}.header-add{min-width:44px;color:var(--navy-deep);box-shadow:none;background:#bfe3e6;border-color:#bfe3e6;padding-inline:11px}.header-add span,.header-lock-button,.security-menu{display:none}.header-lock-button,.security-menu>summary{color:#d9eff2;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:11px;place-items:center;width:44px;height:44px}.security-menu{position:relative}.security-menu>summary{list-style:none;display:grid}.security-menu>summary::-webkit-details-marker{display:none}.security-menu[open]>summary{color:var(--white);background:#ffffff24}.security-menu-panel{z-index:60;width:max-content;min-width:205px;color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:11px;padding:6px;position:absolute;top:calc(100% + 9px);right:0}.security-menu-panel button{width:100%;min-height:42px;color:var(--danger);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.76rem;font-weight:750;display:flex}.security-menu-panel button:hover{background:var(--danger-pale)}.menu-toggle,.icon-button{width:44px;height:44px;color:inherit;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:11px;place-items:center;display:grid}.mobile-navigation{background:var(--navy-deep);border-top:1px solid #ffffff14;gap:5px;padding:5px 15px 14px;display:grid}.mobile-navigation a,.mobile-navigation button{color:#d9e8ec;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;min-height:47px;padding:9px 13px;font-size:.84rem;font-weight:700;display:flex}.mobile-navigation a.active{color:var(--white);background:#a6d9e121}.mobile-navigation .mobile-add{color:var(--navy-deep);background:#bfe3e6;justify-content:center}.mobile-security-actions{border-top:1px solid #ffffff14;width:100%;margin-top:3px;padding-top:5px}.mobile-security-actions button{color:#b9d0d6;width:100%}.mobile-security-actions .mobile-forget{color:#f0c5c2}.offline-status{color:#654617;background:#fff3d8;border-bottom:1px solid #e7c98f}.offline-status-error{color:#7c302c;background:var(--danger-pale);border-bottom-color:#e9b9b5}.offline-status-success{color:#285847;background:var(--success-pale);border-bottom-color:#bdd9cf}.offline-status-pending{color:#654617;background:#fff3d8;border-bottom-color:#e7c98f}.offline-status-inner{align-items:center;gap:10px;width:min(1180px,100%);min-height:43px;margin:0 auto;padding:7px 15px;display:flex}.offline-status-icon{color:currentColor;background:#ffffff9e;border-radius:9px;flex:none;place-items:center;width:29px;height:29px;display:grid}.offline-status-copy{flex:1;align-items:baseline;gap:8px;min-width:0;font-size:.72rem;line-height:1.3;display:flex}.offline-status-copy strong{flex:none;font-size:.78rem}.offline-status-copy span{color:color-mix(in srgb, currentColor 78%, transparent)}.offline-status-actions{flex:none;align-items:center;gap:6px;display:flex}.offline-status-actions button{color:currentColor;cursor:pointer;background:#ffffffb3;border:1px solid;border-radius:8px;min-height:32px;padding:5px 9px;font-size:.68rem;font-weight:750}.offline-status-actions button:disabled{cursor:wait}.offline-conflict-actions{flex-wrap:wrap;justify-content:flex-end}.offline-status-spinner{animation:.85s linear infinite spin}.page{width:min(1120px,100%);margin:0 auto;padding:28px 15px 80px}.narrow-page,.form-page{max-width:900px}.eyebrow{color:var(--blue);letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px;font-size:.69rem;font-weight:800}.inventory-hero{gap:20px;margin-bottom:18px;display:grid}.inventory-hero h1,.page-header h1,.form-header h1,.detail-header h1{letter-spacing:-.035em;font-size:clamp(1.72rem,6.8vw,2.7rem)}.inventory-hero>div:first-child>p:last-child,.page-header>div>p:last-child,.form-header>div>p:last-child{max-width:680px;color:var(--ink-soft);margin-top:9px;font-size:.88rem;line-height:1.55}.summary-cards{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.summary-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);text-align:center;background:#ffffffc7;border-radius:14px;justify-items:center;gap:6px;padding:12px 6px;display:grid}.summary-card>span:last-child{min-width:0;display:grid}.summary-card strong{color:var(--navy);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.17rem}.summary-card small{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.59rem;font-weight:700;overflow:hidden}.summary-icon{width:34px;height:34px;color:var(--blue);background:var(--ice);border-radius:10px;place-items:center;display:grid}.summary-alert .summary-icon{color:var(--amber);background:var(--amber-pale)}.freshness-alert,.detail-alert,.organisation-guide{color:#6f451d;background:var(--amber-pale);border:1px solid #eed2a9;border-radius:14px;align-items:flex-start;gap:11px;margin-bottom:16px;padding:13px;display:flex}.freshness-alert>span,.organisation-guide>span{background:#ffffff9e;border-radius:10px;flex:none;place-items:center;width:37px;height:37px;display:grid}.freshness-alert>div,.organisation-guide>div{flex:1;min-width:0}.freshness-alert strong,.organisation-guide strong{font-size:.82rem}.freshness-alert p,.organisation-guide p{margin-top:2px;font-size:.71rem;line-height:1.45}.freshness-alert button{color:#7e4d1c;cursor:pointer;background:0 0;border:0;flex:none;padding:5px;font-size:.71rem;font-weight:800;text-decoration:underline}.inventory-controls{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#ffffffbf;gap:10px;margin-bottom:16px;padding:12px;display:grid}.view-tabs{background:#e9f0f1;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.view-tabs button{min-height:42px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.76rem;font-weight:750;display:flex}.view-tabs button.active{color:var(--navy);background:var(--white);box-shadow:0 2px 8px #16314114}.search-field{align-items:center;display:flex;position:relative}.search-field>svg{color:var(--ink-faint);pointer-events:none;position:absolute;left:13px}.search-field input{width:100%;min-height:48px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:11px;outline:0;padding:10px 44px 10px 40px}.search-field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2867781a}.search-field button{width:38px;height:38px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:5px}.button-filter{width:100%;color:var(--ink-soft);background:var(--ice-light);border-color:var(--line)}.button-filter>span{min-width:20px;height:20px;color:var(--white);background:var(--blue);border-radius:999px;place-items:center;font-size:.65rem;display:grid}.filter-panel{gap:10px;padding-top:3px;display:none}.filter-panel-open{display:grid}.clear-filters{min-height:35px;color:var(--blue);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;font-size:.71rem;font-weight:800;display:inline-flex}.results-heading{min-height:35px;color:var(--ink-faint);justify-content:space-between;align-items:center;gap:12px;margin:4px 2px 9px;font-size:.72rem;display:flex}.results-heading strong{color:var(--ink);font-size:.79rem}.product-list{gap:10px;display:grid}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .15s,border-color .15s,box-shadow .15s;overflow:hidden}.product-card:hover{border-color:#a9bdc2;transform:translateY(-1px);box-shadow:0 12px 30px #1631411a}.product-card.product-urgent{border-color:#e9c6a3}.product-card>a{grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:132px;padding:13px 11px;display:grid}.product-accent{color:#d9eef1;background:var(--navy);border-radius:12px 12px 5px;align-self:stretch;place-items:center;width:39px;height:92px;display:grid}.category-viande{color:#f3dbda;background:#82484c}.category-volaille{color:#fff0d1;background:#8a6a38}.category-poisson-et-fruits-de-mer{color:#d7f0f3;background:#377184}.category-legumes{color:#def0de;background:#4f7655}.category-fruits{color:#f8e2d9;background:#a25345}.category-plats-prepares{color:#e4e2f5;background:#5b5d86}.category-pain-et-patisserie{color:#f4e7ce;background:#826747}.category-produits-laitiers{color:#dcecf1;background:#587986}.category-sauces-et-bouillons{color:#f0e1d5;background:#8a5c43}.category-autre{color:#e1e8e9;background:#596d72}.product-main{min-width:0}.product-topline{color:var(--blue);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;align-items:center;gap:4px;font-size:.65rem;font-weight:800;display:flex;overflow:hidden}.product-main h2{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:1.02rem;overflow:hidden}.product-location,.product-dates{min-width:0;color:var(--ink-faint);align-items:center;gap:5px;margin-top:7px;font-size:.66rem;display:flex}.product-location svg,.product-dates svg{flex:none}.product-location span,.product-dates span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-dot{background:var(--success);border-radius:999px;flex:none;width:6px;height:6px}.limit-expired{color:var(--danger)!important}.limit-soon{color:var(--amber)!important}.status-dot.limit-expired{background:var(--danger)}.status-dot.limit-soon{background:var(--amber)}.status-dot.limit-fine{background:var(--success)}.status-dot.limit-none{background:var(--ink-faint)}.product-stock{min-width:100px;color:var(--navy);background:var(--ice);text-align:center;border-radius:12px;justify-items:center;gap:4px;padding:12px 10px;display:grid}.product-stock strong{white-space:nowrap;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.83rem}.product-stock>span{color:var(--ink-soft);white-space:nowrap;align-items:center;gap:3px;font-size:.57rem;display:flex}.product-stock>.product-format-summary{max-width:150px;color:var(--blue-deep);text-overflow:ellipsis;font-size:.57rem;line-height:1.3;display:block;overflow:hidden}.product-stock small{color:var(--blue);margin-top:2px;font-size:.53rem;font-weight:800;line-height:1.15}.product-chevron{color:var(--ink-faint);display:none}.floating-add{z-index:25;width:54px;height:54px;color:var(--white);background:var(--blue);border-radius:18px 18px 18px 6px;place-items:center;display:grid;position:fixed;bottom:17px;right:17px;box-shadow:0 13px 30px #1d536452}.page-loader,.state-card{max-width:600px;color:var(--ink-faint);text-align:center;justify-items:center;gap:10px;margin:35px auto;padding:34px 18px;display:grid}.state-card{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:#ffffffa8}.state-card h2{font-size:1.12rem}.state-card p{max-width:440px;font-size:.8rem;line-height:1.5}.state-icon{width:50px;height:50px;color:var(--blue);background:var(--ice);border-radius:16px 16px 16px 6px;place-items:center;display:grid}.state-error .state-icon{color:var(--danger);background:var(--danger-pale)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.back-link{min-height:42px;color:var(--ink-soft);align-items:center;gap:6px;margin:-8px 0 15px;font-size:.78rem;font-weight:750;display:inline-flex}.form-header,.page-header{gap:16px;margin-bottom:22px;display:grid}.form-header>span{width:58px;height:58px;color:var(--blue);background:var(--ice);border-radius:18px 18px 18px 6px;place-items:center;display:none}.form-alert,.inline-alert{color:var(--danger);background:var(--danger-pale);border:1px solid #edc6c3;border-radius:11px;margin-bottom:14px;padding:11px 13px;font-size:.79rem;font-weight:600}.product-form{gap:14px;display:grid}.form-section{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;padding:19px 15px}.section-heading{align-items:flex-start;gap:10px;margin-bottom:19px;display:flex}.section-heading>span{width:29px;height:29px;color:var(--white);background:var(--navy);border-radius:10px 10px 10px 4px;flex:none;place-items:center;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:800;display:grid}.section-heading h2{font-size:1.1rem}.section-heading p{color:var(--ink-faint);margin-top:3px;font-size:.7rem}.form-grid{gap:14px;display:grid}.field,.choice-field{border:0;align-content:start;gap:6px;min-width:0;margin:0;padding:0;display:grid}.field>span,.choice-field legend{color:var(--ink-soft);font-size:.76rem;font-weight:750}.field b,.choice-field b{color:var(--blue)}.field em{color:var(--ink-faint);font-size:.67rem;font-style:normal;font-weight:500}.field input,.field select,.field textarea,.quantity-unit input,.quantity-unit select,.date-action input,.input-with-icon input,.input-suffix input{width:100%;min-height:48px;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:11px;outline:0;padding:10px 12px;transition:border-color .14s,box-shadow .14s}.field input:focus,.field select:focus,.field textarea:focus,.quantity-unit input:focus,.quantity-unit select:focus,.date-action input:focus,.input-with-icon input:focus,.input-suffix input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2867781a}.field input:disabled,.field select:disabled{color:var(--ink-faint);background:#edf1f1}.field textarea{resize:vertical;min-height:92px}.field small,.field-help{color:var(--ink-faint);font-size:.66rem;line-height:1.4}.compact-field{gap:4px}.compact-field>span{align-items:center;gap:5px;font-size:.68rem;display:flex}.compact-field select{min-height:43px;padding:8px 10px;font-size:.76rem}.choice-field legend{margin-bottom:6px}.choice-field>div{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.choice-field label{cursor:pointer}.choice-field input{opacity:0;width:1px;height:1px;position:absolute}.choice-field label span{min-height:48px;color:var(--ink-soft);background:var(--ice-light);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;gap:4px;font-size:.74rem;font-weight:750;display:flex}.choice-field input:checked+span{color:var(--blue-deep);background:var(--ice);border-color:#8fb8c0;box-shadow:inset 0 0 0 1px #8fb8c0}.choice-field input:focus-visible+span{outline-offset:2px;outline:3px solid #2867783d}.quantity-unit{grid-template-columns:minmax(0,1fr) 145px;gap:7px;display:grid}.input-with-icon{position:relative}.input-with-icon>svg{z-index:2;color:var(--ink-faint);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.input-with-icon input{padding-left:39px}.date-action{grid-template-columns:minmax(0,1fr) 48px;gap:7px;display:grid}.date-action button{color:var(--blue);background:var(--ice);cursor:pointer;border:1px solid #acd0d5;border-radius:11px;place-items:center;display:grid}.organisation-hint{color:var(--amber);background:var(--amber-pale);border-radius:10px;margin-top:14px;padding:10px 12px;font-size:.72rem}.organisation-hint a{font-weight:800;text-decoration:underline}.form-stock-notice{color:var(--blue-deep);background:var(--ice);border:1px solid #c5dde1;border-radius:12px;align-items:flex-start;gap:11px;padding:13px;display:flex}.form-stock-notice>svg{flex:none;margin-top:2px}.form-stock-notice strong{font-size:.78rem}.form-stock-notice p{color:var(--ink-soft);margin-top:3px;font-size:.7rem;line-height:1.45}.form-stock-notice a{color:var(--blue);margin-top:7px;font-size:.7rem;font-weight:800;text-decoration:underline;display:inline-flex}.conditioning-editor{background:var(--ice-light);border:1px solid #d3e3e5;border-radius:14px;gap:12px;padding:14px;display:grid}.conditioning-editor-heading strong{color:var(--ink);font-size:.8rem}.conditioning-editor-heading p{color:var(--ink-faint);margin-top:3px;font-size:.69rem;line-height:1.45}.conditioning-lines{gap:9px;display:grid}.conditioning-line{border:1px solid var(--line);background:#ffffffdb;border-radius:12px;grid-template-columns:minmax(0,1fr) 88px;gap:9px;padding:12px;display:grid;position:relative}.conditioning-line legend{color:var(--blue-deep);padding:0 5px;font-size:.65rem;font-weight:850}.conditioning-line>.field:first-of-type{grid-column:1/-1}.conditioning-remove{width:32px;height:32px;color:var(--danger);background:var(--white);box-shadow:var(--shadow-sm);cursor:pointer;border:1px solid #e5c8c5;border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:-7px}.conditioning-add{min-height:42px;color:var(--blue);background:var(--white);border:1px solid #b9d4d8;justify-self:start}.conditioning-summary{color:var(--white);background:var(--navy);border-radius:12px;gap:3px;padding:12px 14px;display:grid}.conditioning-summary span{color:#c9e0e4;letter-spacing:.04em;text-transform:uppercase;font-size:.59rem;font-weight:850}.conditioning-summary strong{font-size:.9rem}.conditioning-summary small{color:#d3e4e7;font-size:.68rem}.form-submit-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding:10px 0;display:flex}.form-submit-bar p{color:var(--ink-faint);flex:1;font-size:.7rem;display:none}.form-submit-bar .button{width:100%;min-height:50px}.detail-header{gap:16px;margin-bottom:20px;display:grid}.detail-title{align-items:flex-start;gap:12px;min-width:0;display:flex}.detail-mark{color:#d7eff2;background:var(--navy);width:56px;height:64px;box-shadow:var(--shadow-sm);border-radius:18px 18px 7px;flex:none;place-items:center;display:grid}.detail-title>div{min-width:0}.detail-title h1{overflow-wrap:anywhere}.detail-title>div>p:last-child{color:var(--ink-soft);align-items:center;gap:5px;margin-top:8px;font-size:.76rem;display:flex}.detail-alert{color:var(--amber)}.detail-alert-expired{color:var(--danger);background:var(--danger-pale);border-color:#eec6c3}.detail-alert>svg{flex:none}.detail-alert strong{font-size:.82rem}.detail-alert p{margin-top:2px;font-size:.71rem;line-height:1.45}.stock-hero{color:var(--white);background:radial-gradient(circle at 90% 0, #77c7d340, transparent 48%), linear-gradient(135deg, var(--navy-deep), var(--navy));border-radius:var(--radius-lg);box-shadow:var(--shadow);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:12px;display:grid;position:relative;overflow:hidden}.stock-hero-sachets{grid-template-columns:1fr}.stock-hero-sachets>div>strong{font-size:clamp(1.35rem,5vw,2rem)}.stock-hero>div{background:#ffffff0a;gap:5px;padding:20px 14px 28px;display:grid}.stock-hero>div>span{color:#d0e2e6;text-transform:uppercase;font-size:.72rem;font-weight:800}.stock-hero>div>strong{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(1rem,4vw,1.65rem);line-height:1.15}.stock-format-summary{color:#d3e4e7;max-width:calc(100% - 20px);padding-bottom:10px;font-size:.7rem;line-height:1.4}.freshness-pill{background:#5ba08b33;border-radius:999px;padding:3px 7px;font-size:.58rem;font-weight:800;position:absolute;bottom:7px;left:14px;color:#d0ebe4!important}.freshness-pill.limit-soon{background:#b8702840;color:#ffe5bd!important}.freshness-pill.limit-expired{background:#b3453f47;color:#ffd5d2!important}.detail-actions{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px;display:grid}.action-card{min-height:115px;color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;align-content:start;justify-items:start;gap:5px;padding:13px;transition:transform .14s,border-color .14s;display:grid}.action-card:hover:not(:disabled){border-color:#9db6bb;transform:translateY(-1px)}.action-card>span{width:37px;height:37px;color:var(--white);background:var(--blue);border-radius:11px 11px 11px 4px;place-items:center;margin-bottom:2px;display:grid}.action-add>span{color:var(--blue);background:var(--ice)}.action-transfer>span{color:#4d6f61;background:var(--success-pale)}.action-correct>span{color:var(--amber);background:var(--amber-pale)}.action-card:disabled{cursor:not-allowed;opacity:.55}.action-card strong{font-size:.78rem}.action-card small{color:var(--ink-faint);font-size:.62rem;line-height:1.35}.distribution-section{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;margin-bottom:14px;padding:17px 15px}.distribution-grid{gap:8px;display:grid}.conditioning-groups{gap:12px;display:grid}.conditioning-group{background:#edf7f89e;border:1px solid #d6e5e7;border-radius:13px;gap:9px;padding:11px;display:grid}.conditioning-group>header{justify-content:space-between;align-items:center;gap:10px;display:flex}.conditioning-group>header>div{gap:2px;display:grid}.conditioning-group>header span{color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;font-size:.56rem;font-weight:850}.conditioning-group>header h3{color:var(--blue-deep);font-size:.84rem}.conditioning-group>header>strong{color:var(--ink);white-space:nowrap;font-size:.74rem}.new-format-fields{background:var(--ice-light);border:1px solid #d8e5e7;border-radius:11px;grid-template-columns:minmax(0,1fr) 110px;gap:9px;padding:12px;display:grid}.distribution-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.distribution-heading .detail-section-heading{margin-bottom:0}.unit-correction-intro,.unit-correction-current,.unit-correction-locations{color:var(--ink-soft);font-size:.78rem;line-height:1.55}.unit-correction-formats{gap:14px;display:grid}.unit-correction-format{border:1px solid var(--line);background:var(--ice-light);border-radius:12px;gap:10px;min-width:0;padding:14px;display:grid}.unit-correction-format legend{color:var(--blue-deep);padding:0 6px;font-size:.78rem;font-weight:800}.unit-correction-locations{color:var(--ink-faint);overflow-wrap:anywhere;font-size:.7rem}.unit-correction-unknown{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;font-size:.74rem;display:flex}.unit-correction-unknown input{width:18px;height:18px;accent-color:var(--blue);flex:none}.unit-correction-link{justify-self:start}.distribution-card{background:var(--ice-light);border:1px solid #dce8e9;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:11px 12px;display:flex}.distribution-card:only-child{grid-column:1/-1}.distribution-card>div{gap:3px;min-width:0;display:grid}.distribution-card>div:last-child{text-align:right;flex:none;justify-items:end}.distribution-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.distribution-card span{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.detail-columns{gap:14px;display:grid}.detail-section{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;padding:17px 15px}.detail-section-heading{color:var(--blue);align-items:center;gap:8px;margin-bottom:15px;display:flex}.detail-section-heading h2{font-size:1.01rem}.detail-section-heading p{color:var(--ink-faint);margin-top:2px;font-size:.65rem}.detail-list{display:grid}.detail-list>div{border-bottom:1px solid #e4ebec;grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr);gap:12px;padding:10px 0;display:grid}.detail-list dt{color:var(--ink-faint);font-size:.71rem}.detail-list dd{color:var(--ink);text-align:right;font-size:.75rem;font-weight:700}.product-note{color:var(--ink-soft);background:var(--ice-light);border-radius:11px;margin-top:14px;padding:12px}.product-note strong{color:var(--ink);font-size:.72rem}.product-note p{white-space:pre-wrap;margin-top:4px;font-size:.73rem;line-height:1.5}.movement-list{gap:8px;display:grid}.movement-row{background:var(--ice-light);border:1px solid #e1e9ea;border-radius:11px;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:8px;padding:10px;display:grid}.movement-row>span:first-child{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.movement-add{color:var(--success);background:var(--success-pale)}.movement-remove{color:var(--blue);background:var(--ice)}.movement-row>div:nth-child(2){gap:2px;min-width:0;display:grid}.movement-row>div:nth-child(2) strong{font-size:.71rem}.movement-row>div:nth-child(2) small{color:var(--ink-faint);align-items:center;gap:3px;font-size:.6rem;display:flex}.movement-row>div:nth-child(2) p{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.64rem;overflow:hidden}.movement-pending{color:#72501d;background:var(--amber-pale);border-radius:999px;align-items:center;width:fit-content;margin-top:2px;padding:2px 6px;font-size:.54rem;font-weight:800;display:inline-flex}.movement-row>div:last-child{text-align:right;justify-items:end;gap:2px;display:grid}.movement-row>div:last-child strong{white-space:nowrap;font-size:.67rem}.movement-row>div:last-child span{color:var(--ink-faint);font-size:.57rem}.movement-unit-correction>div:nth-child(2) p{white-space:pre-line;overflow-wrap:anywhere;overflow:visible}.movement-unit-correction>div:last-child strong{white-space:normal;max-width:85px}.delta-positive strong{color:var(--success)}.delta-negative strong{color:var(--blue)}.empty-history{color:var(--ink-faint);text-align:center;padding:25px 10px;font-size:.73rem}.danger-zone{border-radius:var(--radius);background:#ffffff85;border:1px dashed #dfc0bd;gap:12px;margin-top:17px;padding:15px;display:grid}.danger-zone h2{font-size:.86rem}.danger-zone p{color:var(--ink-faint);margin-top:3px;font-size:.68rem}.page-header .button{justify-self:start}.organisation-guide{color:var(--blue-deep);background:var(--ice);border-color:#c5dde1}.site-groups{gap:14px;display:grid}.site-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffd1;overflow:hidden}.site-card>header{background:linear-gradient(135deg, var(--ice-light), #ffffffbf);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 13px 11px;display:flex}.site-card>header>div:first-child{align-items:center;gap:9px;min-width:0;display:flex}.site-mark,.freezer-mark{width:39px;height:39px;color:var(--blue);background:var(--ice);border-radius:11px 11px 11px 4px;flex:none;place-items:center;display:grid}.site-card h2{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.site-card header p,.freezer-card p{color:var(--ink-faint);margin-top:2px;font-size:.64rem}.card-actions{flex:none;gap:2px;display:flex}.card-actions button{width:40px;height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.card-actions button:hover{background:var(--ice)}.card-actions .danger-icon{color:var(--danger)}.freezer-list{gap:8px;padding:12px;display:grid}.freezer-card{background:var(--paper);border:1px solid #e0e8e9;border-radius:12px;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px;display:grid}.freezer-mark{color:#d5eff2;background:var(--navy)}.freezer-card h3{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.empty-freezers{min-height:70px;color:var(--ink-faint);background:var(--ice-light);border:1px dashed var(--line-strong);border-radius:11px;justify-content:center;align-items:center;gap:7px;font-size:.7rem;display:flex}.add-freezer{width:calc(100% - 24px);min-height:43px;color:var(--blue);background:var(--ice-light);cursor:pointer;border:1px dashed #9abcc3;border-radius:10px;justify-content:center;align-items:center;gap:5px;margin:0 12px 12px;font-size:.71rem;font-weight:800;display:flex}.modal-layer{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081a2791;align-items:end;padding-top:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:#f9fbfa;border:1px solid #ffffffa6;border-radius:22px 22px 0 0;width:100%;max-height:calc(100vh - 20px);overflow-y:auto;box-shadow:0 -15px 50px #081a2740}.modal-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 17px 13px;display:flex}.modal-heading h2{font-size:1.2rem}.modal-heading .icon-button{color:var(--ink-soft);background:var(--ice);border-color:var(--line);flex:none}.modal-body{padding:17px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.modal-actions .button{flex:130px}.cooking-form,.stock-form,.editor-form,.confirm-delete{gap:14px;display:grid}.modal-help{color:var(--ink-soft);background:var(--ice-light);border:1px solid var(--line);border-radius:11px;padding:11px 12px;font-size:.7rem;line-height:1.5}.selected-location-summary{color:var(--ink-soft);background:var(--ice-light);border:1px solid var(--line);border-radius:11px;align-items:center;gap:6px;padding:10px 12px;font-size:.7rem;display:flex}.selected-location-summary svg{color:var(--blue);flex:none}.location-fields{background:var(--ice-light);border:1px solid var(--line);border-radius:12px;gap:12px;padding:13px;display:grid}.cooking-intro{color:var(--blue-deep);background:var(--ice);border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.cooking-intro>span{background:#ffffffad;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.cooking-intro h3{font-size:.86rem}.cooking-intro p{color:var(--ink-soft);margin-top:4px;font-size:.69rem;line-height:1.45}.available-summary{min-height:70px;color:var(--blue);background:var(--ice-light);border:1px solid var(--line);border-radius:11px;justify-content:center;align-items:center;gap:7px;display:flex}.available-summary strong{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.4rem}.available-summary span{max-width:90px;color:var(--ink-soft);font-size:.66rem;line-height:1.2}.prompt-result{border-top:1px solid var(--line);gap:8px;margin-top:3px;padding-top:15px;display:grid}.prompt-result>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.prompt-result h3{font-size:.86rem}.prompt-result textarea{width:100%;min-height:230px;color:var(--ink-soft);border:1px solid var(--line);resize:vertical;background:#edf4f4;border-radius:11px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;line-height:1.45}.mini-loader{min-height:160px;color:var(--ink-faint);justify-content:center;align-items:center;gap:8px;font-size:.76rem;display:flex}.current-stock{color:var(--blue-deep);background:var(--ice);border-radius:11px;gap:3px;padding:11px 12px;display:grid}.current-stock span{text-transform:uppercase;font-size:.64rem;font-weight:700}.current-stock strong{font-size:.82rem}.input-suffix{position:relative}.input-suffix input{padding-right:70px}.input-suffix>span{color:var(--ink-faint);font-size:.68rem;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.confirm-delete{text-align:center;justify-items:center}.confirm-delete>span{width:52px;height:52px;color:var(--danger);background:var(--danger-pale);border-radius:16px 16px 16px 6px;place-items:center;display:grid}.confirm-delete>p{max-width:430px;color:var(--ink-soft);font-size:.77rem;line-height:1.5}.confirm-delete .modal-actions{width:100%}.toast-region{z-index:150;pointer-events:none;gap:7px;display:grid;position:fixed;bottom:12px;left:12px;right:12px}.toast{color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);pointer-events:auto;background:#fffffff7;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 12px;display:grid}.toast>svg{color:var(--success)}.toast-error>svg{color:var(--danger)}.toast-info>svg{color:var(--blue)}.toast p{font-size:.74rem;font-weight:650}.toast button{width:34px;height:34px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}@media (width>=560px){.header-inner,.mobile-navigation{padding-left:24px;padding-right:24px}.brand strong{font-size:.98rem}.header-add span{display:inline}.page{padding-left:24px;padding-right:24px}.form-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.form-header>span{display:grid}.two-columns{grid-template-columns:1fr 1fr}.full-field{grid-column:1/-1}.form-submit-bar .button{width:auto}.form-submit-bar p{display:block}.detail-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.danger-zone{grid-template-columns:minmax(0,1fr) auto;align-items:center}.page-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.page-header .button{justify-self:end}.site-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.modal-layer{place-items:center;padding:22px}.modal-panel{border-radius:var(--radius-lg);max-height:calc(100vh - 44px);box-shadow:var(--shadow)}.modal-small{max-width:500px}.modal-medium{max-width:650px}.modal-large{max-width:790px}.modal-heading{padding:21px 23px 15px}.modal-body{padding:20px 23px 23px}.modal-actions .button{flex:0 auto}.toast-region{width:min(470px,100vw - 40px);bottom:20px;left:auto;right:20px}.product-card>a{grid-template-columns:43px minmax(0,1fr) auto 18px;gap:14px;padding:14px 16px}.product-accent{width:43px}.product-chevron{display:block}.offline-status-inner{padding-inline:24px}}@media (width>=760px){.header-inner{min-height:75px}.main-navigation{align-items:center;gap:4px;margin-left:12px;display:flex}.main-navigation a{color:#b9d0d6;border-radius:10px;align-items:center;gap:6px;min-height:42px;padding:8px 11px;font-size:.77rem;font-weight:750;display:inline-flex}.main-navigation a.active{color:var(--white);background:#aedce21f}.menu-toggle,.mobile-navigation{display:none!important}.header-cooking{display:inline-flex}.header-cooking span{display:none}.header-lock-button,.security-menu{display:grid}.page{padding-top:39px;padding-bottom:72px}.inventory-hero{grid-template-columns:minmax(0,1fr) 385px;align-items:end}.summary-card{text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start;padding:14px 11px}.summary-card strong{font-size:1.28rem}.summary-card small{font-size:.62rem}.freshness-alert{align-items:center}.inventory-controls{grid-template-columns:260px minmax(0,1fr)}.view-tabs{grid-row:1}.search-field{grid-area:1/2}.button-filter{display:none}.filter-panel,.filter-panel-open{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.clear-filters{grid-column:1/-1;justify-self:end}.product-list{grid-template-columns:1fr 1fr;gap:12px}.product-card>a{grid-template-columns:41px minmax(0,1fr) auto;gap:11px;padding-inline:13px}.product-chevron,.floating-add{display:none}.detail-columns{grid-template-columns:.88fr 1.12fr;align-items:start}.detail-actions-distributed{grid-template-columns:repeat(4,minmax(0,1fr))}.distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-section{padding:21px}.form-section{padding:24px}.conditioning-line{grid-template-columns:minmax(115px,.75fr) minmax(150px,1fr) 90px;align-items:end}.conditioning-line>.field:first-of-type{grid-column:auto}}@media (width>=1020px){.header-cooking span{display:inline}.header-cooking{padding-inline:13px}.product-card>a{grid-template-columns:43px minmax(0,1fr) auto 18px;gap:14px;padding-inline:15px}.product-chevron{display:block}.site-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=380px){.brand-mark{width:39px;height:39px}.header-inner{gap:7px;padding-inline:11px}.product-card>a{grid-template-columns:35px minmax(0,1fr) auto;gap:8px;padding-inline:9px}.product-accent{width:35px}.product-stock{min-width:96px;padding-inline:8px}.product-stock strong{font-size:.75rem}.quantity-unit{grid-template-columns:minmax(0,1fr) 122px}}@media (width<=559px){.offline-status-inner{flex-wrap:wrap;align-items:flex-start}.offline-status-copy{flex-direction:column;justify-content:center;gap:1px;min-height:29px}.offline-status-actions{width:100%;padding-left:39px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
