@import "https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--surface:#fff;--surface-2:#f8f9fc;--sunken:#edf0f5;--ink:#15232a;--muted:#5b6b73;--faint:#8a9499;--line:#e2e6ee;--line-strong:#cfd5e0;--brand:#2456c7;--brand-wash:#2456c70e;--nav-hover:color-mix(in srgb, var(--accent) 16%, var(--surface));--accent:#2456c7;--accent-hover:#1d46a6;--accent-soft:#eaf0fc;--accent-ink:#fff;--accent-text:#1d46a6;--teal:#0e4a53;--teal-soft:#e6f0f2;--info:#3f5562;--info-soft:#eaeff2;--ok:#16704a;--ok-bar:#1f8a5b;--ok-soft:#e3f4ec;--warn:#8a5200;--warn-soft:#fff3dc;--bad:#a93226;--bad-strong:#c0392b;--bad-soft:#fce9e7;--shadow:0 1px 2px #1423500d, 0 2px 8px #1423500a;--shadow-lift:0 10px 30px #14235024;--radius:12px;--font:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c131c;--surface:#131c27;--surface-2:#18222e;--sunken:#0e1620;--ink:#e6eef1;--muted:#9aaab2;--faint:#6e7f87;--line:#223040;--line-strong:#2f3f52;--brand:#2456c7;--brand-wash:#5082f012;--nav-hover:color-mix(in srgb, var(--accent) 26%, var(--surface));--accent:#6e98f0;--accent-hover:#86a9f5;--accent-soft:#172a4d;--accent-ink:#0a1226;--accent-text:#9dbaf6;--teal:#7cc7d4;--teal-soft:#12303a;--info:#a9bac4;--info-soft:#1d2a31;--ok:#5fd29a;--ok-bar:#4cc38a;--ok-soft:#12302a;--warn:#edb85c;--warn-soft:#33270f;--bad:#f08a7e;--bad-strong:#ef6b5e;--bad-soft:#381917;--shadow:0 1px 2px #0006;--shadow-lift:0 10px 30px #00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c131c;--surface:#131c27;--surface-2:#18222e;--sunken:#0e1620;--ink:#e6eef1;--muted:#9aaab2;--faint:#6e7f87;--line:#223040;--line-strong:#2f3f52;--brand:#2456c7;--brand-wash:#5082f012;--nav-hover:color-mix(in srgb, var(--accent) 26%, var(--surface));--accent:#6e98f0;--accent-hover:#86a9f5;--accent-soft:#172a4d;--accent-ink:#0a1226;--accent-text:#9dbaf6;--teal:#7cc7d4;--teal-soft:#12303a;--info:#a9bac4;--info-soft:#1d2a31;--ok:#5fd29a;--ok-bar:#4cc38a;--ok-soft:#12302a;--warn:#edb85c;--warn-soft:#33270f;--bad:#f08a7e;--bad-strong:#ef6b5e;--bad-soft:#381917;--shadow:0 1px 2px #0006;--shadow-lift:0 10px 30px #00000080}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--accent-text)}*{scrollbar-color:color-mix(in srgb, var(--brand) 22%, var(--line-strong)) transparent}.mono{font-family:var(--mono);letter-spacing:.01em;font-size:12.5px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}svg.i{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.app{height:100%;display:flex}.side{background:linear-gradient(180deg, var(--brand-wash), transparent 220px) var(--surface);width:252px;box-shadow:inset 0 3px 0 var(--brand);border-right:1px solid var(--line);flex-direction:column;flex:none;padding:16px 12px;display:flex;overflow-y:auto}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 14px;font-size:18px;font-weight:800;display:flex}.brand-mark{object-fit:contain;flex:none;width:32px;height:32px;display:block}.brand small{color:var(--muted);letter-spacing:0;font-size:11.5px;font-weight:500;display:block}.grp{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding:14px 12px 6px;font-size:10.5px;font-weight:700}.nav{width:100%;min-height:36px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav:hover{background:var(--nav-hover);color:var(--accent-text)}.nav.on,.nav.on:hover{background:var(--accent);color:var(--accent-ink);font-weight:700;box-shadow:0 1px 2px #1423502e}.nav.on svg.i{stroke:currentColor}.nav .soon{color:var(--faint);border:1px solid var(--line);border-radius:4px;margin-left:auto;padding:0 4px;font-size:10px;font-weight:700}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:auto;padding-top:10px;display:flex}.me{align-items:center;gap:10px;padding:8px 10px;display:flex}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.me .who{flex:1;min-width:0;line-height:1.2}.me .who b{white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.me .who span{color:var(--muted);font-size:11.5px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:10;flex:none;align-items:center;gap:12px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--muted);align-items:center;gap:6px;min-width:0;font-size:13.5px;display:flex}.crumbs button{color:var(--muted);background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--accent-text);text-decoration:underline}.crumbs b{color:var(--ink);font-weight:600}.crumbs .sep{color:var(--faint)}.spacer{flex:1}.scan{border:1.5px solid var(--ink);background:var(--surface);border-radius:10px;align-items:center;gap:8px;width:400px;max-width:40vw;height:40px;padding:0 12px;display:flex}.scan input{background:0 0;border:0;outline:0;width:100%}.kbd{font-family:var(--mono);color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 5px;font-size:11px}.menu-btn{display:none}.content{flex:1;overflow-y:auto}.page{max-width:1400px;margin:0 auto;padding:24px 28px 64px}.ph{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.ph h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:800}.ph .sub{color:var(--muted);margin-top:2px}.sect{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:26px 0 12px;font-size:11.5px;font-weight:700}.tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative}.tile:hover{box-shadow:var(--shadow-lift);border-color:var(--accent);transform:translateY(-2px)}.tile .ico{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:10px;place-items:center;display:grid}.tile .ico svg{width:22px;height:22px}.tile .name{font-size:15.5px;font-weight:700}.tile .cap{color:var(--muted);font-size:12.5px}.tile .count{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;position:absolute;top:14px;right:14px}.tile .count.zero{color:var(--warn);background:var(--warn-soft);border-color:#0000}.btn{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.pri:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--bad-strong);border-color:var(--bad-strong);color:#fff}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{height:30px;padding:0 10px;font-size:13px}.icon-btn{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn.del:hover{background:var(--bad-soft);color:var(--bad)}.search{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;align-items:center;gap:8px;min-width:0;height:36px;padding:0 10px;display:flex}.search:focus-within{border-color:var(--accent)}.search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.search svg{color:var(--faint)}.seg{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{height:34px;color:var(--muted);background:0 0;border:0;padding:0 12px;font-size:13px;font-weight:600}.seg button+button{border-left:1px solid var(--line)}.fchip{border:1px dashed var(--line-strong);height:32px;color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.fchip.set{border-style:solid;border-color:var(--ink);color:var(--ink);background:var(--surface)}.fchip:hover{color:var(--ink)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.table-wrap{border-radius:var(--radius);overflow-x:auto}table.t{border-collapse:collapse;width:100%}.t th{z-index:1;text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);background:var(--surface);border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 16px;font-size:11px;font-weight:700;position:sticky;top:0}.t th.sortable{cursor:pointer}.t th.sortable:hover{color:var(--ink)}.t th.sorted{color:var(--accent-text)}.t td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 16px}.t tbody tr:last-child td{border-bottom:0}.t tbody tr.click{cursor:pointer}.t tbody tr:hover td{background:var(--surface-2)}.t td.act{white-space:nowrap;text-align:right;width:1%}.t .r{text-align:right}.t td .sub{color:var(--muted);font-size:12.5px}.t tr.confirm td{background:var(--bad-soft)!important}.t tr.inactive td{color:var(--faint)}.confirm-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.confirm-row .q{color:var(--bad);align-items:center;gap:6px;font-weight:700;display:inline-flex}.foot-note{border-top:1px solid var(--line);color:var(--faint);align-items:center;gap:12px;padding:10px 16px;font-size:12.5px;display:flex}.empty{text-align:center;color:var(--muted);padding:56px 20px}.empty .ico{color:var(--line-strong)}.empty .ico svg{stroke-width:1.4px;width:44px;height:44px}.empty h3{color:var(--ink);margin:10px 0 4px;font-size:16px}.chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}.chip.accent{background:var(--accent-soft);color:var(--accent-text)}.chip.teal{background:var(--teal-soft);color:var(--teal)}.chip.info{background:var(--info-soft);color:var(--info)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.chip.neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.dot{align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.dot:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.thumb{object-fit:cover;border:1px solid var(--line);background:var(--sunken);border-radius:6px;width:36px;height:36px;display:block}.swatch{border:1px solid var(--line-strong);vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.scrim{z-index:50;background:#0a14186b;animation:.15s fade;position:fixed;inset:0}.drawer{background:var(--surface);z-index:51;width:min(580px,100vw);box-shadow:var(--shadow-lift);flex-direction:column;animation:.2s slide;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer.wide{width:min(1080px,100vw)}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(30px)}}.drawer-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 20px;display:flex}.drawer-head h3{flex:1;margin:0;font-size:18px;font-weight:700}.drawer-body{flex:1;padding:20px;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line);background:var(--surface-2);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.drawer-foot .left{color:var(--muted);margin-right:auto;font-size:13px}.form{grid-template-columns:1fr 1fr;gap:16px 14px;display:grid}.f{flex-direction:column;gap:6px;min-width:0;display:flex}.f.span2{grid-column:span 2}.f>label{color:var(--muted);font-size:12.5px;font-weight:600}.f>label .req{color:var(--accent)}.inp{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:100%;min-width:0;height:40px;padding:0 12px}textarea.inp{resize:vertical;height:auto;min-height:84px;padding:10px 12px}.inp:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.inp:disabled{background:var(--sunken);color:var(--muted)}.f.err .inp{border-color:var(--bad-strong)}.f .hint{color:var(--faint);font-size:12px}.f .msg{color:var(--bad);font-size:12px;font-weight:600}.f .okmsg{color:var(--ok);font-size:12px;font-weight:600}.fhead{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);grid-column:span 2;align-items:center;gap:10px;margin-top:6px;font-size:11px;font-weight:700;display:flex}.fhead:after{content:"";background:var(--line);flex:1;height:1px}.form-err{background:var(--bad-soft);color:var(--bad);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-weight:600}.toggle{background:0 0;border:0;align-items:center;gap:10px;height:40px;padding:0;display:inline-flex}.toggle .track{background:var(--line-strong);border-radius:999px;flex:none;width:38px;height:22px;transition:background .15s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle.on .track{background:var(--ok-bar)}.toggle.on .track:after{left:19px}.picker{position:relative}.picker-list{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lift);z-index:20;border-radius:10px;max-height:260px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.picker-opt{text-align:left;background:0 0;border:0;border-radius:6px;align-items:baseline;gap:10px;width:100%;padding:8px 10px;display:flex}.picker-opt:hover,.picker-opt.hi{background:var(--surface-2)}.picker-opt .c{font-family:var(--mono);color:var(--muted);font-size:12px}.picker-empty{color:var(--faint);padding:10px;font-size:13px}.checks{flex-wrap:wrap;gap:6px;display:flex}.checks button{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.checks button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.hist{gap:12px;margin:0;padding:0;list-style:none;display:grid}.hist li{gap:10px;font-size:13px;display:flex}.hist .d{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.hist .chg{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:12.5px}.steps{gap:16px;display:grid}.stepcard{border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:grid}.stepcard h4{align-items:center;gap:10px;margin:0;font-size:15px;display:flex}.stepcard h4 .n{background:var(--accent);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.stepcard p{color:var(--muted);margin:0}.drop{border:2px dashed var(--line-strong);text-align:center;color:var(--muted);background:var(--surface-2);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;display:flex}.drop:hover,.drop.over{border-color:var(--accent);color:var(--accent-text)}.drop b{color:var(--ink)}.summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}tr.rowbad td{background:var(--bad-soft)}.cellmsg{color:var(--bad);font-size:12.5px;font-weight:600}.chg-list{color:var(--muted);font-size:12.5px}.toast-wrap{z-index:80;gap:8px;display:grid;position:fixed;top:72px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lift);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;animation:.2s fade;display:flex}.toast.bad{background:var(--bad-strong);color:#fff}.banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.banner.warn{background:var(--warn-soft);color:var(--ink);border-color:#0000}.banner.info{background:var(--info-soft);color:var(--ink);border-color:#0000}.soon-card{text-align:center;padding:40px}.soon-card h2{margin:12px 0 6px}.soon-card p{color:var(--muted);max-width:60ch;margin:0 auto}.soon-card ul{text-align:left;color:var(--muted);margin-top:14px;display:inline-block}.kv{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.kv .k{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:700}.login{background:radial-gradient(60% 50% at 50% 0%, var(--brand-wash), transparent 70%);place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(470px,100%);box-shadow:inset 0 3px 0 var(--brand), var(--shadow-lift);border-radius:16px;grid-template-columns:minmax(0,1fr);gap:16px;padding:28px;display:grid}.login-card h1{margin:0;font-size:22px}.linkbtn{color:var(--accent-text);background:0 0;border:0;padding:0;font-weight:600}.linkbtn:hover{text-decoration:underline}.label-sheet{display:none}.label{color:#000;font-family:var(--font);page-break-inside:avoid;break-inside:avoid;background:#fff;border:1px dashed #bbb;flex-direction:column;justify-content:center;align-items:center;gap:1mm;padding:2mm;display:flex;overflow:hidden}.label .big{font:700 5mm/1 var(--mono)}.label .small{font-size:2.6mm}.label svg{max-width:100%}.label-preview{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.label-preview .label{box-shadow:var(--shadow)}@media print{body *{visibility:hidden!important}.label-sheet,.label-sheet *{visibility:visible!important}.label-sheet{position:absolute;top:0;left:0;display:block!important}.label-sheet .label{page-break-after:always;break-after:page;border:0}}@media (width<=900px){.side{z-index:60;box-shadow:var(--shadow-lift);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side.open{transform:none}.menu-btn{display:inline-grid}.topbar{padding:0 16px}.scan{flex:1;width:auto;max-width:none}.crumbs{display:none}.page{padding:16px 16px 64px}.form{grid-template-columns:1fr}.f.span2,.fhead{grid-column:auto}.ph h1{font-size:22px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.two-col{grid-template-columns:1fr}}.subnav{border-left:1.5px solid var(--line);flex-direction:column;margin:2px 0 6px 20px;padding-left:10px;display:flex}.subnav-g{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 8px 2px;font-size:10px;font-weight:700}.subnav-i{text-align:left;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:5px 8px;font-size:13px}.subnav-i:hover{background:var(--surface-2);color:var(--ink)}.subnav-i.on{color:var(--accent-text);background:var(--accent-soft);font-weight:700}.subtabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 0;margin:-8px 0 18px;padding-bottom:10px;display:flex}.subgrp{border-left:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:2px;padding:0 8px 0 10px;display:flex}.subgrp-l{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap;margin-right:4px;font-size:10px;font-weight:700}.subtab{white-space:nowrap;color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.subtab:hover{background:color-mix(in srgb, var(--accent-soft) 70%, transparent);color:var(--accent-text)}.subtab.on{background:var(--accent-soft);color:var(--accent-text)}.stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat{border-right:1px solid var(--line);padding:14px 18px}.stat:last-child{border-right:0}.stat .k{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:700}.stat .v{margin-top:2px;font-size:22px;font-weight:700}.stat .v small{color:var(--muted);font-size:12.5px;font-weight:500}.stat .v.bad{color:var(--bad-strong)}.newpo{position:relative}.menu{background:var(--surface);border:1px solid var(--line);width:360px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lift);z-index:30;border-radius:12px;flex-direction:column;gap:6px;padding:6px;display:flex;position:absolute;top:44px;right:0}.menu-h{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 10px 0;font-size:11px;font-weight:700}.opt{border:1.5px solid var(--line);background:var(--surface);text-align:left;border-radius:9px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.opt:hover{border-color:var(--line-strong)}.opt.on{border-color:var(--accent);background:var(--accent-soft)}.opt b{display:block}.opt .s{color:var(--muted);font-size:12.5px;display:block}.radio{border:1.5px solid var(--line-strong);border-radius:50%;flex:none;width:18px;height:18px;margin-top:2px}.radio.on{border:5px solid var(--accent)}.age{text-align:center;border-radius:999px;min-width:44px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.age.g{background:var(--ok-soft);color:var(--ok)}.age.a{background:var(--warn-soft);color:var(--warn)}.age.r{background:var(--bad-soft);color:var(--bad)}.rc{white-space:nowrap;align-items:center;gap:8px;display:flex}.rc .bar{background:var(--line);border-radius:3px;flex:none;width:80px;height:6px;overflow:hidden}.rc .bar i{background:var(--ok-bar);height:100%;display:block}.po-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.meta{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;min-width:0;padding:10px 12px}.meta>span{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:2px;font-size:11px;font-weight:700;display:block}.meta .sub{color:var(--muted);font-size:12.5px}table.lines{border-collapse:collapse;width:100%;min-width:900px}table.lines th{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);text-align:left;padding:6px;font-size:11px;font-weight:700}table.lines th.r,table.lines td.r{text-align:right}table.lines td{vertical-align:top;padding:5px 6px}table.lines .inp{height:38px}table.lines .inp.bad{border-color:var(--bad-strong);background:var(--bad-soft)}table.lines .ro{color:var(--muted);white-space:nowrap;padding-top:14px}.line-n{color:var(--faint);width:24px;font-weight:700;padding-top:14px!important}.groups{gap:8px;display:grid}.group{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}@media (width<=900px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.po-meta{grid-template-columns:1fr}}.picker-list.floating{z-index:90;position:fixed;top:auto;right:auto;overflow-y:auto}.picker-opt{flex-wrap:wrap}.icon-btn.doc{width:34px;height:34px;color:var(--muted)}.icon-btn.doc:hover{background:var(--surface-2);color:var(--ink)}.icon-btn:disabled{opacity:.45;cursor:default}.row-export{gap:2px;display:inline-flex}.btn .doc-ico{margin-left:-2px}.spin{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.done-card{text-align:center;color:var(--ok);flex-direction:column;align-items:center;gap:6px;padding:26px 20px;display:flex}.done-card p{color:var(--muted);margin:4px 0 10px}.big-no{color:var(--ink);letter-spacing:.02em;font-size:30px;font-weight:700}.big-inp{font-size:24px;font-weight:700;height:52px!important}.po-mini{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:8px;padding:10px 12px;display:grid}table.t.mini th,table.t.mini td{padding:7px 10px;font-size:13px}.photo-box{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.photo-box img{object-fit:cover;border-radius:6px;width:72px;height:72px}.pdf-tag{background:var(--bad-soft);width:72px;height:72px;color:var(--bad);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.ge-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;padding:16px;display:grid}.ge-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;gap:4px;padding:14px;display:flex}.ge-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.grn-head{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:start;gap:16px;padding:14px 16px;display:grid}.grn-head .k{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:700}.bar-lg{background:var(--line);border-radius:3px;max-width:160px;height:6px;margin-top:6px;overflow:hidden}.bar-lg i{background:var(--ok-bar);height:100%;display:block}.banner.ask{background:var(--accent-soft);color:var(--ink);border-color:#0000}.grn-rolls td{vertical-align:middle;padding:7px 12px}.grn-rolls tr.next td{background:var(--accent-soft)}.grn-rolls tr.todo td{opacity:.75}.qty-in{justify-content:flex-end;align-items:center;gap:6px;display:flex}.qty-in .inp{text-align:right;width:110px;height:38px}.qty-in span{text-align:left;width:40px;color:var(--muted);font-size:13px}.sticky-foot{z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lift);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;display:flex;position:sticky;bottom:0}.confirm-q{color:var(--warn);font-weight:700}.scan-hero{background:var(--surface);border:2px dashed var(--line-strong);border-radius:14px;gap:10px;margin-bottom:14px;padding:16px;display:grid}.scan-hero.has-loc{border-style:solid;border-color:var(--accent)}.scan-loc{font-size:15px}.scan-loc b{color:var(--accent-text);font-size:20px}.scan-big{border:2px solid var(--ink);background:var(--surface);border-radius:12px;align-items:center;gap:10px;height:56px;padding:0 8px 0 14px;display:flex}.scan-big input{font-size:20px;font-family:var(--mono);background:0 0;border:0;outline:0;flex:1;min-width:0}.scan-msg{border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.scan-msg.ok{background:var(--ok-soft);color:var(--ok)}.scan-msg.bad{background:var(--bad-soft);color:var(--bad)}.scan-msg.info{background:var(--info-soft);color:var(--info)}.loc-group{margin-bottom:10px}.loc-group.active{border-color:var(--accent)}.loc-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 12px;display:flex}.wait-grp{border-bottom:1px solid var(--line);gap:4px;padding:12px 16px;display:grid}.roll-chips{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.roll-chips .chip{padding:1px 7px;font-size:11px}@media (width<=900px){.grn-head{grid-template-columns:1fr 1fr}}.form>.span2{grid-column:span 2}@media (width<=900px){.form>.span2{grid-column:auto}}.allot-list{flex-direction:column;display:flex}.allot-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;padding:14px 16px;display:grid}.allot-row:last-child{border-bottom:0}.allot-fab{gap:12px;display:flex}.allot-img{object-fit:cover;border:1px solid var(--line);border-radius:8px;flex:none;width:64px;height:64px}.allot-img.ph{background:var(--sunken);color:var(--faint);place-items:center;display:grid}.allot-qty{margin:4px 0 2px}.allot-form{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.allot-pair{align-items:center;gap:8px;display:flex}.allot-pair>.inp{flex:1;min-width:0}@media (width<=900px){.allot-row{grid-template-columns:1fr}}.styles-cell{max-width:260px}.style-codes{color:var(--muted);white-space:normal;word-break:break-word;margin-top:2px;font-size:11px;line-height:1.35}.age{font-weight:700}.age.warn{color:var(--warn)}.age.bad{color:var(--bad)}.stat.click{cursor:pointer}.stat.click:hover{background:var(--surface-2)}.stat.sel{box-shadow:inset 0 -3px 0 var(--accent)}th.sort{cursor:pointer;-webkit-user-select:none;user-select:none}th.sort:hover{color:var(--ink)}.t.inv td.r,.t.inv td.mono,.t.inv td.muted{white-space:nowrap}.scan-msg.warn{background:var(--warn-soft);color:var(--warn)}.miss-box{border-top:1px dashed var(--line-strong);background:var(--bad-soft);color:var(--bad);padding:10px 16px 14px}.miss-box .roll-chips{margin-top:6px}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:14px 16px;display:flex}.timeline{margin:0;padding:8px 18px 18px;list-style:none}.timeline li{grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:12px 0;display:grid;position:relative}.timeline li:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0;left:16px}.timeline li:first-child:before{top:24px}.timeline li:last-child:before{bottom:calc(100% - 24px)}.timeline .ev-dot{z-index:1;background:var(--surface-2);width:34px;height:34px;color:var(--muted);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid;position:relative}.timeline .ev-dot.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.timeline .ev-dot.accent{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.timeline .ev-dot.teal{background:var(--teal-soft);color:var(--teal);border-color:#0000}.timeline .ev-dot.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.timeline .ev-dot.bad{background:var(--bad-soft);color:var(--bad);border-color:#0000}.timeline .ev-dot.info{background:var(--info-soft);color:var(--info);border-color:#0000}.timeline .ev-title{font-weight:700}.timeline .ev-when{text-align:right;color:var(--muted);white-space:nowrap;font-size:12.5px}.roll-card{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px 20px;padding:16px 18px;display:grid}.roll-card .k{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:700}.roll-card .v{margin-top:2px;font-weight:600}.seg{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:2px;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:5px 12px;font-size:13px;font-weight:600}.seg button.on{background:var(--accent-soft);color:var(--accent-text)}.t tr.sel td{background:var(--accent-soft)}.lbl{color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.po-meta .k,.jw-k{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:11px;font-weight:700}.size-grid .sz{text-align:right;width:56px;padding-left:6px;padding-right:6px}.size-grid td{padding-left:4px;padding-right:4px}.jw-fab.bad{border-color:var(--bad)}.t tbody tr.dim{opacity:.45}h3.sec{margin:18px 0 8px;font-size:14px}.t tr.tot td{border-top:2px solid var(--line-strong);background:var(--surface-2)}.date-range{align-items:center;gap:6px;display:inline-flex}.inp.sm{width:auto;height:32px;padding:0 8px;font-size:13px}.pct{align-items:center;gap:8px;display:flex}.t.msr td{vertical-align:top}.style-line{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:10px 12px;padding:12px 14px;display:flex}.size-row{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.sz-cell,.ratio-cell{flex-direction:column;align-items:stretch;gap:4px;display:flex}.ratio-cell>label{color:var(--muted);align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.sz-cell label{color:var(--muted);text-align:center;font-size:11px;font-weight:700}.sz-cell .sz{text-align:right;width:60px}.sz-cell.tot{align-items:flex-end;min-width:54px;padding-bottom:8px}.size-hint{padding-bottom:8px}.choice-row{flex-wrap:wrap;gap:10px;display:flex}.choice{border:1px solid var(--line-strong);cursor:pointer;background:var(--surface);border-radius:10px;flex:1;align-items:flex-start;gap:10px;min-width:200px;padding:10px 14px;display:flex}.choice>span{flex-direction:column;gap:2px;display:flex}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.choice input{accent-color:var(--accent);margin-top:3px}.f.err .choice{border-color:var(--bad-strong)}.mi-grid .sz{text-align:right;width:64px}.mi-grid tr.entry td{background:var(--accent-soft)}.mi-line.bad{border-color:var(--bad)}.size-tbl .recd{color:var(--muted);font-size:11.5px}.size-tbl .recd.ok{color:var(--ok);font-weight:700}button.stat{border:0;border-right:1px solid var(--line);text-align:left;font:inherit;color:inherit;background:0 0}.banner.ok-banner{background:var(--ok-soft);color:var(--ok);border-color:#0000}.banner.bad-banner{background:var(--bad-soft);color:var(--bad);border-color:#0000}.act-panel{gap:10px;margin-bottom:6px;padding:14px 16px;display:grid}.act-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assign-row{border-top:1px dashed var(--line);padding-top:10px}.btn.warn-btn{background:var(--warn);border-color:var(--warn);color:#fff}textarea.inp{resize:vertical;height:auto;font:inherit;padding:8px 10px}.th-inp{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.th-inp .inp.sm{text-align:right;width:52px}.alerts.has-crit{border-color:var(--bad)}.alert-row{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.alert-row:last-child{border-bottom:0}.alert-row.critical{background:var(--bad-soft)}.alert-row.critical b{color:var(--bad)}.alert-row.ok{color:var(--ok)}.t.score tr.crit-row td{background:var(--bad-soft)}.div-wrap{align-items:center;gap:8px;display:flex}.div-bar{background:var(--surface-2);border-radius:3px;flex:none;width:110px;height:10px;position:relative}.div-bar i{border-radius:3px;position:absolute;top:0;bottom:0}.div-bar i.ok{background:var(--teal)}.div-bar i.warn{background:var(--warn)}.div-bar i.bad{background:var(--bad)}.div-mid{background:var(--line-strong);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}b.warn{color:var(--warn)}b.bad{color:var(--bad)}.trend{align-items:flex-end;gap:3px;display:flex}.tcol{flex-direction:column;align-items:center;gap:2px;width:14px;display:flex}.tplot{width:10px;height:56px;position:relative}.tplot:after{content:"";background:var(--line-strong);height:1px;position:absolute;top:50%;left:-2px;right:-2px}.tplot i{border-radius:2px;width:10px;position:absolute;left:0}.tplot i.ok{background:var(--teal)}.tplot i.warn{background:var(--warn)}.tplot i.bad{background:var(--bad)}.tlab{color:var(--faint);font-size:10px}.cmp-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px;padding:14px;display:grid}@media (width<=700px){.cmp-grid{grid-template-columns:1fr}}.cmp-card{border:1px solid var(--line);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.cmp-card.crit{border-color:var(--bad);box-shadow:inset 3px 0 0 var(--bad)}.cmp-head{align-items:baseline;gap:4px;display:flex}.cmp-row{border-radius:6px;grid-template-columns:150px 1fr 52px 78px;align-items:center;gap:8px;padding:2px 4px;font-size:13px;display:grid}.cmp-row.hl{background:var(--accent-soft)}.cmp-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmp-bar{background:var(--surface-2);border-radius:3px;height:12px;position:relative}.cmp-bar i{border-radius:0 4px 4px 0;position:absolute;top:0;bottom:0;left:0}.cmp-bar i.base{background:var(--teal)}.cmp-bar i.warn{background:var(--warn)}.cmp-bar i.bad{background:var(--bad)}.cmp-med{background:var(--ink);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.cmp-val{text-align:right}.cmp-dev{text-align:right;justify-content:flex-end;align-items:center;gap:3px;display:inline-flex}.cmp-dev.warn{color:var(--warn);font-weight:700}.cmp-dev.bad{color:var(--bad);font-weight:700}.nav .badge{background:var(--bad);color:#fff;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.roll-card .chip{white-space:normal}.t.rep td{white-space:nowrap}.t.rep td:not(.r){text-overflow:ellipsis;max-width:260px;overflow:hidden}.banner.big-alert{border:1px solid var(--bad);align-items:flex-start;padding:14px 16px;font-size:15px}.t.rf td{vertical-align:middle}.t.plans td,.t.plans td .sub{white-space:nowrap}.t.plan-lines td:first-child{min-width:190px}.t.plan-lines td:first-child .sub,.t.plans th,.t.plan-lines th{white-space:nowrap}.dash-top{grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:14px;margin-bottom:14px;display:grid}.dash-card{min-width:0}@media (width<=1280px){.dash-top{grid-template-columns:1fr}}.dash-card{margin-bottom:14px}.dash-top .dash-card{margin-bottom:0}.dash-body{padding:14px 16px}.grn-big{flex-wrap:wrap;align-items:baseline;gap:28px;display:flex}.grn-big>div{flex-direction:column;display:flex}.grn-big .num{color:var(--ink);font-size:34px;font-weight:800;line-height:1.1}.grn-big small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:600}.grn-yday{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px;font-size:13px}.grn-small{color:var(--muted);font-weight:600}.t.stock-mv td.cur b{color:var(--accent-text);font-size:15px}.dash-h{margin:4px 0 10px;font-size:15px}.pend-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}@media (width<=1100px){.pend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pend{text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line-strong);cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;min-height:104px;padding:12px 14px;display:flex}.pend:hover{box-shadow:var(--shadow-lift)}.pend.bad{border-left-color:var(--bad)}.pend.warn{border-left-color:var(--warn)}.pend.clear{border-left-color:var(--ok)}.pend-k{color:var(--muted);font-size:12px;font-weight:700}.pend-v{font-size:26px;font-weight:800}.pend.bad .pend-v{color:var(--bad)}.pend.warn .pend-v{color:var(--warn)}.pend.clear .pend-v{color:var(--ok)}.pend-v small{color:var(--muted);font-size:12px;font-weight:600}.pend-s{color:var(--muted);font-size:12px}.pend.skel{background:var(--surface-2);cursor:default}.hold-bar i.ok{background:var(--teal)}.hold-bar i.warn{background:var(--warn)}.hold-bar i.bad{background:var(--bad)}.t.hold td{white-space:nowrap}.t.hold td:first-child{white-space:normal;min-width:140px}.t.stock-mv{width:100%}.t.stock-mv th{letter-spacing:.04em}.t.stock-mv td,.t.stock-mv th{padding-left:8px;padding-right:8px}.pend-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=1000px){.pend-list{grid-template-columns:1fr}}.pend-row{text-align:left;font:inherit;color:inherit;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:grid}.pend-list .pend-row:nth-child(odd){border-right:1px solid var(--line)}.pend-row:hover{background:var(--surface-2)}.pend-row>svg{color:var(--faint)}.pend-ic{background:var(--surface-2);width:36px;height:36px;color:var(--muted);border-radius:9px;place-items:center;display:grid}.pend-row.bad .pend-ic{background:var(--bad-soft);color:var(--bad)}.pend-row.warn .pend-ic{background:var(--warn-soft);color:var(--warn)}.pend-row.clear .pend-ic{background:var(--ok-soft);color:var(--ok)}.pend-txt{flex-direction:column;gap:2px;min-width:0;display:flex}.pend-txt>b{font-size:14px}.pend-txt .sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pend-num{flex-direction:column;align-items:flex-end;line-height:1.1;display:flex}.pend-num b{font-size:22px;font-weight:800}.pend-num small{color:var(--muted);font-size:11px}.pend-row.bad .pend-num b,.pend-row.bad .pend-age{color:var(--bad)}.pend-row.warn .pend-num b,.pend-row.warn .pend-age{color:var(--warn)}.pend-row.clear .pend-num b{color:var(--faint)}.pend-row.skel{cursor:default;background:var(--surface-2)}
