:root{--purple:#A610DF;--deep:#6E0895;--ink:#160f21;--panel:#1e1630;--panel2:#271c3d;--line:#3a2c56;--text:#efeaf7;--muted:#a99dc0;--good:#3ddc97;--warn:#ffb44d;--bad:#ff5f6d}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1100px 620px at 15% -10%,#3a1259 0%,var(--ink) 55%) no-repeat,var(--ink);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;min-height:100vh}
.wrap{max-width:1040px;margin:0 auto;padding:34px 20px 80px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--purple);box-shadow:0 0 14px var(--purple)}
h1{font-size:30px;margin:18px 0 6px;letter-spacing:-.02em}
.sub{color:var(--muted);margin:0 0 26px;max-width:70ch}
.card{background:linear-gradient(180deg,var(--panel) 0%,var(--panel2) 100%);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px}
.card h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 16px;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
input,select{width:100%;background:#150e23;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px 12px;font-size:15px;outline:none}
input:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(166,16,223,.18)}
button{background:linear-gradient(135deg,var(--purple),var(--deep));color:#fff;border:0;border-radius:11px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer}
button:disabled{opacity:.55;cursor:progress}
button.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);font-weight:500}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.kpi{background:#150e23;border:1px solid var(--line);border-radius:14px;padding:16px}
.kpi .n{font-size:30px;font-weight:700;letter-spacing:-.02em}
.kpi .l{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:4px}
.kpi.hero{border-color:var(--purple);background:linear-gradient(160deg,rgba(166,16,223,.22),#150e23)}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.note{font-size:13px;color:var(--muted)}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.pill.good{background:rgba(61,220,151,.15);color:var(--good)}
.pill.warn{background:rgba(255,180,77,.15);color:var(--warn)}
.pill.bad{background:rgba(255,95,109,.15);color:var(--bad)}
.err{background:rgba(255,95,109,.12);border:1px solid rgba(255,95,109,.4);color:#ffc4c9;padding:12px 14px;border-radius:11px;font-size:14px;margin-top:14px}
.foot{color:var(--muted);font-size:12px;margin-top:34px;text-align:center}
a{color:#d78bff}
.rowend{display:flex;gap:12px;align-items:center;margin-top:18px;flex-wrap:wrap}
.hidden{display:none}
