:root{
  --bg:#0b1020;
  --card:#111a33;
  --muted:#9aa4c7;
  --text:#eef2ff;
  --border: rgba(255,255,255,.10);
  --accent:#7c3aed;
  --accent2:#22c55e;
  --danger:#ef4444;
  --warn:#f59e0b;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; background: radial-gradient(1200px 600px at 20% 0%, rgba(124,58,237,.25), transparent 60%), var(--bg); color: var(--text); }
a{ color:inherit; text-decoration:none; }
code{ background: rgba(255,255,255,.08); padding: .15rem .35rem; border-radius: .35rem; }

.container{ max-width: 1100px; margin: 0 auto; padding: 24px; }
.header{
  display:flex; align-items:center; justify-content:space-between;
  padding: 14px 18px; border:1px solid var(--border); border-radius:14px;
  background: rgba(17,26,51,.65); backdrop-filter: blur(8px);
}
.brand{ display:flex; gap:12px; align-items:center; }
.logo{
  width: 38px; height: 38px; border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), #06b6d4);
  box-shadow: 0 10px 30px rgba(124,58,237,.25);
}
.brand h1{ font-size: 16px; margin:0; letter-spacing:.3px; }
.brand small{ display:block; color: var(--muted); margin-top:2px; }

.nav{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.nav a{
  padding: 8px 10px; border-radius: 10px; border:1px solid transparent;
  color: var(--muted);
}
.nav a.active, .nav a:hover{
  color: var(--text);
  border-color: var(--border);
  background: rgba(255,255,255,.06);
}

.grid{ display:grid; gap:14px; grid-template-columns: repeat(12, 1fr); margin-top: 18px; }
.card{
  grid-column: span 12;
  border:1px solid var(--border);
  border-radius: 16px;
  background: rgba(17,26,51,.70);
  backdrop-filter: blur(10px);
  padding: 16px;
}
.card h2{ margin:0 0 10px; font-size: 16px; }
.card p{ margin:0; color: var(--muted); line-height:1.45; }

.row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.spacer{ flex:1; }

.btn{
  appearance:none; border:1px solid var(--border); background: rgba(255,255,255,.06);
  color: var(--text); padding: 10px 12px; border-radius: 12px; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px; font-weight:600;
}
.btn:hover{ background: rgba(255,255,255,.10); }
.btn.primary{ background: rgba(124,58,237,.25); border-color: rgba(124,58,237,.45); }
.btn.primary:hover{ background: rgba(124,58,237,.35); }
.btn.success{ background: rgba(34,197,94,.20); border-color: rgba(34,197,94,.40); }
.btn.danger{ background: rgba(239,68,68,.20); border-color: rgba(239,68,68,.40); }
.btn.small{ padding: 7px 9px; border-radius: 10px; font-weight:600; }

.input, select{
  background: rgba(255,255,255,.06);
  border:1px solid var(--border);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 12px;
  outline:none;
}
.input::placeholder{ color: rgba(238,242,255,.45); }
label{ color: var(--muted); font-size: 12px; display:block; margin-bottom:6px; }

.table-wrap{ overflow:auto; border:1px solid var(--border); border-radius: 14px; }
table{ width:100%; border-collapse: collapse; min-width: 860px; }
th,td{ padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align:left; vertical-align:top; }
th{ color: var(--muted); font-size: 12px; font-weight:700; letter-spacing:.3px; }
tr:hover td{ background: rgba(255,255,255,.04); }
.badge{
  display:inline-flex; align-items:center; gap:6px;
  padding: 4px 8px; border-radius: 999px;
  border:1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
}
.badge.active{ color: #c7f9d4; border-color: rgba(34,197,94,.4); background: rgba(34,197,94,.12); }
.badge.archived{ color: #fde68a; border-color: rgba(245,158,11,.4); background: rgba(245,158,11,.12); }

.footer{ margin-top: 22px; color: var(--muted); font-size: 12px; }

.toast{
  position: fixed; right: 18px; bottom: 18px;
  min-width: 260px; max-width: 360px;
  background: rgba(17,26,51,.92);
  border:1px solid var(--border);
  border-radius: 14px;
  padding: 12px 12px;
  display:none;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
}
.toast.show{ display:block; }
.toast .title{ font-weight:800; margin-bottom:4px; }
.toast .msg{ color: var(--muted); font-size: 13px; line-height:1.35; }
.toast.success{ border-color: rgba(34,197,94,.5); }
.toast.error{ border-color: rgba(239,68,68,.5); }

.modal-backdrop{
  position: fixed; inset: 0;
  background: rgba(0,0,0,.55);
  display:none;
  align-items:center; justify-content:center;
  padding: 18px;
}
.modal-backdrop.show{ display:flex; }
.modal{
  width: min(760px, 100%);
  background: rgba(17,26,51,.95);
  border:1px solid var(--border);
  border-radius: 16px;
  padding: 14px;
}
.modal h3{ margin: 0 0 10px; font-size: 15px; }
.modal .content{ color: var(--muted); font-size: 13px; }
.modal .actions{ display:flex; gap:10px; justify-content:flex-end; margin-top: 12px; }

.kpi{ display:flex; gap:10px; flex-wrap:wrap; }
.kpi .pill{
  border:1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  min-width: 160px;
  background: rgba(255,255,255,.05);
}
.kpi .pill .label{ color: var(--muted); font-size: 12px; }
.kpi .pill .value{ font-weight: 900; font-size: 18px; margin-top: 4px; }