:root{--font-app:Inter, Geist, system-ui, sans-serif;--font-display:var(--font-app);--primary:#10475d;--primary-deep:#0a2e3d;--accent:#f5a524;--accent-2:#e78f1a;--cream:#f6fbfc;--cream-2:#fbf6ec;--muted:#5b7a86;--border:#e2e8ec;--good:#0f7a4a;--warn:#c04a38;--pending:#f5a524;--bg:#f1f5f7;--surface:#fff;--surface-2:#fafcfd;--ink:#0a2e3d;--ink-soft:#5b7a86}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--primary);font-family:var(--font-app);min-height:100vh}[style*=Fraunces],[style*=font-family\:Fraunces],[style*="font-family:'Fraunces'"],[style*=font-family\:\"Fraunces\"]{font-family:var(--font-app)!important}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}input,select{font:inherit;color:inherit}.app{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0a2e3d;border-right:1px solid #ffffff0f;flex-direction:column;gap:6px;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.sidebar .brand{align-items:center;gap:12px;padding:0 8px 22px;display:flex}.sidebar .brand .logo{color:#10475d;background:#f5a524;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;font-weight:800;display:flex}.sidebar .brand .name{font-size:15px;font-weight:700}.sidebar .brand .role{letter-spacing:.18em;text-transform:uppercase;color:#f5a524;font-size:11px}.sidebar .nav-link{color:#ffffffc7;cursor:pointer;border-radius:9px;align-items:center;gap:12px;padding:11px 12px;font-size:14px;font-weight:500;display:flex;position:relative}.sidebar .nav-link:hover{color:#fff;background:#ffffff0f}.sidebar .nav-link.active{color:#fff;background:#f5a52429}.sidebar .nav-link.active:before{content:"";background:#f5a524;border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar .nav-link svg{flex-shrink:0;width:18px;height:18px}.sidebar .group-label{letter-spacing:.18em;text-transform:uppercase;color:#ffffff73;padding:18px 12px 6px;font-size:10.5px;font-weight:700}.main{max-width:1400px;padding:28px 36px}.page-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.page-title{font-family:var(--font-app);letter-spacing:0;color:var(--primary-deep);font-size:34px;font-weight:700}.page-sub{color:var(--muted);margin-top:4px;font-size:13px}.head-actions{align-items:center;gap:10px;display:flex}.card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:22px}.card+.card{margin-top:18px}.card h2{font-family:var(--font-app);color:var(--primary-deep);margin-bottom:14px;font-size:20px;font-weight:700}.card .hint{color:var(--muted);margin-top:-6px;margin-bottom:14px;font-size:12.5px}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.kpi{border:1px solid var(--border);background:#fff;border-radius:12px;padding:16px}.kpi .lbl{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.kpi .val{font-family:var(--font-app);color:var(--primary-deep);margin-top:6px;font-size:28px;font-weight:700}.kpi .sub{color:var(--muted);margin-top:4px;font-size:12px}.kpi.warn .val{color:var(--warn)}.kpi.good .val{color:var(--good)}table.stock{border-collapse:collapse;width:100%}table.stock th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 12px;font-size:11px;font-weight:600}table.stock td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px;font-size:14px}table.stock tr:hover td{background:#fafcfd}table.stock td .sku{color:var(--muted);font-family:ui-monospace,monospace;font-size:12px}table.stock td.right{text-align:right}table.stock td.bagcell{font-size:16px;font-weight:700}table.stock td.bagcell.low{color:var(--warn)}table.stock td.bagcell.zero{color:var(--warn);font-weight:800}.qty-pill{background:var(--cream-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.qty-pill.low,.qty-pill.warn{color:#b45309;background:#fef3c7}.qty-pill.zero{color:var(--warn);background:#fce6e2;font-weight:700}.qty-pill.good{color:var(--good);background:#ddf1e6}.stock-ctrl{align-items:center;gap:6px;display:inline-flex}.stock-ctrl .stockbtn{background:var(--cream-2);width:30px;height:30px;color:var(--primary-deep);border-radius:8px;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.stock-ctrl .stockbtn:hover{background:var(--accent);color:#0e1e26}.stock-ctrl .stockbtn.minus:hover{background:var(--warn)}.stock-ctrl input{border:1px solid var(--border);text-align:center;width:64px;height:30px;color:var(--primary-deep);background:#fff;border-radius:8px;padding:0 8px;font-weight:700}.btn{cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#0e1e26}.btn-primary:hover{background:var(--accent-2)}.btn-ghost{color:var(--primary-deep);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:#f5f8fa}.btn-danger{color:var(--warn);background:#fbe9e5}.btn-danger:hover{background:var(--warn);color:#fff}.btn-sm{padding:7px 11px;font-size:12.5px}.modal-bg{z-index:9991;opacity:0;pointer-events:none;background:#0a2e3d8c;justify-content:center;align-items:center;padding:14px;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-bg.open{opacity:1;pointer-events:auto}.modal{background:var(--surface);color:var(--ink);border-radius:14px;width:min(520px,92vw);padding:28px;box-shadow:0 24px 60px -10px #0a2e3d66}.modal h3{font-family:var(--font-app);color:var(--primary-deep);margin-bottom:16px;font-size:22px;font-weight:700}.modal p{color:var(--ink)}.modal .hint{color:var(--muted)}.modal label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.modal.receive-modal{width:min(680px,94vw);max-height:88vh;padding:22px;overflow:auto}.modal.receive-modal h3{margin:0 0 6px}.modal.receive-modal>.hint{margin:0 0 14px;display:block}.modal.receive-modal .rc-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.modal.receive-modal .rc-note-row{margin-bottom:14px;display:block}.modal.receive-modal .rc-add{margin-top:8px}.modal.receive-modal .rc-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;display:flex}.modal.receive-modal .rc-foot-actions{gap:8px;display:flex}.modal.receive-modal .rc-line{grid-template-columns:1fr 110px 36px;align-items:end;gap:8px;margin-bottom:8px;display:grid}.modal.receive-modal .rc-line label{margin-bottom:0}.modal.receive-modal .rc-line .rc-del{height:42px;padding:0}.modal input,.modal select,.modal textarea{border:1.5px solid var(--border);width:100%;color:var(--primary-deep);background:#fff;border-radius:9px;margin-bottom:14px;padding:11px 13px;font-size:14px;font-weight:500}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent);outline:none}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.audit-list{max-height:540px;overflow-y:auto}.audit-row{border-bottom:1px dashed var(--border);align-items:center;gap:12px;padding:11px 0;display:flex}.audit-row:last-child{border-bottom:0}.audit-row.reverted{opacity:.45}.audit-row.reverted .audit-label{text-decoration:line-through}.audit-time{color:var(--muted);white-space:nowrap;font-family:ui-monospace,monospace;font-size:11px}.audit-kind{background:var(--cream-2);color:var(--primary-deep);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:700}.audit-kind.k-stock{color:#7a4400;background:#ffe9c2}.audit-kind.k-product{color:#1f3a77;background:#e2eaf7}.audit-kind.k-order{color:#0f7a4a;background:#ddf1e6}.audit-kind.k-tier,.audit-kind.k-pricing{color:#7a1b6f;background:#f5e2f4}.audit-kind.k-meta{color:#666;background:#eee}.audit-label{flex:1;font-size:13px}.audit-revert{color:var(--warn);cursor:pointer;background:#fbe9e5;border-radius:7px;padding:5px 10px;font-size:11.5px;font-weight:700}.audit-revert:hover{background:var(--warn);color:#fff}.audit-revert[disabled]{opacity:.4;pointer-events:none}.revert-bar{background:var(--cream-2);border-radius:10px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:14px;display:flex}.revert-bar select,.revert-bar input{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 10px;font-size:13px}.search-row{align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-row input{border:1px solid var(--border);background:#fff;border-radius:9px;flex:1;padding:10px 14px}.search-row select{border:1px solid var(--border);background:#fff;border-radius:9px;padding:10px 12px}.toast{background:var(--primary-deep);color:#fff;z-index:300;opacity:0;border-radius:10px;padding:14px 22px;font-weight:600;transition:all .2s;position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 8px 32px -4px #0a2e3d4d}.toast.show{opacity:1;transform:translateY(0)}.toast.warn{background:var(--warn)}.toast.good{background:var(--good)}.ff-tabs{background:var(--cream-2);border-radius:12px;gap:8px;max-width:100%;margin-bottom:18px;padding:6px;display:flex}.ff-tab{cursor:pointer;min-height:44px;font:inherit;color:var(--ink-soft);background:0 0;border:0;border-radius:9px;flex:1;padding:10px 14px;font-weight:600}.ff-tab.active{background:var(--surface);color:var(--primary-deep);box-shadow:0 2px 6px #0a2e3d14}.ff-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ff-row{background:var(--cream-2);border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:14px 16px;transition:transform .12s,border-color .12s;display:flex}.ff-row:hover{border-color:var(--accent)}.ff-row:active{transform:scale(.99)}.ff-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ff-row-main strong{color:var(--ink);font-size:15px}.ff-row-sub{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ff-row-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.ff-row-prog{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:12px}.ff-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.ff-pill-new{color:#a66200;background:#f5a52429}.ff-pill-active{color:#1f6e48;background:#1f6e4829}html[data-theme=dark] .ff-pill-new{color:#f5a524;background:#f5a5242e}html[data-theme=dark] .ff-pill-active{color:#5dc795;background:#5dc79533}.ff-detail-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.ff-detail-head h2{flex:1;min-width:0;margin:0}.ff-lines{flex-direction:column;gap:8px;margin:18px 0;padding:0;list-style:none;display:flex}.ff-line{background:var(--cream-2);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:14px 16px;display:flex}.ff-line-done{opacity:.55;background:#1f6e481a;border-color:#1f6e484d}.ff-line-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ff-line-main strong{color:var(--ink);font-size:14px}.ff-line-sub{color:var(--ink-soft);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px}.ff-line-counter{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.ff-line-progress{font-variant-numeric:tabular-nums;color:var(--primary-deep);font-size:15px;font-weight:700}.ff-line-entry{align-items:center;gap:6px;display:flex}.ff-line-entry input{border:1px solid var(--border);background:var(--surface);width:74px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;border-radius:9px;min-height:44px;padding:9px 10px;font-size:16px}.ff-line-entry input:focus{border-color:var(--accent);outline:none}@media (width<=720px){.ff-line{flex-direction:column;align-items:stretch;gap:10px}.ff-line-counter{justify-content:space-between;width:100%}}.ff-action-bar{flex-direction:column;gap:10px;margin:18px 0 6px;display:flex}.ff-action-bar .btn{width:100%;min-height:54px;font-size:15px}.ff-field{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.ff-field input{border:1px solid var(--border);background:var(--cream-2);color:var(--ink);border-radius:9px;min-height:48px;padding:12px 14px;font-size:16px}.ff-toast{background:var(--primary-deep);color:#fff;z-index:400;opacity:0;text-align:center;border-radius:12px;max-width:calc(100vw - 32px);padding:14px 22px;font-weight:600;transition:all .22s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);box-shadow:0 12px 36px -8px #0a2e3d66}.ff-toast.show{opacity:1;transform:translate(-50%)}@media (width<=720px){.ff-tab{padding:10px 6px;font-size:13px}.ff-row{padding:12px 14px}.ff-action-bar .btn{min-height:56px}}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{flex-flow:wrap;height:auto;padding:14px;position:relative}.kpis{grid-template-columns:repeat(2,1fr)}.main{padding:18px}}@media (width<=720px){.app,.main,.card{min-width:0}.main{padding:64px 12px calc(80px + env(safe-area-inset-bottom,0px))!important}.page-head{flex-direction:column;align-items:flex-start;gap:10px}.page-head .head-actions{flex-wrap:wrap;gap:8px;width:100%;display:flex}.page-head .head-actions .btn{flex:1;min-width:0}.kpis{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.card{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.search-row{flex-direction:column;align-items:stretch}.search-row>*{width:100%}.modal.receive-modal .rc-grid{grid-template-columns:1fr}.modal.receive-modal .rc-line{grid-template-columns:1fr 80px 36px;gap:6px}.btn,.btn.btn-sm,.btn.btn-ghost{min-height:44px}#nm-theme-fab{min-width:44px;min-height:44px;justify-content:center!important;gap:0!important;padding:10px!important}#nm-theme-fab-label{display:none!important}#nm-notif-bell>button{min-width:44px;min-height:44px}}html[data-theme=dark]{--primary:#e5edef;--primary-deep:#f1f6f8;--accent:#f5a524;--accent-2:#e78f1a;--cream:#1a2329;--cream-2:#1f2a30;--muted:#8fa7b0;--border:#2a3a41;--good:#5dc795;--warn:#e58270;--pending:#f5a524;--surface:#19242b;--surface-2:#15252e;--ink:#e5edef;--ink-soft:#8fa7b0;--bg:#0d1419}html[data-theme=dark] body{background:var(--bg);color:var(--primary)}html[data-theme=dark] .sidebar{background:#08161e;border-right-color:#ffffff0d}html[data-theme=dark] .card{border-color:var(--border);background:#19242b}html[data-theme=dark] .card h2{color:#f1f6f8}html[data-theme=dark] .card .hint{color:#8fa7b0}html[data-theme=dark] .kpi{border-color:var(--border);background:#19242b}html[data-theme=dark] .kpi .val{color:#f1f6f8}html[data-theme=dark] table.stock th{color:#8fa7b0;border-bottom-color:var(--border)}html[data-theme=dark] table.stock td{border-bottom-color:var(--border);color:#e5edef}html[data-theme=dark] table.stock tr:hover td{background:#222f37}html[data-theme=dark] .qty-pill{background:#2b3a42}html[data-theme=dark] .qty-pill.low,html[data-theme=dark] .qty-pill.warn{color:#f5c97d;background:#3f2d14}html[data-theme=dark] .qty-pill.zero{color:#e58270;background:#3f1f1a}html[data-theme=dark] .qty-pill.good{color:#5dc795;background:#15301f}html[data-theme=dark] .stock-ctrl input{border-color:var(--border);color:#f1f6f8;background:#0f1a20}html[data-theme=dark] .stock-ctrl .stockbtn{color:#f1f6f8;background:#2b3a42}html[data-theme=dark] .btn-ghost{color:#e5edef;border-color:var(--border);background:0 0}html[data-theme=dark] .btn-ghost:hover{background:#222f37}html[data-theme=dark] .btn-danger{color:#e58270;background:#3f1f1a}html[data-theme=dark] .btn-danger:hover{color:#1a0f0c;background:#e58270}html[data-theme=dark] .modal-bg{background:#000000b3}html[data-theme=dark] .modal{background:var(--surface);box-shadow:0 24px 60px -10px #0009}html[data-theme=dark] .modal h3{color:#f1f6f8}html[data-theme=dark] .modal input,html[data-theme=dark] .modal select,html[data-theme=dark] .modal textarea,html[data-theme=dark] .search-row input,html[data-theme=dark] .search-row select,html[data-theme=dark] .revert-bar select,html[data-theme=dark] .revert-bar input{border-color:var(--border);color:#e5edef;background:#0f1a20}html[data-theme=dark] .revert-bar{background:#0f1a20}html[data-theme=dark] .audit-row{border-bottom-color:var(--border)}html[data-theme=dark] .audit-time{color:#8fa7b0}html[data-theme=dark] .audit-kind{color:#e5edef;background:#2b3a42}html[data-theme=dark] .audit-kind.k-stock{color:#f5c97d;background:#3f2d14}html[data-theme=dark] .audit-kind.k-product{color:#9ebaec;background:#1a284a}html[data-theme=dark] .audit-kind.k-order{color:#5dc795;background:#15301f}html[data-theme=dark] .audit-kind.k-tier,html[data-theme=dark] .audit-kind.k-pricing{color:#e2a2da;background:#3a1f38}html[data-theme=dark] .audit-kind.k-meta{color:#999;background:#252525}html[data-theme=dark] .audit-revert{color:#e58270;background:#3f1f1a}html[data-theme=dark] .toast{color:#e5edef;background:#0f1a20}html[data-theme=dark] .toast.warn{background:#e58270}html[data-theme=dark] .toast.good{background:#5dc795}.theme-toggle{margin-top:auto}.theme-toggle:hover{color:#fff!important;background:#ffffff0f!important}.nm-bottom-nav{z-index:9988;background:var(--surface,#fff);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));font-size:10.5px;display:none;position:fixed;bottom:0;left:0;right:0}.nm-bottom-nav-inner{grid-template-columns:repeat(5,1fr);gap:2px;display:grid}.nm-bottom-nav a{color:var(--muted);border-radius:8px;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;font-weight:500;line-height:1;text-decoration:none;display:flex}.nm-bottom-nav a svg{opacity:.85;width:22px;height:22px}.nm-bottom-nav a.active{color:var(--primary-deep);background:var(--cream-2,#f2f8fa)}.nm-bottom-nav a.active svg{opacity:1}.nm-fab{right:16px;bottom:calc(80px + env(safe-area-inset-bottom,0px));background:var(--accent,#f5a524);color:#0e1e26;cursor:pointer;z-index:9990;border:0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;line-height:1;display:none;position:fixed;box-shadow:0 10px 24px -6px #00000059}.nm-fab:active{transform:scale(.96)}@media (width<=720px){.nm-bottom-nav{display:block}.main{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))!important}.nm-fab{bottom:calc(86px + env(safe-area-inset-bottom,0px));display:flex}.nm-hide-mobile{display:none!important}}html[data-theme=dark] .nm-bottom-nav{background:#19242b;border-top-color:#ffffff1a}html[data-theme=dark] .nm-bottom-nav a{color:#ffffffa6}html[data-theme=dark] .nm-bottom-nav a.active{color:#fff;background:#ffffff0f}.nm-sidebar-toggle{z-index:9990;background:var(--surface,#fff);width:44px;height:44px;color:var(--primary);border:1px solid var(--border);border-radius:10px;font-size:20px;line-height:1;display:none;position:fixed;top:14px;left:14px;box-shadow:0 6px 18px #0a2e3d2e}.nm-sidebar-backdrop{z-index:9985;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a2e3d8c;display:none;position:fixed;inset:0}.nm-sidebar-backdrop.open{display:block}@media (width<=720px){.nm-sidebar-toggle{justify-content:center;align-items:center;display:inline-flex}.sidebar{z-index:9989;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}html[data-theme=dark] .nm-sidebar-toggle{color:#e5edef;background:#19242b;border-color:#ffffff1f}
