:root{
  --bg:#070A12;
  --card: rgba(255,255,255,.06);
  --line: rgba(255,255,255,.12);
  --text:#F5F7FF;
  --muted: rgba(245,247,255,.72);
  --accent:#7C3AED;
  --good:#22C55E;
  --shadow: 0 20px 70px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: radial-gradient(1200px 600px at 20% 0%, rgba(124,58,237,.25), transparent 60%),
              radial-gradient(900px 500px at 90% 20%, rgba(34,197,94,.15), transparent 55%),
              linear-gradient(180deg, #050713, #070A12);
  color:var(--text);
}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:18px}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  box-shadow: 0 10px 35px rgba(0,0,0,.25);
}
.h1{font-size:30px;line-height:1.15;margin:0}
.sub{color:var(--muted);line-height:1.7;margin:10px 0 0}
.row{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 14px;border-radius:14px;
  border:1px solid transparent;
  background:linear-gradient(135deg,var(--accent),#4F46E5);
  color:#fff;text-decoration:none;font-weight:800;
}
.btn2{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.05);
  color:var(--text);text-decoration:none;font-weight:800;
}
.badge{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
input, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.20);
  color:var(--text);
  outline:none;
}
label{font-size:12px;color:var(--muted)}
.grid{display:grid;gap:12px}
.two{grid-template-columns:1fr 1fr}
@media (max-width:800px){ .two{grid-template-columns:1fr} }
.kpi{font-size:26px;font-weight:900}
.small{font-size:12px;color:var(--muted);line-height:1.6}
.hr{height:1px;background:rgba(255,255,255,.10);margin:12px 0}
.stickyBottom{
  position:sticky; bottom:0; padding:12px 0 4px;
  background:linear-gradient(180deg, transparent, rgba(7,10,18,.85) 20%, rgba(7,10,18,.95));
}
.pill{display:inline-block;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}
.ok{color:#86efac}
.warn{color:#fbbf24}
.err{color:#fca5a5}
.progress{display:flex;gap:10px;align-items:center;justify-content:center;margin:10px 0 0}
.dot{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);color:var(--muted);font-weight:900}
.dot.on{background:rgba(34,197,94,.2);border-color:rgba(34,197,94,.5);color:#d1fae5}
.dot.active{background:rgba(124,58,237,.22);border-color:rgba(124,58,237,.6);color:#ede9fe}
.slotRow{display:flex;gap:10px;flex-wrap:wrap}
.slot{
  padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);cursor:pointer;min-width:120px;text-align:center
}
.slot.disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.tag{display:inline-block;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:12px;color:var(--muted)}
