:root{--navy:#0f4c75;--blue:#1d7dc0;--teal:#0f9d9d;--green:#2fa66a;--amber:#f5a623;--coral:#ef6b5b;--purple:#7c5cbf;--slate:#5b7a94;--bg:#f4f7fa;--surface:#fff;--sky:#e8f2fb;--tealbg:#e2f6f5;--greenbg:#e6f6ee;--amberbg:#fff4dc;--coralbg:#fdeae6;--purplebg:#efeafb;--slatebg:#eef3f7;--ink:#243746;--muted:#6b7c89;--line:#dbe3ea;--radius:8px;--shadow:0 1px 3px #0f4c7514}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}a{color:var(--blue);text-decoration:none}.tnum{font-variant-numeric:tabular-nums}.app{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.side{background:var(--navy);color:#cfe0ee;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:10px;padding:16px 18px;display:flex}.brand .logo{background:linear-gradient(135deg, var(--teal), var(--green));color:#fff;border-radius:7px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:flex}.brand b{color:#fff;font-size:15px}.brand span{color:#9dc0dd;letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.nav{flex:1;padding:10px 8px;overflow:auto}.nav a{color:#cfe0ee;border-radius:7px;align-items:center;gap:11px;margin-bottom:1px;padding:9px 12px;font-size:13.5px;display:flex}.nav a svg{stroke:#9dc0dd;fill:none;stroke-width:2px;flex:none;width:17px;height:17px}.nav a:hover{color:#fff;background:#ffffff0f}.nav a.active{background:var(--amber);color:#3a2600;font-weight:600}.nav a.active svg{stroke:#3a2600}.nav .grp{letter-spacing:1px;color:#7ba6c9;text-transform:uppercase;padding:14px 12px 5px;font-size:10px;font-weight:700}.side .me{border-top:1px solid #ffffff1a;align-items:center;gap:10px;padding:12px 16px;font-size:12.5px;display:flex}.side .me .av{background:var(--teal);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.side .me b{color:#fff}.side .me span{color:#9dc0dd}.side .me form{margin-left:auto}.side .me button{color:#9dc0dd;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:6px;padding:4px 8px;font-size:11px}.side .me button:hover{color:#fff;border-color:#fff}.main{flex-direction:column;min-width:0;display:flex}.top{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:12px 22px;display:flex}.top h1{color:var(--navy);margin:0;font-size:18px}.top .crumb{color:var(--muted);margin-top:2px;font-size:12px}.spacer{flex:1}.tabbtn{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:#fff;border-radius:7px;padding:7px 13px;font-size:13px;font-weight:600}.tabbtn:hover,.tabbtn.act{background:var(--sky)}.bell{border:1px solid var(--line);background:#fff;border-radius:7px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.bell svg{width:18px;height:18px;stroke:var(--navy);fill:none;stroke-width:2px}.bell .dot{background:var(--coral);color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:-6px;right:-6px}.content{padding:20px 22px;overflow:auto}.kpis{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.kpi{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--slate);border-radius:var(--radius);flex:1;min-width:150px;padding:11px 15px}.kpi .lbl{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.kpi .lbl svg{fill:none;stroke-width:2px;width:14px;height:14px}.kpi .val{color:var(--navy);margin-top:3px;font-size:22px;font-weight:700}.kpi .val small{color:var(--muted);font-size:12px;font-weight:600}.kpi .trend{margin-top:1px;font-size:11.5px;font-weight:600}.up{color:var(--green)}.down{color:var(--coral)}.kpi.blue{border-left-color:var(--blue)}.kpi.blue .lbl svg{stroke:var(--blue)}.kpi.teal{border-left-color:var(--teal)}.kpi.teal .lbl svg{stroke:var(--teal)}.kpi.green{border-left-color:var(--green)}.kpi.green .lbl svg{stroke:var(--green)}.kpi.amber{border-left-color:var(--amber)}.kpi.amber .lbl svg{stroke:var(--amber)}.kpi.coral{border-left-color:var(--coral)}.kpi.coral .lbl svg{stroke:var(--coral)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}.panel>.hd{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:12px 16px;display:flex}.panel>.hd h2{color:var(--navy);margin:0;font-size:14px}.panel>.hd svg{width:16px;height:16px;stroke:var(--navy);fill:none;stroke-width:2px}.panel>.hd .pill{color:var(--muted);margin-left:auto;font-size:11px}.panel>.bd{padding:14px 16px}.row2{grid-template-columns:1fr 320px;align-items:start;gap:16px;display:grid}table.data{border-collapse:collapse;width:100%}table.data th{background:var(--navy);color:#fff;text-align:left;padding:8px 10px;font-size:12px;font-weight:600}table.data td{border-bottom:1px solid var(--line);padding:8px 10px;font-size:13px}table.data tbody tr:last-child td{border-bottom:none}table.data tr:nth-child(2n) td{background:#f5f9fd}table.data .num{text-align:right}table.data .row-act{color:var(--blue);cursor:pointer;font-size:12.5px;font-weight:600}.empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:13px}.badge{white-space:nowrap;border-radius:20px;padding:2px 9px;font-size:11px;font-weight:600}.b-hold{background:var(--amberbg);color:#8a5a00}.b-released{background:var(--sky);color:#0f4c75}.b-prod{background:var(--tealbg);color:#0a6d6d}.b-delivered{background:var(--greenbg);color:#146c43}.b-closed{background:var(--slatebg);color:#3f566b}.b-rejected,.b-new{background:var(--coralbg);color:#a3352a}.b-ready{background:var(--greenbg);color:#146c43}.b-pending{background:var(--amberbg);color:#8a5a00}.b-b2b{background:var(--sky);color:#0f4c75}.b-b2c{background:var(--tealbg);color:#0a6d6d}.b-maklon{background:var(--purplebg);color:#513a86}.btn{cursor:pointer;border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:7px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;display:inline-flex}.btn svg{fill:none;stroke-width:2px;width:15px;height:15px}.btn:hover{background:var(--sky)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn-primary svg{stroke:#fff}.btn-primary:hover{background:#1a6fac}.btn-primary:disabled{opacity:1;background:#b9c6d1;border-color:#b9c6d1}.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-green svg{stroke:#fff}.btn-coral{background:var(--coral);color:#fff;border-color:var(--coral)}.btn-coral svg{stroke:#fff}.btn-amber{background:var(--amber);color:#3a2600;border-color:var(--amber)}.field{margin-bottom:14px}.field label{color:var(--navy);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.field label .req{color:var(--coral)}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;padding:9px 11px;font-family:inherit;font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--sky);border-color:var(--blue)}.field .err{color:var(--coral);margin-top:4px;font-size:12px}.field .hint{color:var(--muted);margin-top:4px;font-size:12px}.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.callout{background:var(--sky);border-left:5px solid var(--blue);border-radius:6px;margin:10px 0;padding:10px 14px;font-size:13px}.callout.warn{background:var(--amberbg);border-color:var(--amber);color:#8a5a00}.callout.danger{background:var(--coralbg);border-color:var(--coral);color:#a3352a}.login-wrap{background:linear-gradient(135deg,#1d7dc0 0%,#0f9d9d 55%,#2fa66a 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:#fff;border-radius:12px;width:380px;padding:30px 32px;box-shadow:0 12px 40px #0003}.login-card .brand{border:none;padding:0 0 18px}.login-card h1{color:var(--navy);margin:0 0 4px;font-size:18px}.login-card p{color:var(--muted);margin:0 0 18px;font-size:12.5px}
