:root{color:#1d2c27;font-synthesis:none;text-rendering:optimizelegibility;--ink:#183a2f;--ink-soft:#33594c;--cream:#f6f4ec;--paper:#fffefa;--gold:#f2ce7e;--line:#e4e2d8;--muted:#78847f;--danger:#c4514f;--warning:#cf7b35;--shadow:0 18px 55px #26372e14;background:#f6f4ec;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{stroke-width:1.8px;width:1.1em;height:1.1em}::selection{background:#f2ce7e80}.app-shell{min-height:100vh}.sidebar{z-index:20;color:#f8f7ef;background:var(--ink);flex-direction:column;width:248px;padding:32px 24px;display:flex;position:fixed;inset:0 auto 0 0}.logo{align-items:center;gap:12px;display:flex}.logo-mark,.brand-mark{width:44px;height:44px;color:var(--gold);background:#254a3e;border:1px solid #f2ce7e80;border-radius:14px;place-items:center;font:700 24px/1 Georgia,serif;display:grid}.logo>span:last-child{line-height:1.05;display:grid}.logo strong{letter-spacing:.02em;font:700 21px/1.1 Georgia,serif}.logo small{color:#bac9c2;letter-spacing:.28em;margin-top:5px;font-size:11px}.side-nav{gap:7px;margin-top:58px;display:grid}.side-nav a{color:#c7d3ce;border-radius:12px;align-items:center;gap:13px;padding:13px 15px;font-size:14px;display:flex}.side-nav a svg{font-size:20px}.side-nav a.active{color:#19382f;background:var(--gold);font-weight:700}.side-stock-button{border:1px solid #688176;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:28px;padding:13px;font-weight:700;display:flex}.side-stock-button:hover{border-color:var(--gold);color:var(--gold)}.sidebar-foot{gap:18px;margin-top:auto;display:grid}.sidebar-foot p{color:#779288;margin:0;font:italic 15px/1.6 Georgia,serif}.sync-pill{color:#94aca2;align-items:center;gap:7px;width:fit-content;font-size:12px;display:inline-flex}.sync-pill svg{font-size:15px}.sync-pill.error,.sync-pill.offline{color:#eaa39d}.app-stage{min-height:100vh;margin-left:248px}.page{width:min(1280px,100%);margin:0 auto;padding:52px 54px 110px}.mobile-header,.bottom-nav{display:none}.app-loading,.loading-state{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:14px;display:flex}.app-loading{background:var(--cream);flex-direction:column}.eyebrow{color:#8f7650;letter-spacing:.22em;margin-bottom:9px;font-size:10px;font-weight:800;display:block}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px;display:flex}.page-header h1,.editor-header h1{color:var(--ink);letter-spacing:-.03em;margin:0;font:500 clamp(32px,4vw,48px)/1.08 Georgia,Songti SC,serif}.page-header p,.editor-header p{color:var(--muted);margin:10px 0 0;font-size:14px}.button{cursor:pointer;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-size:13px;font-weight:700;display:inline-flex}.button.primary{color:#fff;background:var(--ink)}.button.primary:hover{background:#275244}.button.secondary{border-color:var(--line);background:var(--paper)}.button.ghost{background:0 0}.button.small{min-height:34px;padding:0 11px;font-size:12px}.button.wide{width:100%}.button:disabled{cursor:wait;opacity:.65}.icon-button{border:1px solid var(--line);cursor:pointer;background:var(--paper);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button.subtle{color:#a1aaa5;background:0 0;border:0;width:32px;height:32px}.content-card{border:1px solid var(--line);background:#fffefae0;border-radius:22px;box-shadow:0 12px 45px #26372e0a}.summary-grid{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px;display:grid}.summary-card{border:1px solid var(--line);background:var(--paper);border-radius:19px;grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;min-height:155px;padding:21px;display:grid;position:relative;overflow:hidden}.summary-card>span{width:36px;height:36px;color:var(--ink);background:#e6eee9;border-radius:11px;place-items:center;display:grid}.summary-card small{color:var(--muted);align-self:center;font-size:12px}.summary-card strong{color:var(--ink);align-self:end;font:500 40px/1 Georgia,serif}.summary-card em{color:var(--muted);align-self:end;font-size:11px;font-style:normal}.summary-card.dark{color:#fff;border-color:var(--ink);background:var(--ink)}.summary-card.dark strong,.summary-card.dark>span{color:var(--gold)}.summary-card.dark small,.summary-card.dark em{color:#b9c8c1}.summary-card.dark>span{background:#2c5145}.summary-card.warm{background:#fff4e3}.summary-card.warm>span{color:#a15c2a;background:#f7dfbc}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(260px,.65fr);gap:22px;display:grid}.urgent-section{padding:27px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-heading h2{color:var(--ink);margin:0;font:500 25px/1.1 Georgia,serif}.section-heading a{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.inventory-list{gap:3px;display:grid}.inventory-list.roomy{gap:8px}.inventory-card{border-bottom:1px solid #ece9df;gap:15px;padding:17px 5px;display:flex}.inventory-card:last-child{border-bottom:0}.inventory-card.inactive{opacity:.6}.inventory-icon{border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:23px;display:grid}.inventory-main{flex:1;min-width:0}.inventory-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inventory-title h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 5px;font-size:15px;overflow:hidden}.inventory-title>div>span{color:var(--muted);font-size:11px}.expiry-badge{color:#4f7165;background:#e9f1ed;border-radius:7px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.expiry-badge.expired,.expiry-badge.danger{color:#a43d3b;background:#fbe5e3}.expiry-badge.warning{color:#a15b22;background:#fff0d9}.expiry-badge.soon{color:#76611b;background:#f8f1ce}.inventory-meta{color:#919a96;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:10px;display:flex}.inventory-meta span{align-items:center;gap:4px;display:inline-flex}.inventory-meta svg{font-size:12px}.inventory-actions{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.mini-button{cursor:pointer;background:#fafbf8;border:1px solid #e2e4df;border-radius:8px;align-items:center;gap:5px;min-height:28px;padding:0 9px;font-size:10px;display:inline-flex}.mini-button:hover{border-color:#b9c9c1}.danger-text{color:var(--danger)!important}.dashboard-aside{align-content:start;gap:18px;display:grid}.aside-note{color:#f6f4ec;min-height:260px;box-shadow:var(--shadow);background:#d26f4f;border-radius:22px;padding:28px}.aside-note .eyebrow{color:#ffdbc8}.aside-note strong{margin:26px 0 8px;font:500 64px/1 Georgia,serif;display:block}.aside-note h3{margin:0;font:500 20px/1.35 Georgia,serif}.aside-note p{color:#ffe5d8;margin:23px 0 0;font-size:12px;line-height:1.7}.section-links{gap:8px;display:grid}.section-link{border:1px solid var(--line);background:var(--paper);border-radius:15px;align-items:center;gap:11px;padding:15px;display:flex}.section-link>span{background:#e9efe9;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.section-link>div{flex:1;min-width:0;display:grid}.section-link strong{font-size:12px}.section-link small{color:var(--muted);margin-top:3px;font-size:10px}.section-link>svg{color:#a5aca8}.empty-state{text-align:center;justify-items:center;padding:48px 20px;display:grid}.empty-state>span{width:54px;height:54px;color:var(--ink-soft);background:#edf1ec;border-radius:18px;place-items:center;font-size:23px;display:grid}.empty-state h3{margin:16px 0 7px;font:500 18px/1.2 Georgia,serif}.empty-state p{max-width:360px;color:var(--muted);margin:0 0 18px;font-size:12px;line-height:1.6}.inventory-page-card,.products-card{padding:25px 28px}.inventory-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;display:flex}.search-box{border:1px solid var(--line);background:#fff;border-radius:11px;align-items:center;gap:9px;width:min(360px,100%);height:42px;padding:0 13px;display:flex}.search-box svg{color:#8c9792}.search-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.filter-tabs{background:#ecece5;border-radius:11px;gap:4px;padding:4px;display:flex}.filter-tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 11px;font-size:10px}.filter-tabs button.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 2px 7px #33493d12}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.product-card{background:#fff;border:1px solid #e7e5dc;border-radius:15px;gap:14px;padding:17px;display:flex}.product-card:hover{border-color:#b8c8bf}.product-icon{border-radius:14px;flex:none;place-items:center;width:45px;height:45px;font-size:21px;display:grid}.product-card h3{margin:0 0 6px;font-size:14px}.product-card p{color:var(--muted);margin:0 0 10px;font-size:10px}.product-card div>span{color:var(--ink-soft);align-items:center;gap:5px;font-size:10px;display:inline-flex}.product-card div>span.stock-low{color:var(--danger);font-weight:700}.editor-page{width:min(850px,100%);margin:0 auto}.editor-page.compact-editor{width:min(720px,100%)}.editor-header{align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}.editor-header h1{font-size:38px}.editor-form{gap:18px;display:grid}.form-section{border:1px solid var(--line);background:var(--paper);border-radius:22px;padding:28px}.form-section-title{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.form-section-title>span{width:34px;height:34px;color:var(--ink);background:var(--gold);border-radius:50%;place-items:center;font:700 10px Georgia,serif;display:grid}.form-section-title h2{margin:0;font:500 20px/1.2 Georgia,serif}.form-section-title p{color:var(--muted);margin:5px 0 0;font-size:11px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{align-content:start;gap:7px;min-width:0;display:grid}.field>span{color:#65716c;font-size:11px;font-weight:700}.field input,.field textarea,.manage-add input,.quick-add input{width:100%;min-width:0;height:44px;color:var(--ink);background:#fff;border:1px solid #dcded7;border-radius:10px;outline:none;padding:0 12px;font-size:13px}.field textarea{resize:vertical;height:88px;padding-top:12px}.field input:focus,.field textarea:focus,.manage-add input:focus,.quick-add input:focus{border-color:#6c8b7d;box-shadow:0 0 0 3px #6c8b7d16}.select-control{min-width:0;position:relative}.select-trigger{cursor:pointer;width:100%;min-height:44px;color:var(--ink);text-align:left;background:#fff;border:1px solid #dcded7;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:6px 11px;transition:border-color .16s,box-shadow .16s,background-color .16s;display:flex}.select-trigger:hover{background:#fdfdfa;border-color:#b9c8c0}.select-trigger:focus-visible,.select-trigger[aria-expanded=true]{border-color:#6c8b7d;outline:0;box-shadow:0 0 0 3px #6c8b7d16}.select-trigger:disabled{cursor:not-allowed;opacity:.55}.select-value{align-items:center;gap:9px;min-width:0;display:flex}.select-value>i,.select-option>i{width:27px;height:27px;color:var(--ink-soft);background:#edf2ee;border-radius:8px;flex:none;place-items:center;font-size:14px;font-style:normal;display:grid}.select-value>span,.select-option>span{flex:1;min-width:0;display:grid}.select-value strong,.select-option strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.select-value small,.select-option small{color:#8b9691;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;font-weight:500;overflow:hidden}.select-chevron{color:#84918c;flex:none;transition:transform .16s}.select-chevron.open{transform:rotate(180deg)}.select-popover{z-index:70;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffcfa;border:1px solid #dce2dd;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow:hidden;box-shadow:0 18px 45px #1f372d29,0 3px 10px #1f372d12}.select-search{background:#f6f8f4;border:1px solid #dfe4df;border-radius:10px;align-items:center;gap:8px;height:40px;margin-bottom:5px;padding:0 10px;display:flex}.select-search:focus-within{background:#fff;border-color:#86a396;box-shadow:0 0 0 3px #6c8b7d12}.select-search>svg{color:#7d8c85;flex:none}.select-search input{background:0 0;border:0;border-radius:0;outline:0;flex:1;height:auto;padding:0;font-size:12px;box-shadow:none!important}.select-search kbd{color:#738079;text-align:center;background:#e8ede8;border-radius:6px;min-width:22px;padding:2px 5px;font-family:inherit;font-size:9px;font-weight:600;line-height:1.4}.select-menu{scrollbar-color:#c9d2cd transparent;max-height:270px;overflow-y:auto}.select-option{cursor:pointer;color:#2b3b35;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;width:100%;min-height:45px;padding:6px 9px;display:flex}.select-option+.select-option{margin-top:2px}.select-option:hover,.select-option:focus-visible{background:#f0f4f0;outline:0}.select-option.selected{color:var(--ink);background:#e8f0eb}.select-option.selected>i{background:#d9e7df}.select-option.pinned{border-bottom:1px solid #e7eae5;border-radius:10px 10px 5px 5px}.select-option.pinned>i{color:#80621d;background:#fbefcf;font-weight:800}.select-option>svg{color:#3e715e;flex:none}.select-empty{color:#8a9690;text-align:center;justify-items:center;padding:28px 14px;display:grid}.select-empty>svg{margin-bottom:8px;font-size:21px}.select-empty>span{font-size:11px;font-weight:700}.select-empty>small{margin-top:4px;font-size:9px}.date-picker{min-width:0;position:relative}.date-trigger{justify-content:flex-start;height:44px}.date-trigger-icon{color:#73827b;flex:none}.date-trigger .date-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.date-trigger .date-value.placeholder{color:#9aa39f;font-weight:500}.date-menu{z-index:80;width:min(330px,100vw - 42px);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffcfc;border:1px solid #dce2dd;border-radius:17px;padding:13px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 18px 45px #1f372d2b,0 3px 10px #1f372d12}.date-menu-header{grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:4px;min-height:38px;margin-bottom:7px;display:grid}.date-month-step{cursor:pointer;color:#65766e;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:grid}.date-month-step:hover,.date-month-step:focus-visible{color:var(--ink);background:#edf2ee;outline:0}.date-month-step:disabled{color:#c8ceca;cursor:not-allowed;background:0 0}.date-month-selectors{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:5px;min-width:0;display:grid}.date-month-selectors .select-trigger{height:34px;min-height:34px;box-shadow:none;background:#f0f3ef;border:0;border-radius:10px;padding:0 7px 0 9px}.date-month-selectors .select-trigger:hover,.date-month-selectors .select-trigger[aria-expanded=true]{box-shadow:none;background:#e5ede8;border:0}.date-month-selectors .select-value strong{font-size:11px}.date-month-selectors .select-popover{border-radius:12px;padding:4px;top:calc(100% + 5px)}.date-month-selectors .select-menu{max-height:218px}.date-month-selectors .select-option{border-radius:8px;min-height:34px;padding:0 8px}.date-month-selectors .select-option strong{font-size:11px}.date-year-select .select-popover{min-width:112px}.date-month-select .select-popover{min-width:88px}.date-weekdays,.date-grid{grid-template-columns:repeat(7,1fr);display:grid}.date-weekdays{color:#929c97;text-align:center;padding:2px 0 5px;font-size:10px;font-weight:750}.date-weekdays span{place-items:center;height:28px;display:grid}.date-grid{gap:3px}.date-grid button{aspect-ratio:1;cursor:pointer;color:#31423b;background:0 0;border:0;border-radius:10px;place-items:center;min-width:0;padding:0;font-size:12px;font-weight:650;display:grid}.date-grid button:hover,.date-grid button:focus-visible{color:var(--ink);background:#edf2ee;outline:0}.date-grid button.outside{color:#b0b9b4}.date-grid button.today{box-shadow:inset 0 0 0 1px #8eaa9d}.date-grid button.selected{color:#fff;background:var(--ink);font-weight:800;box-shadow:0 5px 12px #183a2f3d}.date-grid button.selected:hover,.date-grid button.selected:focus-visible{color:#fff;background:#275244}.date-grid button:disabled{color:#d6dbd8;box-shadow:none;cursor:not-allowed;background:0 0}.date-menu-actions{border-top:1px solid #e8ebe7;justify-content:flex-end;gap:5px;margin-top:9px;padding-top:9px;display:flex}.date-menu-actions button{cursor:pointer;color:#547064;background:#eff3f0;border:0;border-radius:8px;min-height:30px;padding:0 10px;font-size:10px;font-weight:700}.date-menu-actions button:hover{color:var(--ink);background:#e4ece7}.date-menu-actions button:disabled{cursor:not-allowed;opacity:.45}.span-2{grid-column:span 2}.shelf-life-helper{grid-template-columns:minmax(0,1fr) 96px;gap:7px;display:grid}.shelf-life-helper>input,.shelf-life-helper .select-trigger{height:44px}.shelf-life-field{align-content:start}.field-hint{color:#929c97;margin-top:-1px;font-size:9px;line-height:1.4}.inline-input{gap:7px;display:flex}.scan-button{cursor:pointer;background:#f7f8f5;border:1px solid #dcded7;border-radius:10px;flex:none;align-items:center;gap:5px;padding:0 11px;font-size:11px;display:inline-flex}.editor-actions{align-items:center;gap:10px;padding:4px 2px 24px;display:flex}.action-spacer{flex:1}.error-banner,.notice-banner{color:#a63f3d;background:#fff0ef;border:1px solid #efc8c6;border-radius:10px;padding:12px 14px;font-size:12px}.error-banner.full{width:100%}.scanner-overlay{z-index:100;background:#101d18df;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.scanner-panel{text-align:center;background:var(--paper);border-radius:22px;width:min(480px,100%);padding:18px;position:relative}.scanner-close{z-index:2;position:absolute;top:27px;right:27px}.scanner-view{aspect-ratio:4/3;background:#17241f;border-radius:15px;place-items:center;display:grid;position:relative;overflow:hidden}.scanner-view video{object-fit:cover;width:100%;height:100%}.scan-line{background:var(--gold);height:2px;box-shadow:0 0 14px var(--gold);position:absolute;top:50%;left:12%;right:12%}.scanner-error{color:#dce6e1;justify-items:center;display:grid}.scanner-error svg{font-size:34px}.scanner-panel h3{margin:18px 0 5px}.scanner-panel>p{color:var(--muted);margin:0 0 5px;font-size:11px}.adjustment-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f1f19ad;place-items:center;padding:22px;display:grid;position:fixed;inset:0;overflow-y:auto}.adjustment-dialog{background:var(--paper);border:1px solid #dfe3dc;border-radius:22px;width:min(560px,100%);padding:24px;box-shadow:0 24px 70px #0f1f1940}.adjustment-header{grid-template-columns:44px minmax(0,1fr) 32px;align-items:start;gap:12px;margin-bottom:20px;display:grid}.adjustment-header>span{width:44px;height:44px;color:var(--ink);background:#e3ece7;border-radius:13px;place-items:center;display:grid}.adjustment-header small{color:#947841;letter-spacing:.18em;margin-bottom:4px;font-size:8px;font-weight:800;display:block}.adjustment-header h2{margin:0;font:500 24px/1.2 Georgia,Songti SC,serif}.adjustment-header p{color:var(--muted);margin:5px 0 0;font-size:10px}.adjustment-current{background:#f0f3ee;border-radius:14px;align-items:baseline;gap:7px;margin-bottom:17px;padding:15px 17px;display:flex}.adjustment-current span{color:var(--muted);margin-right:auto;font-size:10px;font-weight:700}.adjustment-current strong{font:500 29px/1 Georgia,serif}.adjustment-current em{color:var(--muted);font-size:10px;font-style:normal}.adjustment-form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.adjustment-preview{color:#68756f;background:#f3f4f0;border-radius:11px;margin-top:15px;padding:12px 14px;font-size:10px;line-height:1.55}.adjustment-preview.gain{color:#2f7059;background:#e8f3ed}.adjustment-preview.loss{color:#9b4f43;background:#faebe7}.adjustment-dialog .error-banner{margin-top:10px}.adjustment-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.report-page-card{padding:25px 28px 28px}.report-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.report-toolbar>span{color:var(--muted);font-size:10px}.report-tabs button{align-items:center;gap:6px;display:inline-flex}.report-tabs svg{font-size:14px}.report-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.report-summary>div{background:#f3f4ef;border-radius:14px;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;gap:4px 9px;min-height:92px;padding:15px;display:grid}.report-summary span{width:29px;height:29px;color:var(--ink);background:#e1ebe5;border-radius:9px;grid-row:span 2;place-items:center;display:grid}.report-summary small{color:var(--muted);align-self:end;font-size:9px}.report-summary strong{align-self:start;font:500 26px/1 Georgia,serif}.report-list{background:#fff;border:1px solid #e4e5de;border-radius:14px;overflow:hidden}.report-row{grid-template-columns:minmax(155px,1.2fr) minmax(140px,1fr) minmax(145px,1.2fr) minmax(80px,.65fr) minmax(90px,.7fr) minmax(135px,1fr);align-items:center;display:grid}.report-row+.report-row{border-top:1px solid #ecece6}.report-head{color:#7d8983;background:#f2f3ee;min-height:38px;font-size:9px;font-weight:800}.report-head>span,.report-cell{min-width:0;padding:11px 13px}.report-cell{color:#4c5c55;font-size:10px;line-height:1.5}.report-cell strong,.report-cell small{display:block}.report-cell strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.report-cell small{color:#919b96;margin-top:3px;font-size:8px}.document-number{color:#3e6657;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700}.record-type{color:#416b5b;background:#e5efe9;border-radius:7px;width:fit-content;margin-left:13px;padding:5px 8px;font-weight:800}.record-type.discard{color:#a34d45;background:#f9e8e5}.record-type.adjust{color:#995733;background:#faeadc}.record-type.adjust.gain{color:#326d58;background:#e4f1e9}.report-quantity strong{margin-right:2px;font-size:14px;display:inline}.shopping-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.shopping-section{padding:25px}.count-chip{min-width:27px;height:27px;color:var(--ink);background:var(--gold);border-radius:9px;place-items:center;padding:0 7px;font-size:11px;font-weight:800;display:grid}.suggestion-list,.check-list{gap:8px;display:grid}.suggestion-item{border-bottom:1px solid #ece9e0;align-items:center;gap:11px;padding:13px 0;display:flex}.suggestion-item>span{background:#e9efea;border-radius:12px;flex:none;place-items:center;width:38px;height:38px;display:grid}.suggestion-item>div{flex:1;min-width:0;display:grid}.suggestion-item strong{font-size:12px}.suggestion-item small{color:var(--muted);margin-top:4px;font-size:9px}.quick-add,.manage-add{gap:8px;margin-bottom:18px;display:flex}.quick-add input,.manage-add input{height:40px}.check-item{border-bottom:1px solid #ece9e0;align-items:center;gap:10px;min-height:45px;padding:5px 0;font-size:12px;display:flex}.check-item>span{flex:1}.check-circle{cursor:pointer;color:#0000;background:#fff;border:1px solid #cfd5d1;border-radius:50%;place-items:center;width:27px;height:27px;display:grid}.check-circle:hover,.check-circle.checked{color:#fff;border-color:var(--ink);background:var(--ink)}.check-item.done>span{color:#9ba39f;text-decoration:line-through}.completed-list{margin-top:18px}.completed-list summary{color:var(--muted);cursor:pointer;margin-bottom:8px;font-size:11px}.muted-line,.settings-hint{color:var(--muted);font-size:11px;line-height:1.6}.settings-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.settings-section{padding:23px}.settings-section.span-2{grid-column:span 2}.settings-title{align-items:center;gap:11px;margin-bottom:18px;display:flex}.settings-title>span{width:38px;height:38px;color:var(--ink);background:#e8eee9;border-radius:12px;place-items:center;display:grid}.settings-title h2{margin:0;font:500 18px/1.2 Georgia,serif}.settings-title p{color:var(--muted);margin:4px 0 0;font-size:10px}.settings-row{background:#f4f5f0;border-radius:12px;justify-content:space-between;align-items:center;gap:13px;padding:13px;display:flex}.settings-row>div{align-items:center;gap:10px;display:flex}.settings-row>div>span{display:grid}.settings-row strong{font-size:11px}.settings-row small{color:var(--muted);margin-top:3px;font-size:9px}.settings-link{cursor:pointer;background:#f6f6f2;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;min-height:41px;margin-top:8px;padding:0 11px;font-size:11px;display:flex}.manage-chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.manage-chip{background:#fff;border:1px solid #e0e2dc;border-radius:10px;align-items:center;gap:6px;height:34px;padding:0 9px;font-size:10px;display:inline-flex}.manage-chip i{border-radius:7px;place-items:center;width:21px;height:21px;font-size:12px;font-style:normal;display:grid}.manage-chip button{cursor:pointer;color:#a2aaa6;background:0 0;border:0;place-items:center;width:20px;height:20px;padding:0;display:grid}.manage-add{max-width:400px;margin:0}.button-stack{gap:3px;display:grid}.notice-banner{cursor:pointer;color:#315d4e;background:#eff8f3;border-color:#c9ddd3;justify-content:space-between;margin:-15px 0 20px;display:flex}.notice-banner span{color:#82968d;font-size:9px}.login-page{grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-story{color:#f8f7ef;background:var(--ink);flex-direction:column;justify-content:space-between;padding:52px clamp(45px,7vw,100px);display:flex}.login-story .logo small{color:#a6bbb2}.story-copy h1{letter-spacing:-.04em;max-width:620px;margin:0;font:500 clamp(40px,5vw,66px)/1.16 Georgia,Songti SC,serif}.story-copy p{color:#aac0b6;margin:24px 0 0;font-size:14px}.story-points{color:#c7d5cf;flex-wrap:wrap;gap:12px 24px;font-size:11px;display:flex}.story-points span{align-items:center;gap:7px;display:inline-flex}.story-points svg{color:var(--gold)}.login-panel{background:var(--cream);place-items:center;padding:35px;display:grid}.login-card{border:1px solid var(--line);background:var(--paper);width:min(410px,100%);box-shadow:var(--shadow);border-radius:25px;gap:19px;padding:38px;display:grid}.login-card h2{color:var(--ink);margin:0;font:500 30px/1.2 Georgia,serif}.login-card>div:first-child p{color:var(--muted);margin:7px 0 0;font-size:11px}.login-tabs{background:#ecece5;border-radius:11px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.login-tabs button{cursor:pointer;height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:11px}.login-tabs button.active{color:var(--ink);background:#fff;font-weight:800;box-shadow:0 2px 8px #183a2f12}.input-with-icon{position:relative}.input-with-icon svg{color:#8f9a95;position:absolute;top:14px;left:12px}.input-with-icon input{padding-left:38px}.form-note{color:#9ba39f;text-align:center;margin:-4px 0 0;font-size:9px}@media (width<=1100px){.page{padding-left:30px;padding-right:30px}.summary-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{grid-template-columns:1fr 1fr}.aside-note{min-height:220px}}@media (width<=760px){.sidebar{display:none}.app-stage{margin-left:0}.mobile-header{z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f4eced;border-bottom:1px solid #e6e3da;justify-content:space-between;align-items:center;height:66px;padding:0 18px;display:flex;position:sticky;top:0}.mobile-header .logo-mark{border-radius:11px;width:35px;height:35px;font-size:19px}.mobile-header .logo strong{font-size:18px}.mobile-header .logo small,.mobile-header .sync-pill span{display:none}.bottom-nav{z-index:30;height:calc(68px + env(safe-area-inset-bottom));padding:8px 6px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefaef;border-top:1px solid #e3e2da;grid-template-columns:repeat(6,1fr);align-items:start;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#89938f;justify-items:center;gap:3px;font-size:9px;display:grid}.bottom-nav a svg{font-size:21px}.bottom-nav a.active{color:var(--ink);font-weight:800}.bottom-nav .bottom-add{color:var(--ink);transform:translateY(-21px)}.bottom-add svg{color:var(--gold);background:var(--ink);border-radius:16px;padding:12px;box-shadow:0 7px 20px #183a2f35;width:47px!important;height:47px!important}.page{padding:27px 16px 95px}.page-header{align-items:flex-start;margin-bottom:23px}.page-header h1{font-size:34px}.page-header p{max-width:310px;font-size:12px;line-height:1.6}.desktop-only{display:none!important}.summary-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.summary-card{border-radius:16px;min-height:128px;padding:15px}.summary-card>span{width:31px;height:31px}.summary-card strong{font-size:33px}.urgent-section,.inventory-page-card,.products-card,.shopping-section,.settings-section,.report-page-card{border-radius:18px;padding:18px 15px}.dashboard-aside{grid-template-columns:1fr}.aside-note{min-height:205px;padding:23px}.aside-note strong{margin-top:18px;font-size:50px}.inventory-card{gap:11px;padding:15px 0}.inventory-icon{border-radius:13px;width:42px;height:42px;font-size:20px}.inventory-title{display:grid}.inventory-title .expiry-badge{grid-row:2;width:fit-content}.inventory-actions{margin-left:-53px;padding-top:6px}.inventory-toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.filter-tabs{overflow-x:auto}.filter-tabs button{white-space:nowrap;flex:1}.product-grid,.shopping-grid,.settings-grid{grid-template-columns:1fr}.settings-section.span-2{grid-column:span 1}.product-card{padding:14px}.editor-page{margin-top:-7px}.editor-header{gap:12px}.editor-header h1{font-size:32px}.editor-header p{line-height:1.5}.form-section{border-radius:18px;padding:21px 16px}.form-grid{grid-template-columns:1fr;gap:15px}.span-2{grid-column:span 1}.editor-actions{z-index:10;padding:12px 16px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f4ecf2;margin:0 -16px -26px;position:sticky;bottom:0}.adjustment-overlay{padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:end}.adjustment-dialog{border-radius:20px;max-height:calc(100vh - 24px);padding:20px 16px;overflow-y:auto}.adjustment-form-grid{grid-template-columns:1fr}.adjustment-form-grid .span-2{grid-column:span 1}.date-menu{width:min(330px,100vw - 56px)}.report-toolbar{flex-direction:column;align-items:stretch}.report-toolbar>span{align-self:flex-end}.report-tabs button{flex:1;justify-content:center}.report-summary{grid-template-columns:1fr}.report-summary>div{min-height:72px}.report-head{display:none}.report-list{background:0 0;border:0;gap:9px;display:grid;overflow:visible}.report-row{background:#fff;border:1px solid #e4e5de;border-radius:14px;grid-template-columns:1fr 1fr;gap:12px 15px;padding:15px}.report-row+.report-row{border-top:1px solid #e4e5de}.report-cell{gap:3px;padding:0;display:grid}.report-cell:before{content:attr(data-label);color:#98a09c;font-size:8px;font-weight:700}.report-product,.report-batch{grid-column:span 2}.record-type{margin-left:0;padding:5px 8px}.login-page{background:var(--ink);grid-template-columns:1fr}.login-story{min-height:310px;padding:28px 24px 42px}.story-copy{margin-top:55px}.story-copy h1{font-size:37px}.story-copy p{font-size:12px;line-height:1.6}.story-points{display:none}.login-panel{border-radius:24px 24px 0 0;margin-top:-22px;padding:0 15px 25px}.login-card{box-shadow:none;border:0;border-radius:20px;margin-top:23px;padding:27px 20px}}@media (width<=390px){.page{padding-left:12px;padding-right:12px}.editor-actions{margin-left:-12px;margin-right:-12px}.summary-card small{font-size:10px}.summary-card strong{font-size:29px}.mini-button{padding:0 7px}}
