:root{
  --bg:#07090d; --panel:#0b0f18; --text:#e6eaf3; --muted:#a9b0be;
  --accent:#8b5cf6; --accent-2:#22d3ee; --border:rgba(255,255,255,.1);
}
*{box-sizing:border-box}
body{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; background:radial-gradient(1000px 800px at 110% 10%, rgba(139,92,246,.12), transparent 35%), radial-gradient(1200px 800px at 10% -10%, rgba(34,211,238,.10), transparent 45%), linear-gradient(180deg, #05070b, #080b12 30%, #07090d); color:var(--text)}
.card{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)); border:1px solid var(--border); border-radius:18px; box-shadow:0 10px 40px rgba(0,0,0,.35)}
.btn{display:inline-flex; align-items:center; justify-content:center; border-radius:12px; padding:.7rem 1.1rem; font-weight:700; border:1px solid transparent; transition:all .18s ease}
.btn-primary{background:linear-gradient(90deg, var(--accent), var(--accent-2)); color:#0a0c12}
.btn-ghost{background:transparent; border-color:var(--border); color:var(--text)}
.badge{display:inline-block; font-size:.72rem; padding:.25rem .55rem; border-radius:999px; background:rgba(34,211,238,.12); color:#aaf1ff; border:1px solid rgba(34,211,238,.25)}
.flash{border-left:4px solid var(--accent); background:rgba(139,92,246,.12); padding:.8rem 1rem; border-radius:10px}
input,select,textarea{background:#0a0c12; border:1px solid var(--border); color:var(--text); border-radius:12px; padding:.6rem .75rem}
input:focus,select:focus,textarea:focus{outline:none; border-color:rgba(139,92,246,.6); box-shadow:0 0 0 4px rgba(139,92,246,.15)}
.table{width:100%; border-collapse:separate; border-spacing:0 10px}
.table th{text-align:left; font-size:.85rem; color:var(--muted); padding:.4rem .6rem}
.table td{background:rgba(255,255,255,.03); border:1px solid var(--border); padding:.75rem .9rem}
.table tr td:first-child{border-radius:12px 0 0 12px}
.table tr td:last-child{border-radius:0 12px 12px 0}
.prose{color:var(--muted)}
