*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}body{color:#1b2b21;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#f6f7f5;font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}button{font:inherit;color:inherit}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--bg:#f6f7f5;--surface:#fff;--surface-2:#f0f3f0;--ink:#1b2b21;--ink-2:#4c5c52;--ink-3:#77877d;--line:#e4e9e5;--line-soft:#eef2ef;--rail:#064a19;--rail-ink:#fff;--rail-ink-2:#c9dfd1;--rail-hover:#ffffff17;--rail-active:#fbca0429;--brand:#0a783b;--brand-deep:#0b5a2b;--brand-soft:#e3f2e8;--accent:#fbca04;--accent-ink:#0c1710;--accent-soft:#fef3ce;--good-ink:#0b5a2b;--good-bg:#e3f2e8;--warn-ink:#9a3b06;--warn-bg:#fde8d9;--crit-ink:#b02616;--crit-bg:#fbe3e1;--chart:#0a783b;--grid:#e9edea;--alert-low:#e8590c;--alert-crit:#c1272d;--tile-1:#e3f2e8;--tile-1-ink:#0b5a2b;--tile-2:#fef3ce;--tile-2-ink:#8a6a02;--tile-3:#fde8d9;--tile-3-ink:#9a3b06;--tile-4:#e6eef9;--tile-4-ink:#1c4e85;--shadow:0 1px 2px #14281c0d, 0 8px 24px -12px #14281c2e;--radius:14px}.wordmark{font-family:"Baloo 2",Plus Jakarta Sans,sans-serif}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.login-screen{background:radial-gradient(1100px 520px at 12% -12%, #fbca0429, transparent 62%), radial-gradient(900px 480px at 92% 108%, #0a783b8c, transparent 60%), var(--rail);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.login-wrap{width:100%;max-width:392px}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-bottom:22px;display:flex}.login-brand h1{color:#fff;letter-spacing:.4px;margin:0;font-family:"Baloo 2",Plus Jakarta Sans,sans-serif;font-size:38px;font-weight:800;line-height:1.05}.login-tag{color:var(--rail-ink-2);letter-spacing:1.6px;text-transform:uppercase;background:#ffffff1a;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600}.login-card{background:var(--surface);border-radius:18px;padding:30px 28px 26px;box-shadow:0 24px 60px -24px #0000008c}.login-card h2{letter-spacing:-.2px;color:var(--ink);margin:0 0 4px;font-size:19px;font-weight:800}.login-card .sub{color:var(--ink-3);margin:0 0 22px;font-size:13px}.field{margin-bottom:15px}.field label{letter-spacing:.8px;text-transform:uppercase;color:var(--ink-2);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.field input{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.btn-primary{cursor:pointer;background:var(--accent);width:100%;color:var(--accent-ink);letter-spacing:.2px;border:none;border-radius:10px;padding:12px;font-size:14.5px;font-weight:800;transition:filter .15s,transform 50ms}.btn-primary:hover{filter:brightness(.94)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.login-foot{text-align:center;letter-spacing:1.5px;color:var(--ink-3);margin:16px 0 0;font-size:10.5px;font-weight:600}.login-error{background:var(--crit-bg);color:var(--crit-ink);border-radius:9px;margin:0 0 14px;padding:10px 12px;font-size:12.5px;font-weight:600}.app-shell{height:100vh;display:flex;overflow:hidden}.rail{background:var(--rail);width:236px;color:var(--rail-ink);box-sizing:border-box;flex-direction:column;flex:0 0 236px;height:100vh;padding:20px 14px 16px;display:flex;overflow-y:auto}.rail-brand{align-items:center;gap:10px;padding:0 6px 18px;display:flex}.rail-brand .name{letter-spacing:.3px;font-family:"Baloo 2",sans-serif;font-size:20px;font-weight:800;line-height:1}.rail-brand .name small{letter-spacing:1.5px;color:var(--rail-ink-2);margin-top:3px;font-family:Plus Jakarta Sans,sans-serif;font-size:9px;font-weight:600;display:block}.rail-user{background:#ffffff12;border-radius:12px;align-items:center;gap:10px;margin-bottom:16px;padding:11px 10px;display:flex}.avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;flex:0 0 34px;place-items:center;font-size:14px;font-weight:800;display:grid}.rail-user .who{font-size:13px;font-weight:700;line-height:1.2}.rail-user .role{letter-spacing:1.2px;color:var(--accent);margin-top:2px;font-size:9.5px;font-weight:700}.rail-label{letter-spacing:1.4px;color:var(--rail-ink-2);margin:4px 0 8px;padding:0 10px;font-size:9.5px;font-weight:700}.rail-nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-item{text-align:left;width:100%;color:var(--rail-ink-2);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;padding:10px 11px;font-size:13.5px;font-weight:600;transition:background .14s,color .14s;display:flex}.nav-item svg{flex:0 0 18px}.nav-item:hover{background:var(--rail-hover);color:#fff}.nav-item.active{background:var(--rail-active);color:#fff;box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.nav-item .count{background:var(--accent);color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:800}.rail-foot{border-top:1px solid #ffffff1f;margin-top:10px;padding-top:12px}.workspace{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;flex-shrink:0;align-items:center;gap:16px;padding:13px 26px;display:flex;position:sticky;top:0}.search{flex:1;max-width:420px;position:relative}.search svg{color:var(--ink-3);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search input{border:1.5px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:999px;padding:9.5px 13px 9.5px 38px;font-family:inherit;font-size:13.5px}.search input:focus{border-color:var(--brand);background:var(--surface);outline:none}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn .dot{background:var(--alert-low);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.topbar-user{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:9px;padding:4px 10px 4px 4px;display:flex}.topbar-user .avatar{flex:0 0 28px;width:28px;height:28px;font-size:12px}.topbar-user span{font-size:13px;font-weight:700}.page{flex:1;padding:24px 26px 40px}.page-flow{padding:24px 26px 40px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{letter-spacing:-.4px;color:var(--ink);text-wrap:balance;margin:0 0 3px;font-size:23px;font-weight:800}.page-head p{color:var(--ink-3);margin:0;font-size:13.5px}.head-actions{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-left:auto;display:flex}.head-actions .btn-primary{white-space:nowrap;border-radius:11px;flex:none;width:auto;min-height:44px;padding:12px 20px}.pill{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600}.pill:hover{border-color:var(--brand);color:var(--brand)}.pill.on{background:var(--brand-soft);color:var(--brand-deep);border-color:#0000;font-weight:700}.grid-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;margin-bottom:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:16px;margin-bottom:16px;display:grid}.grid-chart{grid-template-columns:minmax(0,1.62fr) minmax(272px,1fr);gap:16px;display:grid}@media (width<=980px){.grid-chart{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.card-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.card-head h2{letter-spacing:-.15px;color:var(--ink);margin:0;font-size:15px;font-weight:800}.badge-soft{letter-spacing:.7px;text-transform:uppercase;background:var(--tile-2);color:var(--tile-2-ink);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:9.5px;font-weight:800}.stat-grid{grid-template-columns:1fr 1fr;gap:16px 12px;display:grid}.stat{align-items:center;gap:12px;min-width:0;display:flex}.tile{border-radius:12px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid}.t1{background:var(--tile-1);color:var(--tile-1-ink)}.t2{background:var(--tile-2);color:var(--tile-2-ink)}.t3{background:var(--tile-3);color:var(--tile-3-ink)}.t4{background:var(--tile-4);color:var(--tile-4-ink)}.stat .label{color:var(--ink-3);font-size:11.5px;font-weight:600;line-height:1.3}.stat .value{letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--ink);margin-top:1px;font-size:21px;font-weight:800;line-height:1.2}.row-list{flex-direction:column;display:flex}.row-item{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.row-item:first-child{padding-top:0}.row-item:last-child{border-bottom:none;padding-bottom:0}.row-item .k{color:var(--ink-2);font-size:13px;font-weight:500}.row-item .v{font-variant-numeric:tabular-nums;letter-spacing:-.3px;color:var(--ink);font-size:16px;font-weight:800}.meter{background:var(--surface-2);border-radius:999px;gap:2px;height:8px;margin:4px 0 12px;display:flex;overflow:hidden}.meter i{height:100%;display:block}.meter-key{flex-wrap:wrap;gap:14px;display:flex}.keyed{color:var(--ink-2);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.swatch{border-radius:3px;flex:0 0 9px;width:9px;height:9px}.cat-list{flex-direction:column;gap:9px;display:flex}.cat{grid-template-columns:78px 1fr 26px;align-items:center;gap:10px;display:grid}.cat .nm{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.cat .bar{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.cat .bar i{background:var(--chart);border-radius:999px;height:100%;display:block}.cat .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:12px;font-weight:800}.alert-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:11px;padding:10px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-row .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.alert-row .qty{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12.5px;font-weight:700}.alert-dot{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.status{letter-spacing:.2px;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3.5px 10px;font-size:11px;font-weight:800;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.s-good{background:var(--good-bg);color:var(--good-ink)}.s-low{background:var(--warn-bg);color:var(--warn-ink)}.s-crit{background:var(--crit-bg);color:var(--crit-ink)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-inv{flex:1;min-width:230px;max-width:340px;position:relative}.search-inv svg{color:var(--ink-3);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-inv input{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:9.5px 12px 9.5px 36px;font-family:inherit;font-size:13.5px}.search-inv input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:6.5px 12px;font-size:12px;font-weight:600}.chip:hover{border-color:var(--brand)}.chip.on{background:var(--brand-soft);color:var(--brand-deep);border-color:#0000;font-weight:700}.cat-tag{color:var(--ink-2);background:var(--surface-2);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:11.5px;font-weight:600}.empty{text-align:center;color:var(--ink-3);padding:40px 18px;font-size:13.5px}.state-box{background:var(--surface);border:1.5px dashed var(--line);border-radius:var(--radius);text-align:center;padding:52px 28px}.state-box h2{color:var(--ink);margin:0 0 6px;font-size:18px;font-weight:800}.state-box p{max-width:44ch;color:var(--ink-3);margin:0 auto;font-size:13.5px}.state-box .mark{background:var(--brand-soft);width:52px;height:52px;color:var(--brand-deep);border-radius:15px;place-items:center;margin:0 auto 16px;display:grid}.card-empty{flex-direction:column;align-items:flex-start;gap:8px;padding:6px 0 2px;display:flex}.card-empty p{color:var(--ink-3);max-width:46ch;margin:0;font-size:12.5px;line-height:1.55}.error-box{background:var(--crit-bg);color:var(--crit-ink);border-radius:var(--radius);padding:16px 18px;font-size:13.5px;font-weight:600}.skeleton{color:var(--ink-3);font-weight:700}.note{background:var(--accent-soft);color:var(--ink-2);border-radius:11px;align-items:flex-start;gap:10px;margin-top:18px;padding:12px 14px;font-size:12.5px;line-height:1.55;display:flex}.note b{color:var(--ink)}.chart-box{position:relative}.chart-scroll{overflow-x:auto}svg.chart{width:100%;min-width:520px;height:auto;display:block}.chart-note{color:var(--ink-3);margin:10px 0 0;font-size:11.5px;font-weight:600}.chart-tip{pointer-events:none;opacity:0;background:var(--ink);color:var(--surface);white-space:nowrap;z-index:5;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:600;transition:opacity .12s;position:absolute;transform:translate(-50%,-125%);box-shadow:0 6px 18px -6px #00000073}.chart-tip.on{opacity:1}.chart-tip b{font-variant-numeric:tabular-nums;font-weight:800}.chart-tip .d{opacity:.75;margin-bottom:1px;font-size:10.5px;font-weight:600;display:block}.s-muted{background:var(--surface-2);color:var(--ink-3)}.cover-cell{justify-content:flex-end;align-items:center;gap:8px;display:flex}.cover-bar{background:var(--surface-2);border-radius:999px;flex:0 0 54px;width:54px;height:6px;overflow:hidden}.cover-bar i{border-radius:999px;height:100%;display:block}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.form-card h2{letter-spacing:-.15px;color:var(--ink);margin:0 0 16px;font-size:15px;font-weight:800}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.form-grid .field{margin-bottom:0}.form-grid .field.wide{grid-column:1/-1}.form-grid select{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px}.form-grid select:focus,.form-grid input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.btn-ghost{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:700}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.btn-danger{background:var(--crit-bg);color:var(--crit-ink);cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}.btn-danger:hover{filter:brightness(.96)}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.btn-row{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700}.btn-row:hover{border-color:var(--brand);color:var(--brand)}.confirm-inline{color:var(--crit-ink);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.banner{border-radius:11px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.banner-good{background:var(--good-bg);color:var(--good-ink)}.banner-bad{background:var(--crit-bg);color:var(--crit-ink)}.banner-warn{background:var(--warn-bg);color:var(--warn-ink)}.banner ul{margin:6px 0 0;padding-left:18px}.adjust-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:22px}.adjust-head{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;display:flex}.adjust-head h2{letter-spacing:-.3px;color:var(--ink);margin:0;font-size:18px;font-weight:800}.adjust-head .fixed-tag{color:var(--ink-3);background:var(--surface-2);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.adjust-head .spacer{margin-left:auto}.stock-now{text-align:right}.stock-now .label{letter-spacing:.6px;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:700}.stock-now .value{letter-spacing:-.6px;font-variant-numeric:tabular-nums;color:var(--ink);font-size:24px;font-weight:800;line-height:1.15}.dir-toggle{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px;display:grid}.dir-btn{border:2px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:16px 12px;font-size:14px;font-weight:800;transition:border-color .14s,background .14s,color .14s;display:flex}.dir-btn .sign{background:var(--surface-2);width:28px;height:28px;color:var(--ink-3);border-radius:50%;place-items:center;font-size:18px;font-weight:800;line-height:1;display:grid}.dir-btn:hover{border-color:var(--ink-3)}.dir-btn.on-in{border-color:var(--brand);background:var(--good-bg);color:var(--good-ink)}.dir-btn.on-in .sign{background:var(--brand);color:#fff}.dir-btn.on-out{border-color:var(--alert-low);background:var(--warn-bg);color:var(--warn-ink)}.dir-btn.on-out .sign{background:var(--alert-low);color:#fff}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:1.5px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:10px;flex:0 0 42px;font-size:20px;font-weight:800;line-height:1}.stepper button:hover{border-color:var(--brand);color:var(--brand)}.stepper input{text-align:center;border:1.5px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:10px;flex:1;padding:11px 8px;font-family:inherit;font-size:16px;font-weight:800}.stepper .unit-suffix{color:var(--ink-3);min-width:46px;font-size:13px;font-weight:700}.preview{background:var(--surface-2);font-variant-numeric:tabular-nums;color:var(--ink);border-radius:11px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;font-size:15px;font-weight:800;display:flex}.preview .arrow{color:var(--ink-3)}.preview .after-up{color:var(--good-ink)}.preview .after-down{color:var(--warn-ink)}.preview .warn{color:var(--crit-ink);font-size:13px;font-weight:700}.subsection{border-top:1px solid var(--line-soft);margin-top:22px;padding-top:18px}.subsection h3{color:var(--ink);margin:0 0 4px;font-size:13px;font-weight:800}.subsection p.hint{color:var(--ink-3);margin:0 0 12px;font-size:12.5px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input{border:1.5px solid var(--line);background:var(--surface);width:120px;color:var(--ink);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px}.inline-form input:focus,.stepper input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.history-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:9px 0;font-size:12.5px;display:flex}.history-row:last-child{border-bottom:none}.history-row .qty{font-variant-numeric:tabular-nums;min-width:62px;font-weight:800}.history-row .qty.up{color:var(--good-ink)}.history-row .qty.down{color:var(--warn-ink)}.history-row .why{color:var(--ink-2);font-weight:600}.history-row .when{color:var(--ink-3);white-space:nowrap;margin-left:auto}.item-avatar{border-radius:9px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:grid}.item-cell{align-items:center;gap:11px;display:flex}.code-cell{color:var(--ink-3);white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}.search-big{flex:1;min-width:240px;max-width:460px;position:relative}.search-big svg{color:var(--ink-3);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-big input{border:1.5px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;padding:12px 14px 12px 42px;font-family:inherit;font-size:14px}.search-big input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.search-clear{background:var(--surface-2);color:var(--ink-2);cursor:pointer;border:none;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search-clear:hover{background:var(--line)}.back-link{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px 8px 10px;font-size:13px;font-weight:700;display:inline-flex}.back-link:hover{border-color:var(--brand);color:var(--brand)}:root{--series-actual:#0a783b;--series-forecast:#3576c9;--series-forecast-soft:#e7effa}.fc-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fc-controls-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:2px;font-size:11px;font-weight:800}.tabs{border-bottom:1.5px solid var(--line);gap:4px;margin:0 0 16px;display:flex}.tab{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-bottom:2.5px solid #0000;align-items:center;gap:7px;margin-bottom:-1.5px;padding:9px 14px 11px;font-size:13.5px;font-weight:700;display:inline-flex;position:relative}.tab:hover{color:var(--ink-2)}.tab.on{color:var(--brand-deep);border-bottom-color:var(--brand)}.tab-badge{background:var(--warn-bg);min-width:18px;height:18px;color:var(--warn-ink);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.fc-tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px;display:grid}.fc-tiles.standalone{margin-bottom:18px}.fc-tile{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.fc-tile .l{color:var(--ink-3);letter-spacing:.01em;font-size:11px;font-weight:700}.fc-tile .v{font-variant-numeric:tabular-nums;color:var(--ink);font-size:21px;font-weight:800;line-height:1.15}.fc-tile .f{color:var(--ink-3);font-size:11px;font-weight:600}.fc-tile.t1{background:var(--tile-1)}.fc-tile.t1 .v{color:var(--tile-1-ink)}.fc-tile.t2{background:var(--tile-2)}.fc-tile.t2 .v{color:var(--tile-2-ink)}.fc-tile.t3{background:var(--tile-3)}.fc-tile.t3 .v{color:var(--tile-3-ink)}.fc-tile.t4{background:var(--tile-4)}.fc-tile.t4 .v{color:var(--tile-4-ink)}.fc-legend{gap:16px;margin-bottom:6px;display:flex}.fc-key{color:var(--ink-2);align-items:center;gap:7px;font-size:11.5px;font-weight:700;display:inline-flex}.chart-tip.wide{white-space:normal;min-width:150px;line-height:1.5}.chart-tip .row{align-items:center;gap:6px;display:flex}.chart-tip .row b{margin-left:auto}.chart-tip .row.muted{opacity:.7;font-weight:600}.chart-tip .sw{border-radius:3px;flex:none;width:9px;height:9px}.chart-tip .sw.a{background:#4fbe7c}.chart-tip .sw.f{background:#7aa9e8}.table-wrap{min-width:0;margin:0 -4px;padding:0 4px;overflow-x:auto}.page>*,.page-flow>*{min-width:0}.fc-table{border-collapse:collapse;width:100%;min-width:820px;font-size:13px}.fc-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1.5px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:10.5px;font-weight:800}.fc-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:11px 10px}.fc-table th.r,.fc-table td.r{text-align:right;font-variant-numeric:tabular-nums}.fc-table tbody tr:not(.expand){cursor:pointer}.fc-table tbody tr:not(.expand):hover{background:var(--surface-2)}.fc-table tr.differs{background:var(--warn-bg)}.fc-table tr.differs:hover{background:#fbdcc7}.fc-table tr.open{background:var(--brand-soft)}.fc-table td i{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:600}.fc-table .sub{color:var(--ink-3);margin-top:1px;font-size:11px;font-weight:600;display:block}.fc-table tr.expand td{background:var(--surface);padding:14px 10px 18px}.differs-cell{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.differs-cell .arrow{color:var(--ink-3);font-weight:800}.sig{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.sig.ok{background:var(--good-bg);color:var(--good-ink)}.sig.low{background:var(--warn-bg);color:var(--warn-ink)}.sig.crit{background:var(--crit-bg);color:var(--crit-ink)}.sig.un{background:var(--surface-2);color:var(--ink-3)}.fc-table .up,.chart-note .up{color:var(--warn-ink);font-weight:800}.fc-table .down,.chart-note .down{color:var(--tile-4-ink);font-weight:800}.card.pad{padding:22px}.card.pad h2{margin:0 0 6px}.card.pad .muted,.card-head .muted{color:var(--ink-3);font-size:12.5px;font-weight:600}.card.pad code{background:var(--surface-2);border-radius:5px;padding:1px 6px;font-size:12px}.link-btn{font:inherit;color:var(--brand);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.ai-note{color:var(--ink-3);margin:0 0 12px;font-size:12px;font-weight:600;line-height:1.55}.ai-summary{color:var(--ink);border-left:3px solid var(--accent);margin:0 0 16px;padding-left:12px;font-size:15px;font-weight:700;line-height:1.5}.rec-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.rec{border:1px solid var(--line);border-left:4px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.rec header{align-items:flex-start;gap:9px;display:flex}.rec h3{color:var(--ink);margin:0;font-size:14.5px;font-weight:800;line-height:1.35}.rec .pri{letter-spacing:.07em;text-transform:uppercase;border-radius:999px;flex:none;margin-top:2px;padding:2px 8px;font-size:9.5px;font-weight:800}.rec-high{border-left-color:var(--crit-ink)}.rec-high .pri{background:var(--crit-bg);color:var(--crit-ink)}.rec-medium{border-left-color:var(--warn-ink)}.rec-medium .pri{background:var(--warn-bg);color:var(--warn-ink)}.rec-low{border-left-color:var(--brand)}.rec-low .pri{background:var(--good-bg);color:var(--good-ink)}.rec .why{color:var(--ink-2);margin:0;font-size:12.5px;font-weight:600;line-height:1.55}.rec .do{color:var(--ink);margin:0;font-size:13px;font-weight:700;line-height:1.5}.rec .ings{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.rec .ing{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:2.5px 8px;font-size:11px;font-weight:700}.rail-branch{background:#ffffff12;border-radius:10px;margin:0 14px 14px;padding:10px 12px}.rail-branch label{letter-spacing:.09em;color:var(--rail-ink-2);margin-bottom:5px;font-size:9.5px;font-weight:800;display:block}.rail-branch select{background:var(--rail);width:100%;color:var(--rail-ink);font:inherit;cursor:pointer;border:1px solid #ffffff2e;border-radius:7px;padding:6px 8px;font-size:12.5px;font-weight:700}.rail-branch-fixed{color:var(--rail-ink);font-size:12.5px;font-weight:700}.inv-search{border:1.5px solid var(--line);background:var(--surface);min-width:180px;font:inherit;color:var(--ink);border-radius:9px;flex:1;padding:9px 12px;font-size:13px}.inv-search:focus{border-color:var(--brand);outline:none}.inv-table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}.inv-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1.5px solid var(--line);white-space:nowrap;padding:9px 10px;font-size:10.5px;font-weight:800}.inv-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 10px}.inv-table th.r,.inv-table td.r{text-align:right;font-variant-numeric:tabular-nums}.inv-table th.a,.inv-table td.a{text-align:right}.inv-table td i{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:600}.inv-table tr.open{background:var(--brand-soft)}.inv-table tr.expand td{background:var(--surface-2);padding:0}.inv-table .sig+.sig{margin-left:5px}.btn-ghost.sm{padding:5px 12px;font-size:12px}.btn-ghost.danger{border-color:var(--crit-bg);color:var(--crit-ink)}.btn-ghost.danger:hover{border-color:var(--crit-ink)}.inv-detail{gap:16px;padding:18px 16px 20px;display:grid}.inv-detail dl{flex-wrap:wrap;gap:22px;margin:0;display:flex}.inv-detail dt{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;font-size:10.5px;font-weight:800}.inv-detail dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:700}.inv-danger{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding-top:14px;display:flex}.inv-danger p{color:var(--ink-2);margin:0;font-size:12.5px;font-weight:600}.adjust{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:12px;gap:20px;max-width:780px;padding:20px;display:grid}.adjust .dir{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:440px;display:grid}.adjust-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.adjust-fields label{gap:8px;min-width:0;display:grid}.adjust-fields label.wide{grid-column:1/-1}.adjust-fields label>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:800}.adjust-fields input,.adjust-fields select{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--ink);border-radius:11px;padding:13px 15px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s}.adjust-fields input[type=number]{font-variant-numeric:tabular-nums;font-weight:800}.adjust-fields input::placeholder{color:var(--ink-3);font-weight:500}.adjust-fields select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2377877d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:11px 7px;padding-right:42px}.adjust-fields input:hover:not(:focus),.adjust-fields select:hover:not(:focus){border-color:var(--ink-3)}.adjust-fields input:focus,.adjust-fields select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.adjust-error{background:var(--crit-bg);color:var(--crit-ink);border-radius:10px;margin:0;padding:12px 14px;font-size:13px;font-weight:700;line-height:1.5}.adjust .btn-primary{border-radius:11px;justify-self:start;width:auto;min-height:48px;padding:13px 26px;font-size:14.5px}@media (width<=640px){.adjust{gap:16px;padding:16px}.adjust .dir{max-width:none}.adjust-fields{grid-template-columns:1fr}.adjust .btn-primary{justify-self:stretch;width:100%}}.ai-read{color:var(--ink-2);margin:0 0 14px;font-size:14px;font-weight:600;line-height:1.65}.rec-grid.tight{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.runout{gap:8px;margin:0;padding:0;list-style:none;display:grid}.runout li{background:var(--surface-2);border-radius:11px;align-items:baseline;gap:12px;padding:11px 14px;display:flex}.runout .days{min-width:46px;color:var(--warn-ink);font-variant-numeric:tabular-nums;flex:none;font-size:17px;font-weight:800}.runout li:first-child .days{color:var(--crit-ink)}.runout .nm{color:var(--ink);font-size:14px;font-weight:700}.runout .qty{color:var(--ink-3);text-align:right;margin-left:auto;font-size:12px;font-weight:600}.topbar-action{margin-right:16px;font-size:12.5px}.pw-note{color:var(--ink-3);margin:0 0 16px;font-size:12px;font-weight:600;line-height:1.6}.pw-sent{background:var(--good-bg);color:var(--good-ink);border-radius:10px;margin-bottom:16px;padding:11px 13px;font-size:12.5px;font-weight:700;line-height:1.5}.code-input{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-weight:800;padding-left:.5em!important;font-size:22px!important}.pw-field{display:block;position:relative}.pw-field input{box-sizing:border-box;width:100%;padding-right:46px}.pw-field input::-ms-reveal{display:none}.pw-field input::-ms-clear{display:none}.pw-eye{width:34px;height:34px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.pw-eye:hover{color:var(--ink);background:var(--surface-2)}.pw-eye:focus-visible{outline:2px solid var(--brand);outline-offset:1px;color:var(--ink)}@media (pointer:coarse){.pw-eye:after{content:"";position:absolute;inset:-6px}}.pw-rules{gap:5px;margin:0 0 12px;padding:0;list-style:none;display:grid}.pw-rules li{color:var(--ink-3);align-items:baseline;gap:8px;font-size:12px;font-weight:600;display:flex}.pw-rules li span{color:var(--ink-3);font-weight:800}.pw-rules li.met,.pw-rules li.met span{color:var(--good-ink)}.pw-resend{margin:12px auto 0;display:block}.field-error{color:var(--crit-ink);margin-top:5px;font-size:11.5px;font-weight:700;display:block}.pw-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.pw-actions .btn-ghost{box-sizing:border-box;white-space:nowrap;border-radius:11px;min-height:42px;padding:10px 20px;font-size:13.5px}.pw-leave{box-sizing:border-box;border-radius:11px;width:100%;min-height:44px;margin-top:12px;font-size:13.5px}.sales-today{box-sizing:border-box;padding:16px 20px}.sales-today strong{color:var(--ink);font-size:15px;font-weight:800;display:block}.adjust-only-in{box-sizing:border-box;background:var(--good-bg);color:var(--good-ink);border-radius:11px;align-items:center;gap:8px;margin:0;padding:12px 14px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.top-range{gap:6px;margin-left:auto;display:flex}.top-range .pill{padding:6px 12px;font-size:11.5px}.top-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.top-row{grid-template-columns:22px minmax(140px,1.4fr) minmax(0,2fr) 64px 96px;align-items:center;gap:12px;min-width:0;display:grid}.top-row .rank{background:var(--surface-2);width:22px;height:22px;color:var(--ink-3);border-radius:999px;place-items:center;font-size:11.5px;font-weight:800;display:grid}.top-row:first-child .rank{background:var(--brand-soft);color:var(--brand-deep)}.top-row .nm{min-width:0;color:var(--ink);gap:1px;font-size:13.5px;font-weight:700;display:grid}.top-row .nm em{color:var(--ink-3);font-size:11px;font-style:normal;font-weight:600}.top-row .bar{background:var(--surface-2);border-radius:999px;min-width:0;height:8px;overflow:hidden}.top-row .bar i{background:var(--brand);border-radius:999px;height:100%;display:block}.top-row:first-child .bar i{background:var(--brand-deep)}.top-row .units{text-align:right;color:var(--ink);white-space:nowrap;gap:0;font-size:14px;font-weight:800;display:grid}.top-row .units em{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10px;font-style:normal;font-weight:700}.top-row .rev{text-align:right;color:var(--ink-2);white-space:nowrap;font-size:13px;font-weight:700}@media (width<=860px){.top-row{grid-template-columns:22px minmax(0,1fr) 64px 90px}.top-row .bar{display:none}}.branch-pick{gap:7px;min-width:0;display:grid}.branch-pick>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:800}.branch-pick select{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);min-width:190px;min-height:44px;color:var(--ink);cursor:pointer;border-radius:11px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:700}.branch-pick select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.grid-1{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}.cmp-strip{grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px;display:grid}.cmp-col{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface-2);border-radius:14px;min-width:0;padding:14px}.cmp-col.leader{border-color:var(--brand);background:var(--brand-soft)}.cmp-head{align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.cmp-head h3{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.cmp-head .lead{border:1.5px solid var(--brand);background:var(--surface);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-deep);border-radius:999px;flex:none;margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:800}.cmp-head .lead.soft{border-color:var(--line);color:var(--ink-3);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.cmp-stats{grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.cmp-stat{min-width:0}.cmp-stat .label{color:var(--ink-3);font-size:11px;font-weight:700}.cmp-stat .value{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;margin-top:2px;font-size:19px;font-weight:800;overflow:hidden}.cmp-share{margin-top:14px}.cmp-share .bar{background:var(--surface);border-radius:999px;height:8px;display:block;overflow:hidden}.cmp-share .bar i{background:var(--brand);border-radius:999px;height:100%;display:block}.cmp-col.leader .cmp-share .bar i{background:var(--brand-deep)}.cmp-share .cap{color:var(--ink-3);margin-top:6px;font-size:11px;font-weight:600}.cmp-top{gap:11px;margin:0;padding:0;list-style:none;display:grid}.cmp-top li{grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;display:grid}.cmp-top .rank{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);width:20px;height:20px;color:var(--ink-3);border-radius:7px;place-items:center;font-size:11px;font-weight:800;display:grid}.cmp-top .nm{gap:5px;min-width:0;display:grid}.cmp-top .nm b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.cmp-top .nm .bar{background:var(--surface);border-radius:999px;height:6px;display:block;overflow:hidden}.cmp-top .nm .bar i{background:var(--brand);border-radius:999px;height:100%;display:block}.cmp-top li:first-child .nm .bar i{background:var(--brand-deep)}.cmp-top .u{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px;font-weight:800}.cmp-top .u em{color:var(--ink-3);font-size:10px;font-style:normal;font-weight:600;display:block}.cmp-col .empty{margin:6px 0 2px}svg.chart.compact{min-width:0}.inv-attention{border-color:var(--warn-ink)}.attn-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.attn-row{grid-template-columns:74px minmax(0,1fr) 110px 110px;align-items:center;gap:12px;min-width:0;display:grid}.attn-row .sig{text-align:center;white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:10.5px;font-weight:800;display:inline-block}.attn-row .sig.crit{background:var(--crit-bg);color:var(--crit-ink)}.attn-row .sig.low{background:var(--warn-bg);color:var(--warn-ink)}.attn-row .nm{color:var(--ink);min-width:0;font-size:14px;font-weight:700}.attn-row .have{text-align:right;color:var(--ink);white-space:nowrap;font-size:14px;font-weight:800}.attn-row .have em{color:var(--ink-3);margin-left:5px;font-size:11.5px;font-style:normal;font-weight:600}.attn-row .need{text-align:right;color:var(--warn-ink);white-space:nowrap;font-size:12.5px;font-weight:800}@media (width<=760px){.attn-row{grid-template-columns:74px minmax(0,1fr) auto}.attn-row .need{text-align:left;grid-column:2/-1}}@supports (height:100dvh){.app-shell,.rail{height:100dvh}}.rail-scrim,.topbar-menu{display:none}.rail-close{box-sizing:border-box;width:38px;height:38px;color:var(--rail-ink);cursor:pointer;background:#ffffff14;border:0;border-radius:10px;flex:0 0 38px;place-items:center;margin-left:auto;display:none}.topbar-menu{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:11px;flex:0 0 42px;place-items:center}.topbar-menu:active{background:var(--surface-2)}@media (width<=1024px){.rail{z-index:60;visibility:hidden;flex:none;width:min(300px,86vw);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.rail.open{visibility:visible;transition:transform .22s,visibility;transform:translate(0);box-shadow:0 0 48px #0000006b}.rail-close{display:grid}.rail-scrim{z-index:55;opacity:0;pointer-events:none;background:#0c1c1070;border:0;padding:0;transition:opacity .22s;display:block;position:fixed;inset:0}.app-shell.nav-open .rail-scrim{opacity:1;pointer-events:auto}.topbar-menu{display:inline-grid}}@media (prefers-reduced-motion:reduce){.rail,.rail-scrim{transition:none}}@media (width<=700px){.page,.page-flow{min-width:0;padding:16px 14px 32px}.topbar{gap:10px;padding:10px 14px}.page-head{margin-bottom:16px}.page-head h1{font-size:20px}.card{padding:15px 14px}.grid-2,.grid-3{gap:12px}.pill,.chip,.top-range .pill{min-height:40px}.head-actions{flex-wrap:wrap;width:100%}.topbar-user span{display:none}}.pos,.pos *,.pos :before,.pos :after{box-sizing:border-box}.pos{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:16px;height:calc(100vh - 150px);min-height:520px;display:grid}.pos-main{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-width:0;min-height:0;display:grid}.pos-search{align-items:center;gap:10px;display:flex}.pos-search input{border:1.5px solid var(--line);background:var(--surface);min-width:0;min-height:46px;color:var(--ink);border-radius:11px;flex:1;padding:12px 15px;font-family:inherit;font-size:15px;font-weight:600;transition:border-color .15s,box-shadow .15s}.pos-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.pos-clear-search{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:11px 16px;font-family:inherit;font-size:13px;font-weight:700}.pos-clear-search:hover{border-color:var(--ink-3)}.pos-grid-wrap{min-height:0;padding-right:4px;overflow:hidden auto}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:10px;display:grid}.pos-tile{text-align:left;cursor:pointer;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:space-between;gap:8px;min-height:92px;padding:12px 13px;font-family:inherit;transition:transform 80ms,box-shadow .14s,border-color .14s;display:flex}.pos-tile:hover{border-color:currentColor}.pos-tile:active{transform:scale(.975)}.pos-tile .t-name{letter-spacing:-.1px;font-size:13.5px;font-weight:800;line-height:1.3}.pos-tile .t-price{font-variant-numeric:tabular-nums;opacity:.78;font-size:13px;font-weight:700}.pos-tile.tone-0{background:var(--surface-2);color:var(--ink)}.pos-tile.tone-1{background:var(--brand-soft);color:var(--brand-deep)}.pos-tile.tone-2{background:var(--tile-2);color:var(--tile-2-ink)}.pos-tile.tone-3{background:var(--tile-4);color:var(--tile-4-ink)}.pos-tile.tone-4{background:var(--tile-3);color:var(--tile-3-ink)}.pos-tile.tone-5{background:var(--crit-bg);color:var(--crit-ink)}.pos-tile.tone-6{background:var(--surface-2);color:var(--ink-2)}.pos-tile.tone-7{background:var(--good-bg);color:var(--good-ink)}.pos-tile.tone-8{background:var(--line-soft);color:var(--ink-2)}.pos-tabs{border-top:1px solid var(--line);scrollbar-width:thin;gap:8px;padding:10px 2px 2px;display:flex;overflow-x:auto}.pos-tab{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:11px 16px;font-family:inherit;font-size:13px;font-weight:800}.pos-tab:hover{border-color:var(--ink-3)}.pos-tab.on{background:var(--rail);border-color:var(--rail);color:var(--rail-ink)}.pos-ticket{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;min-width:0;min-height:0;padding:16px;display:grid}.tk-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tk-head h2{letter-spacing:-.2px;color:var(--ink);margin:0;font-size:16px;font-weight:800}.tk-clear{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-3);cursor:pointer;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:700}.tk-clear:hover{border-color:var(--crit-ink);color:var(--crit-ink)}.tk-type{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tk-type-btn{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:10px;padding:11px 10px;font-family:inherit;font-size:13px;font-weight:800}.tk-type-btn.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep)}.tk-lines{align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.tk-empty{color:var(--ink-3);text-align:center;margin:0;padding:20px 4px;font-size:13px;font-weight:600}.tk-line{background:var(--surface-2);border-radius:10px;gap:8px;padding:10px 11px;display:grid}.tk-line-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tk-name{color:var(--ink);font-size:13px;font-weight:800;line-height:1.35}.tk-pasta{color:var(--brand-deep);font-style:normal;font-weight:700}.tk-x{width:22px;height:22px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;font-family:inherit;font-size:17px;line-height:1}.tk-x:hover{background:var(--crit-bg);color:var(--crit-ink)}.tk-line-bottom{justify-content:space-between;align-items:center;gap:10px;display:flex}.tk-step{align-items:center;gap:6px;display:flex}.tk-step button{border:1.5px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:8px;flex:0 0 32px;font-family:inherit;font-size:17px;font-weight:800;line-height:1}.tk-step button:hover{border-color:var(--brand);color:var(--brand)}.tk-qty{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;color:var(--ink);font-size:14px;font-weight:800}.tk-money{font-variant-numeric:tabular-nums;color:var(--ink);font-size:13.5px;font-weight:800}.tk-boxes{background:var(--accent-soft);border-radius:10px;gap:8px;padding:11px 12px;display:grid}.tk-boxes-label{letter-spacing:.07em;text-transform:uppercase;color:var(--tile-2-ink);font-size:10.5px;font-weight:800}.tk-box-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.tk-box-name{color:var(--ink);font-size:13px;font-weight:700}.tk-foot{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.tk-total{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.tk-total span{color:var(--ink-3);font-size:12px;font-weight:700}.tk-total b{letter-spacing:-.6px;font-variant-numeric:tabular-nums;color:var(--ink);font-size:24px;font-weight:800}.tk-charge{background:var(--accent);width:100%;min-height:52px;color:var(--accent-ink);cursor:pointer;border:none;border-radius:12px;padding:14px;font-family:inherit;font-size:15px;font-weight:800}.tk-charge:hover:not(:disabled){filter:brightness(.94)}.tk-charge:active:not(:disabled){transform:translateY(1px)}.tk-charge:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.tk-hint{color:var(--ink-3);text-align:center;margin:0;font-size:11.5px;font-weight:600;line-height:1.5}.pos-note{color:var(--ink-3);text-align:center;margin:0;padding:26px 4px;font-size:13.5px;font-weight:600}.pos-note-bad{color:var(--crit-ink)}.pos-dialog-back{z-index:60;background:#14281c6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.pos-dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow);gap:14px;padding:22px;display:grid}.pos-dialog h3{letter-spacing:-.3px;color:var(--ink);margin:0;font-size:18px;font-weight:800}.pos-dialog-sub{color:var(--ink-3);margin:-8px 0 0;font-size:13px;font-weight:700}.pos-dialog-opts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.pos-dialog-opt{border:2px solid var(--line);background:var(--surface);min-height:62px;color:var(--ink);cursor:pointer;border-radius:12px;padding:14px 10px;font-family:inherit;font-size:14px;font-weight:800}.pos-dialog-opt:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep)}.pos-dialog-cancel{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;justify-self:center;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:700}@supports (height:100dvh){.pos{height:calc(100dvh - 150px)}}@media (width<=1100px){.pos{grid-template-columns:minmax(0,1fr) 300px;gap:12px}}@media (pointer:coarse){.tk-step button{flex:0 0 40px;width:40px;height:40px}.tk-x{min-width:36px;min-height:36px}}@media (width<=720px){.pos{grid-template-columns:1fr;height:auto;min-height:0;padding-bottom:112px}.pos-main{grid-template-rows:auto auto auto}.pos-search{order:1}.pos-tabs{border-top:0;border-bottom:1px solid var(--line);order:2;padding:2px 2px 10px}.pos-grid-wrap{order:3;overflow:visible}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.pos-tile{min-height:84px}.pos-ticket{grid-template-rows:auto auto auto auto auto}.pos-lines{overflow:visible}}@media (height<=620px) and (pointer:coarse){.pos{height:auto;min-height:0;padding-bottom:104px}.pos-grid-wrap,.pos-lines{overflow:visible}}@media (width<=720px),(height<=620px) and (pointer:coarse){.pos{flex:none}.tk-foot{z-index:30;max-height:42vh;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px -14px #00000073}}.pos-result{cursor:pointer;border-radius:10px;padding:11px 13px;font-size:12.5px;font-weight:700;line-height:1.5}.pos-result.ok{background:var(--good-bg);color:var(--good-ink)}.pos-result.bad{background:var(--crit-bg);color:var(--crit-ink)}.pos-short{margin:8px 0 0;padding-left:18px;font-size:11.5px;font-weight:600}.t-stock{letter-spacing:.02em;opacity:.75;font-size:11px;font-weight:800}.t-stock.none{opacity:1;color:var(--crit-ink)}.pos-tile.is-out{opacity:.45;cursor:not-allowed;filter:saturate(.4)}.pos-tile.is-out:hover{transform:none}.accounts,.accounts *,.accounts :before,.accounts :after{box-sizing:border-box}.accounts{gap:16px;display:grid}.acc-add{white-space:nowrap;border-radius:11px;width:auto;min-height:44px;padding:12px 20px;font-size:14px}.acc-reveal{background:var(--accent-soft);border:2px solid var(--accent);border-radius:var(--radius);gap:10px;padding:16px 18px;display:grid}.acc-reveal-head{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.acc-reveal-head button{border:1.5px solid var(--tile-2-ink);color:var(--tile-2-ink);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:800}.acc-reveal code{letter-spacing:.04em;color:var(--ink);background:var(--surface);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:10px;padding:12px 16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:22px;font-weight:700}.acc-reveal p{color:var(--tile-2-ink);margin:0;font-size:12.5px;font-weight:600;line-height:1.55}.acc-form{gap:18px;padding:20px;display:grid}.acc-form h2{letter-spacing:-.2px;color:var(--ink);margin:0;font-size:16px;font-weight:800}.acc-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.acc-fields label{gap:8px;min-width:0;display:grid}.acc-fields label>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:800}.acc-fields input,.acc-fields select{border:1.5px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:46px;color:var(--ink);border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14.5px;font-weight:600;transition:border-color .15s,box-shadow .15s}.acc-fields input:focus,.acc-fields select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.acc-fields select:disabled{background:var(--surface-2);color:var(--ink-3);cursor:not-allowed}.acc-pw{gap:8px;display:flex}.acc-pw input{flex:1;min-width:0;font-family:SFMono-Regular,Consolas,monospace}.acc-pw button{border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:11px;flex:none;padding:0 14px;font-family:inherit;font-size:12.5px;font-weight:700}.acc-pw button:hover{border-color:var(--brand);color:var(--brand)}.acc-roles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.acc-role{border:2px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:13px 14px;font-family:inherit;display:grid}.acc-role b{color:var(--ink);font-size:14px;font-weight:800}.acc-role em{color:var(--ink-3);font-size:11.5px;font-style:normal;font-weight:600;line-height:1.45}.acc-role:hover{border-color:var(--ink-3)}.acc-role.on{border-color:var(--brand);background:var(--brand-soft)}.acc-role.on b,.acc-role.on em{color:var(--brand-deep)}.acc-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.acc-actions .btn-primary{border-radius:11px;width:auto;min-height:46px;padding:12px 24px}.acc-table{border-collapse:collapse;width:100%}.acc-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 10px;font-size:10.5px;font-weight:800}.acc-table td{color:var(--ink);border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:12px 10px;font-size:13.5px}.acc-table th.a,.acc-table td.a{text-align:right}.acc-table td.a{white-space:normal}.acc-table td.a .btn-ghost.sm{margin-top:3px;margin-bottom:3px}.acc-email{color:var(--ink-2);word-break:normal;overflow-wrap:anywhere;min-width:15rem;font-size:13px}.acc-table select{border:1.5px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:700}.acc-table select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.acc-all{color:var(--ink-3);font-size:12.5px;font-weight:700}.acc-table .sig{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.acc-table .sig.ok{background:var(--good-bg);color:var(--good-ink)}.acc-table .sig.wait{background:var(--warn-bg);color:var(--warn-ink)}.acc-table .btn-ghost.sm+.btn-ghost.sm{margin-left:6px}@media (width<=860px){.acc-fields,.acc-roles{grid-template-columns:1fr}.acc-table td.a{text-align:left}}.acc-fullname{color:var(--ink-3);margin-top:2px;font-size:11.5px;font-weight:600;display:block}.acc-table .sig.off{background:var(--crit-bg);color:var(--crit-ink)}.acc-name{text-align:left;cursor:text;background:0 0;border:none;border-radius:7px;width:100%;margin:-2px -4px;padding:2px 4px;font-family:inherit;display:block}.acc-name:hover{background:var(--surface-2);outline:1px dashed var(--line)}.acc-name b{color:var(--ink);font-size:13.5px}.acc-rename{gap:6px;min-width:190px;display:grid}.acc-rename input{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);width:100%;min-height:34px;color:var(--ink);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600}.acc-rename input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.acc-rename-actions{gap:6px;display:flex}.acc-table th:first-child,.acc-table td:first-child,.acc-table th:nth-child(2),.acc-table td:nth-child(2),.acc-table th:nth-child(3),.acc-table td:nth-child(3),.acc-table th:nth-child(4),.acc-table td:nth-child(4),.acc-table th:nth-child(5),.acc-table td:nth-child(5){width:1%}.acc-table td:first-child,.acc-table th:nth-child(3),.acc-table td:nth-child(3),.acc-table th:nth-child(4),.acc-table td:nth-child(4),.acc-table th:nth-child(5),.acc-table td:nth-child(5){white-space:nowrap}.acc-table th:nth-child(6),.acc-table td:nth-child(6){width:auto}.acc-table td:first-child .acc-rename{white-space:normal}.sales,.sales *,.sales :before,.sales :after{box-sizing:border-box}.sales{gap:16px;display:grid}.sales-controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 20px;display:flex}.sales-range{flex-wrap:wrap;gap:14px;display:flex}.sales-range label{gap:7px;min-width:0;display:grid}.sales-range label>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:800}.sales-range input{border:1.5px solid var(--line);background:var(--surface);min-width:170px;min-height:44px;color:var(--ink);border-radius:11px;padding:11px 14px;font-family:inherit;font-size:14px;font-weight:600}.sales-range input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.sales-presets{flex-wrap:wrap;gap:8px;display:flex}.sales-presets button{border:1.5px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:9px 16px;font-family:inherit;font-size:12.5px;font-weight:700;transition:border-color .15s,color .15s}.sales-presets button:hover{border-color:var(--brand);color:var(--brand)}.sales-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.sales-tile{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);gap:6px;min-width:0;padding:18px 20px;display:grid}.sales-tile span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:800}.sales-tile strong{letter-spacing:-.5px;color:var(--ink);word-break:break-word;font-size:26px;font-weight:800}.sales-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.sale{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.sale.open{border-color:var(--brand)}.sale-head{text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:minmax(130px,auto) minmax(0,1fr) auto auto 26px;align-items:center;gap:14px;width:100%;padding:13px 16px;font-family:inherit;display:grid}.sale-head:hover{background:var(--surface-2)}.sale-when{gap:2px;min-width:0;display:grid}.sale-when b{color:var(--ink);font-size:15px;font-weight:800}.sale-when em{color:var(--ink-3);font-size:11.5px;font-style:normal;font-weight:600}.sale-tags{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.sale-no,.sale-type,.sale-branch{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.sale-no{background:var(--surface-2);color:var(--ink-3)}.sale-type{background:var(--brand-soft);color:var(--brand-deep)}.sale-branch{background:var(--tile-3);color:var(--tile-3-ink)}.sale-count{color:var(--ink-3);white-space:nowrap;font-size:12.5px;font-weight:700}.sale-total{color:var(--ink);white-space:nowrap;font-size:16px;font-weight:800}.sale-chevron{color:var(--ink-3);text-align:center;font-size:18px;font-weight:800}.sale-lines{border-top:1px solid var(--line-soft);background:var(--surface-2);padding:4px 16px 14px}.sale-lines table{border-collapse:collapse;width:100%}.sale-lines th{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px;font-size:10.5px;font-weight:800}.sale-lines th.l-name{text-align:left}.sale-lines td{color:var(--ink);border-bottom:1px solid var(--line-soft);vertical-align:top;padding:9px 8px;font-size:13.5px}.sale-lines tr:last-child td{border-bottom:none}.l-qty{width:48px;color:var(--ink-2);white-space:nowrap;font-weight:800}.l-name{font-weight:600}.l-name em{color:var(--brand-deep);font-style:normal;font-weight:700}.l-unit{text-align:right;width:110px;color:var(--ink-3);white-space:nowrap;font-weight:600}.l-total{text-align:right;white-space:nowrap;width:120px;font-weight:800}.sales-pager{border-top:1px solid var(--line-soft);justify-content:center;align-items:center;gap:16px;margin-top:14px;padding-top:16px;display:flex}.sales-pager span{color:var(--ink-3);white-space:nowrap;font-size:12.5px;font-weight:700}.sales-pager button{border:1.5px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink-2);cursor:pointer;border-radius:11px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:700}.sales-pager button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.sales-pager button:disabled{opacity:.45;cursor:not-allowed}@media (width<=900px){.sales-totals{grid-template-columns:1fr}.sale-head{grid-template-columns:1fr auto;gap:8px 12px}.sale-tags,.sale-count{grid-column:1/-1}.sale-lines .l-unit{display:none}}.sale.voided .sale-when b,.sale.voided .sale-total{color:var(--ink-3);text-decoration:line-through}.sale.voided{border-color:var(--line);background:var(--surface-2)}.sale-void{background:var(--crit-bg);color:var(--crit-ink);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.sale-void-note{color:var(--crit-ink);margin:10px 0 0;font-size:12.5px;font-weight:600;line-height:1.5}.sale-actions{gap:8px;padding-top:12px;display:flex}.sale-void-confirm{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;margin-top:12px;padding:14px;display:grid}.sale-void-confirm label{gap:6px;display:grid}.sale-void-confirm label>span{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:800}.sale-void-confirm select,.sale-void-confirm input{box-sizing:border-box;border:1.5px solid var(--line);background:var(--surface);width:100%;min-height:42px;color:var(--ink);border-radius:10px;padding:10px 13px;font-family:inherit;font-size:14px;font-weight:600}.sale-void-confirm select{cursor:pointer}.sale-void-confirm select:focus,.sale-void-confirm input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.sale-void-confirm p{color:var(--ink-3);margin:0;font-size:12.5px;font-weight:600;line-height:1.55}.btn-ghost.sm.danger{border-color:var(--crit-ink);color:var(--crit-ink)}
