:root{--bg:#0E1814;--panel:#16231D;--panel2:#1D2D26;--ink:#E9F0E8;--muted:#9BB0A5;--line:#2A3B33;--amber:#E6A45A;--amber2:#F0B26A;--pine:#2C6A53;--ok:#5CC48A;--warn:#F0A065;--bad:#E07A7A;
--display:"Bricolage Grotesque","Avenir Next","Segoe UI",sans-serif;--body:"Figtree","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}html{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5}
h1,h2{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.1}h1{font-size:2rem;font-weight:800}h2{font-size:1.05rem;font-weight:600}
p{margin:0}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
a{color:inherit}button,input,select{font:inherit;color:inherit}button{cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);padding:9px 16px;border-radius:999px;font-weight:600}
.btn.solid{background:var(--amber);border-color:var(--amber);color:#1a1208}.btn.sm{padding:6px 12px;font-size:.85rem}.btn:disabled{opacity:.5}
input,select{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}
.loginbox{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:12px}
.loginbox .logo{height:40px;width:auto;align-self:flex-start;filter:brightness(0) invert(1)}
.loginbox label,.form label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--muted)}
.err{color:var(--warn);font-size:.9rem;min-height:1.2em}
.bar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 20px;background:rgba(14,24,20,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand img{height:34px;width:auto;filter:brightness(0) invert(1);display:block}
.tabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:4px}
.tabs button{border:0;background:transparent;border-radius:999px;padding:7px 14px;font-weight:600;color:var(--muted)}.tabs button[aria-pressed="true"]{background:var(--panel2);color:var(--ink)}
.tabs b{font-family:var(--mono);font-size:.7rem;background:var(--amber);color:#1a1208;border-radius:999px;padding:1px 7px;margin-left:4px}
.ranges{display:flex;gap:4px;margin-left:auto}.ranges button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:6px 12px;font-size:.84rem;color:var(--muted)}.ranges button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.who{display:flex;align-items:center;gap:10px}.role{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.live{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(92,196,138,.6);animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(92,196,138,0)}100%{box-shadow:0 0 0 0 rgba(92,196,138,0)}}
.wrap{max-width:1320px;margin-inline:auto;padding:20px}
.view{display:flex;flex-direction:column;gap:16px}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi b{font-family:var(--display);font-weight:800;font-size:1.7rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.kpi span{font-size:.82rem;color:var(--muted)}.kpi small{font-family:var(--mono);font-size:.7rem;color:var(--amber)}
.kpi.hot b{color:var(--amber2)}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.kpis{grid-template-columns:1fr 1fr}}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2>*,.grid3>*{min-width:0}@media (max-width:980px){.grid2,.grid3{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
.ph{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
canvas{width:100%;height:240px;display:block}
.legend{display:flex;gap:16px;font-size:.82rem;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.l1{background:var(--amber)}.l2{background:var(--ok)}
.funnel{display:flex;flex-direction:column;gap:10px}
.step{display:grid;grid-template-columns:150px 1fr 60px;align-items:center;gap:10px;font-size:.88rem}
.step .track{height:22px;background:var(--panel2);border-radius:6px;overflow:hidden}.step .track i{display:block;height:100%;background:linear-gradient(90deg,var(--pine),var(--amber));border-radius:6px;transition:width .6s}
.step b{font-family:var(--mono);font-size:.82rem;text-align:right}.step small{color:var(--muted);display:block;font-size:.72rem}
.bars{display:flex;flex-direction:column;gap:8px}.row{display:grid;grid-template-columns:1fr 50px;gap:8px;align-items:center;font-size:.86rem}
.row .track{height:6px;background:var(--panel2);border-radius:3px;overflow:hidden;margin-top:4px}.row .track i{display:block;height:100%;background:var(--amber);border-radius:3px}.row b{font-family:var(--mono);font-size:.8rem;text-align:right}
.empty{color:var(--muted);font-size:.86rem}
.tablebox{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:600px}
th{text-align:left;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}th,td{padding:10px 10px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle}
td.n{font-family:var(--mono);font-variant-numeric:tabular-nums}tr.click{cursor:pointer}tr.click:hover td{background:var(--panel2)}
.pill{font-size:.74rem;border-radius:999px;padding:2px 10px;border:1px solid var(--line);text-transform:capitalize}
.pill.new{background:var(--amber);color:#1a1208;border-color:var(--amber)}.pill.delivered{border-color:var(--ok);color:var(--ok)}.pill.cancelled{border-color:var(--bad);color:var(--bad)}.pill.low{border-color:var(--warn);color:var(--warn)}.pill.ok{border-color:var(--ok);color:var(--ok)}
select.status{padding:5px 8px;border-radius:8px;font-size:.84rem}
input.stock{width:84px;padding:5px 8px;border-radius:8px;font-family:var(--mono)}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chk{display:flex;align-items:center;gap:6px;font-size:.84rem;color:var(--muted)}
.form{display:flex;flex-direction:column;gap:12px}.howto{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.side{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:20;display:flex;justify-content:flex-end}
.sidebox{width:min(460px,100%);background:var(--panel);border-left:1px solid var(--line);padding:24px;overflow:auto;position:relative}
.x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--panel2)}
.od{display:flex;flex-direction:column;gap:14px}.od dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;margin:0;font-size:.9rem}.od dt{color:var(--muted)}.od dd{margin:0}
.od .items{border:1px solid var(--line);border-radius:12px;padding:10px;font-size:.9rem;display:flex;flex-direction:column;gap:6px}.od .items div{display:flex;justify-content:space-between}
.hist{display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,80px);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:.9rem;z-index:60;transition:transform .3s;pointer-events:none}.toast.show{transform:translate(-50%,0)}
[hidden]{display:none!important}
