:root{
  --bg:#0b1020; --bg2:#0d1630; --card:#121a33; --muted:#97a0bd; --text:#e9ecf8;
  --brand:#6ea8fe; --brand2:#836bff; --ok:#29cf6a; --warn:#ffb020; --danger:#ff5a67;
  --border:#1e2a4d; --shadow:0 8px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 600px at 10% -10%, #182452 0%, transparent 60%), radial-gradient(1000px 600px at 90% -20%, #221d5a 0%, transparent 60%), var(--bg);color:var(--text);font:15px/1.5 system-ui,Segoe UI,Roboto,Arial}
a{color:var(--brand);text-decoration:none}
button{font:inherit}

.container{max-width:1100px;margin:0 auto;padding:20px}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:16px;padding:10px 14px;box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.brand svg{width:24px;height:24px}
.nav a{margin-left:8px;padding:8px 10px;border-radius:10px;color:var(--text)}
.nav a.active,.btn{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff}
.nav a.ghost{border:1px solid var(--border);background:transparent}
.hero{margin:28px 0 18px}
.hero h1{margin:0 0 8px;font-size:28px}
.hero p{margin:0;color:var(--muted)}

.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:860px){.grid-2{grid-template-columns:1fr}}

.card{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
  border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow)
}

.stat{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--border);border-radius:14px;padding:12px 14px;min-width:180px
}
.stat b{display:block;color:#cfe0ff;margin-bottom:6px}
.kpi{font-size:22px;font-weight:700}

.input, select{
  width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.02);color:var(--text);outline:none
}
.input:focus{border-color:#3e58aa;box-shadow:0 0 0 3px rgba(110,168,254,.2)}

.btn{
  border:none;padding:10px 14px;border-radius:12px;cursor:pointer;box-shadow:var(--shadow)
}
.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text);box-shadow:none}
.btn.danger{background:linear-gradient(135deg,#e85060,#ff5a67)}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left}
.table thead th{position:sticky;top:0;background:#0e1530;z-index:1}

.row{display:flex;gap:10px;flex-wrap:wrap}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:#16224a;color:#cfe0ff}
.badge.ok{background:#0e2d1d;color:#bfffd0;border-color:#1f5c3a}
.badge.warn{background:#2b220f;color:#ffe0a8;border-color:#4c3a15}
.badge.danger{background:#361317;color:#ffc8ce;border-color:#6b1f27}

.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.linkcell{display:flex;align-items:center;gap:8px;min-width:0}
.linkcell a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:520px}
.copy{border:1px solid var(--border);background:#0f1a3a;color:#cfe0ff;border-radius:8px;padding:6px 8px;cursor:pointer}

.toast{position:fixed;right:16px;bottom:16px;background:#111c3a;border:1px solid var(--border);padding:10px 12px;border-radius:12px;opacity:0;transform:translateY(8px);transition:.2s;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translateY(0)}
footer{margin:18px 0 8px;color:var(--muted);text-align:center}
