:root {
  --bg:#121722;
  --nav:#1a2232;
  --panel:#202b3e;
  --panel2:#26344b;
  --line:#35435b;
  --text:#f4f7ff;
  --muted:#a7b9d5;
  --accent:#7d8cff;
  --accent2:#a7b2ff;
  --green:#4adea1;
  --yellow:#f8c96b;
  --red:#ff7e8c;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
header{
  background:var(--nav);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:10;
}
.topbar{
  max-width:1440px;
  margin:auto;
  min-height:70px;
  padding:12px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{font-size:19px;font-weight:800;white-space:nowrap}
.brand-mark{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-right:9px;
  background:linear-gradient(135deg,#8a9bff,#6556ed);
  border-radius:10px;
}
nav{display:flex;gap:7px;flex-wrap:wrap}
nav a{
  padding:11px 14px;
  color:var(--muted);
  border-radius:9px;
  font-size:13px;
  font-weight:600;
}
nav a:hover,nav a.active{
  background:#344460;
  color:white;
}
main{max-width:1320px;margin:auto;padding:42px 28px 90px}
.eyebrow{
  color:var(--accent2);
  font-size:12px;
  letter-spacing:1.5px;
  font-weight:800;
  text-transform:uppercase;
}
h1{font-size:clamp(27px,4vw,39px);margin:10px 0}
h2{font-size:19px;margin:0 0 18px}
.subtitle{color:var(--muted);line-height:1.6;margin:0 0 30px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
}
.card:hover{border-color:#536688}
.metric{font-size:37px;font-weight:800;margin:12px 0 4px}
.muted{color:var(--muted)}
.small{font-size:12px}
.section{margin-top:30px}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}
button,.button{
  display:inline-block;
  border:1px solid transparent;
  background:var(--accent);
  color:#10182b;
  padding:11px 16px;
  border-radius:9px;
  font:inherit;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
}
button:hover,.button:hover{filter:brightness(1.12)}
button.secondary,.button.secondary{
  background:var(--panel2);
  color:var(--text);
  border-color:var(--line);
}
input,select,textarea{
  background:#151e2e;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:9px;
  padding:12px;
  font:inherit;
  width:100%;
}
input:focus,select:focus,textarea:focus{
  outline:2px solid var(--accent);
  outline-offset:1px;
}
label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:7px}
.field{margin-bottom:16px}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:640px}
th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:12px;font-weight:700}
td{font-size:13px}
tr:last-child td{border-bottom:0}
.badge{
  display:inline-block;
  border-radius:20px;
  padding:5px 10px;
  font-size:11px;
  font-weight:800;
  background:#334155;
}
.badge.active{color:var(--green);background:#173f38}
.badge.inactive{color:var(--red);background:#4a2633}
.badge.planned{color:var(--yellow);background:#4a3b28}
.hidden{display:none!important}
.message{padding:12px 0;color:var(--green)}
.error{padding:12px 0;color:var(--red)}
.checkrow{display:flex;flex-wrap:wrap;gap:12px}
.checkrow label{
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--panel2);
  padding:12px;
  border-radius:10px;
  cursor:pointer;
}
.checkrow input{width:auto}
.actions{display:flex;gap:8px;flex-wrap:wrap}
footer{color:var(--muted);font-size:12px;margin-top:50px}
@media(max-width:900px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topbar{flex-wrap:wrap}
}
@media(max-width:600px){
  .grid,.grid.two,.formgrid{grid-template-columns:1fr}
  main{padding:26px 16px}
  .topbar{padding:12px 16px}
  nav a{padding:8px}
}
