:root{--navy:#131419;--navy2:#1c1f26;--navy3:#0b0c0f;--copper:#c8102e;--copper-hi:#ef4655;--copper-lo:#9b0d22;
--bg:#f4f6fa;--card:#fff;--ink:#15171c;--dim:#5f6672;--line:#e2e6ee;--ok:#1f9d5b;--warn:#c56a12;--bad:#d23b3b;--r:12px}
*{box-sizing:border-box;margin:0;padding:0}
body{font:14.5px/1.5 Inter,system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;text-transform:uppercase;letter-spacing:.4px;line-height:1.05}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
aside{background:var(--navy3);color:#cfd3da;padding:18px 12px 30px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:12px}
.brand img{height:40px}.brand b{font:800 18px/1 "Barlow Condensed";text-transform:uppercase;color:#fff;letter-spacing:.5px}.brand small{display:block;color:var(--copper-hi);font:600 10.5px Inter;letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.nav-h{font:700 10.5px Inter;letter-spacing:1.6px;text-transform:uppercase;color:#7d838f;margin:16px 10px 6px}
aside a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-weight:500;font-size:14px}
aside a:hover{background:rgba(255,255,255,.05);color:#fff}
aside a.on{background:rgba(200,16,46,.14);color:var(--copper-hi)}
aside a svg{flex:none;opacity:.85}
.main{padding:26px 32px 60px;min-width:0}
.topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.topline h1{font-size:34px}
.topline .sub{color:var(--dim);font-size:13.5px;margin-top:2px}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:9px;font:600 14px Inter;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#c6cddb}
.btn-p{background:linear-gradient(180deg,var(--copper-hi),var(--copper) 50%,var(--copper-lo));border-color:var(--copper-lo);color:#ffffff}
.btn-p:hover{filter:brightness(1.05)}
.btn-d{color:var(--bad);border-color:#f0c9c9}
.btn-s{padding:6px 11px;font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card h2{font-size:22px;margin-bottom:12px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.g2,.g3,.g4{grid-template-columns:1fr}}
.kpi{padding:18px 20px}
.kpi small{display:block;color:var(--dim);font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}
.kpi strong{display:block;font:800 32px/1.1 "Barlow Condensed";margin-top:6px}
.kpi span{font-size:12.5px;color:var(--dim)}
.kpi.accent{background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;border-color:transparent}
.kpi.accent small,.kpi.accent span{color:#b6bcc6}
table{width:100%;border-collapse:collapse}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font:700 11.5px Inter;letter-spacing:.8px;text-transform:uppercase;color:var(--dim);background:#fafbfd;white-space:nowrap}
th a:hover{color:var(--copper-lo)}
tbody tr:hover td{background:#fdf4f5}
tr.click{cursor:pointer}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.tbl table{min-width:640px}
tfoot td{font-weight:700;background:#fafbfd}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;background:#eef1f6;color:#3f4450;white-space:nowrap}
.pill.ok{background:#e3f6ec;color:var(--ok)}.pill.warn{background:#fbe9eb;color:var(--warn)}.pill.bad{background:#fbe6e6;color:var(--bad)}.pill.blue{background:#eef0f3;color:#3a4352}
.muted{color:var(--dim)}
.flash{padding:11px 14px;border-radius:9px;margin-bottom:14px;font-weight:500}
.flash.ok{background:#e3f6ec;color:#146b3e}.flash.err{background:#fbe6e6;color:#9b2323}
form.rec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
@media(max-width:1000px){form.rec{grid-template-columns:1fr 1fr}}
@media(max-width:640px){form.rec{grid-template-columns:1fr}}
.full{grid-column:1/-1}
label{display:block;font-size:12.5px;font-weight:600;color:var(--dim);margin-bottom:5px}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #cfd5e1;border-radius:8px;font:14.5px Inter;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(200,16,46,.35);border-color:var(--copper)}
.chk{display:flex;gap:9px;align-items:center;padding:9px 0}
.chk input{width:18px;height:18px;accent-color:var(--copper)}
.chk label{margin:0;color:var(--ink);font-weight:500;font-size:14px}
.help{font-size:12px;color:var(--dim);margin-top:3px}
.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.toolbar input{max-width:300px}.toolbar select{max-width:200px}
.side{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
@media(max-width:1200px){.side{grid-template-columns:1fr}}
.stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line)}
.stat:last-child{border:0}
.stat b{font-variant-numeric:tabular-nums}
.alert{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.alert:last-child{border:0}
.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}
.col{background:#eceff5;border-radius:12px;padding:10px;min-height:300px}
.col h3{font-size:17px;padding:4px 4px 10px;display:flex;justify-content:space-between}
.tkt{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:9px;font-size:13px}
.tkt b{font-size:14px}.tkt .l{color:var(--dim);margin:3px 0 8px}
.tkt form{display:flex;gap:6px;flex-wrap:wrap}.tkt select{padding:5px 7px;font-size:12.5px;flex:1 1 100%}.tkt form .btn{flex:1;justify-content:center}
.docs{display:flex;gap:8px;flex-wrap:wrap}
.bar{height:10px;border-radius:9px;background:#eceff5;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--copper-lo),var(--copper-hi))}
.chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:10px}
.chart>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end;font-size:11px;color:var(--dim);min-width:0}
.chart .b{width:100%;display:flex;flex-direction:row;gap:2px;align-items:flex-end;height:150px;flex:none}
.chart .b i{flex:1;display:block;border-radius:4px 4px 0 0;min-height:2px}
.legend{display:flex;gap:16px;font-size:12.5px;color:var(--dim);margin-top:8px}
.legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--c)}
.linkbox{display:flex;gap:8px}.linkbox input{font-size:13px;background:#fafbfd}
.mobile-top{display:none}
@media(max-width:860px){
  .layout{grid-template-columns:1fr}
  aside{position:fixed;inset:0 30% 0 0;z-index:40;transform:translateX(-105%);transition:transform .2s;height:100%}
  aside.open{transform:none;box-shadow:0 0 0 100vmax rgba(0,0,0,.4)}
  .mobile-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--navy3);color:#fff;position:sticky;top:0;z-index:30}
  .main{padding:18px 16px 50px}
}
@media print{aside,.mobile-top,.actions,.toolbar{display:none}.layout{display:block}}

.side>*,.grid>*{min-width:0}
