:root{--navy: #1a2744;--navy-l: #253456;--blue: #2e6fb6;--teal: #0d8a8a;--red: #c41e3a;--red-lt: #fff0f2;--orange: #c55a11;--orange-lt: #fff6ed;--yellow: #f0a500;--yellow-lt: #fffce8;--green: #2d7a3a;--green-lt: #edf7ef;--grey: #64748b;--grey-lt: #f1f5f9;--grey-bd: #e2e8f0;--bg: #f7f9fc;--purple: #6d28d9;--purple-lt: #f3e8ff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Arial,sans-serif;background:var(--bg);color:#1e293b;font-size:13px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:222px;background:linear-gradient(180deg,var(--navy),var(--navy-l));color:#fff;display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh}.sidebar .brand{padding:16px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar .brand .logo{width:34px;height:34px;border-radius:9px;background:#ffffff21;display:flex;align-items:center;justify-content:center;font-size:18px}.sidebar .brand h1{font-size:13px;font-weight:800;line-height:1.2}.sidebar .brand .sub{font-size:9px;color:#ffffff80}.nav{padding:8px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:#ffffffbd;white-space:nowrap}.nav a:hover{background:#ffffff14;color:#fff}.nav a.active{background:var(--blue);color:#fff}.nav a .badge-n{margin-left:auto;background:var(--red);color:#fff;font-size:9px;font-weight:700;border-radius:9px;padding:1px 6px}.nav .nav-group{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#ffffff59;padding:12px 12px 4px}.sidebar .foot{padding:12px;font-size:9px;color:#fff6;border-top:1px solid rgba(255,255,255,.08)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:#fff;border-bottom:1px solid var(--grey-bd);padding:11px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:sticky;top:0;z-index:10}.topbar h2{font-size:15px;font-weight:800;color:var(--navy)}.topbar .row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.content{padding:16px 20px}.banner{padding:8px 14px;border-radius:8px;margin-bottom:12px;font-size:12px;display:flex;gap:8px;align-items:center}.banner.warn{background:var(--yellow-lt);color:#806000;border:1px solid #f0d68a}.banner.info{background:#eef4ff;color:var(--blue);border:1px solid #cce0ff}.banner.err{background:var(--red-lt);color:var(--red);border:1px solid #fcc}.banner.ok{background:var(--green-lt);color:var(--green);border:1px solid #bde}.kr{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.kc{background:#fff;border-radius:10px;border:1px solid var(--grey-bd);box-shadow:0 1px 3px #0000000a;padding:12px 14px;flex:1;min-width:130px}.kc .kl{font-size:10px;color:var(--grey)}.kc .kv{font-size:22px;font-weight:800;line-height:1.15;margin-top:2px}.cd{background:#fff;border-radius:10px;border:1px solid var(--grey-bd);box-shadow:0 1px 3px #0000000a;margin-bottom:14px;overflow:hidden}.ch{padding:11px 15px;font-weight:700;font-size:13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--grey-bd)}.fb{padding:9px 13px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--grey-bd)}.fbtn{padding:4px 11px;border-radius:6px;border:1px solid var(--grey-bd);background:#fff;color:var(--grey);font-size:11px;font-weight:600;cursor:pointer}.fbtn.a{border-color:var(--blue);background:#e8f0fe;color:var(--blue)}select,input[type=text],input[type=date],input[type=number]{padding:5px 9px;border-radius:6px;border:1px solid var(--grey-bd);font-size:11px;outline:none}.si{flex:1;min-width:150px}.btn{padding:6px 13px;border-radius:6px;border:none;font-size:11px;font-weight:600;cursor:pointer}.btn:hover{opacity:.88}.bt{background:var(--teal);color:#fff}.bb{background:var(--blue);color:#fff}.bg{background:var(--green);color:#fff}.br{background:var(--red);color:#fff}.bo{background:var(--orange);color:#fff}.bw{background:#fff;color:var(--grey);border:1px solid var(--grey-bd)}.ts{overflow-x:auto;max-height:62vh;overflow-y:auto}table{width:100%;border-collapse:collapse;font-size:11px}thead{background:var(--navy)}th{padding:7px 5px;color:#fff;font-weight:700;text-align:center;cursor:pointer;white-space:nowrap;font-size:10px;position:sticky;top:0;z-index:2}th:hover{background:var(--navy-l)}td{padding:5px;border-bottom:1px solid var(--grey-bd);vertical-align:middle}tr:nth-child(2n){background:var(--grey-lt)}tbody tr:hover{background:#e8f4ff}.m{font-family:Consolas,monospace}.tr{text-align:right}.tc{text-align:center}.tl{text-align:left}.b{font-weight:700}.bd{display:inline-block;padding:2px 7px;border-radius:5px;font-size:9px;font-weight:700;white-space:nowrap}.empty{padding:44px;text-align:center;color:var(--grey);font-size:13px}.muted{color:var(--grey);font-size:11px}.sku-block{border-bottom:1px solid var(--grey-bd);padding:12px 16px}.sku-head{display:flex;gap:10px;align-items:flex-start}.sku-code{font-weight:800;color:var(--navy);white-space:nowrap}.steps{margin-top:8px;display:flex;flex-direction:column;gap:5px}.step{display:flex;gap:8px;align-items:flex-start;font-size:12px}.step-num{background:var(--navy);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;margin-top:1px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--navy-l))}.login-card{background:#fff;border-radius:16px;padding:38px 34px;width:360px;text-align:center;box-shadow:0 20px 60px #0000004d}.login-card .logo{font-size:40px}.login-card h1{font-size:18px;color:var(--navy);margin:12px 0 4px}.login-card p{color:var(--grey);font-size:12px;margin-bottom:22px}@media (max-width: 860px){.sidebar{width:60px}.sidebar .brand h1,.sidebar .brand .sub,.nav a span.lbl,.nav .nav-group,.sidebar .foot{display:none}.nav a{justify-content:center}}@media print{.sidebar,.topbar,.fb,.banner,.btn{display:none!important}.shell,.main,.content{display:block}.content{padding:0}.cd{border:none;box-shadow:none;margin:0}.ts{max-height:none;overflow:visible}table{font-size:9px}thead{background:#1a2744!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.kr{display:flex!important}@page{size:A4 landscape;margin:10mm}}
