:root{ --bg:#0b1020; --fg:#e5e7eb; --muted:#9ca3af; --primary:#60a5fa; --danger:#ef4444; --card:#111827; --border:#1f2937; }
*{box-sizing:border-box} body{margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--fg)}
.wrap{max-width:960px;margin:0 auto;padding:1rem}
.topbar{background:#0f172a;border-bottom:1px solid var(--border)} .topbar .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between}
.topbar a{color:var(--fg);opacity:.9;text-decoration:none;margin-left:1rem} .topbar a:hover{opacity:1}
.table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.table th,.table td{padding:.75rem;border-bottom:1px solid var(--border)} .table th{color:var(--muted);text-align:left;font-weight:500}
.table td.right{text-align:right}
.btn{background:var(--primary);color:#001729;border:none;border-radius:8px;padding:.5rem .8rem;text-decoration:none;display:inline-block}
.btn:hover{filter:brightness(1.1)} .btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}
.btn.sm{padding:.3rem .6rem;font-size:.9rem} .btn.danger{background:var(--danger);color:#fff}
.flex{display:flex;gap:.6rem} .between{justify-content:space-between} .center{align-items:center}
.form{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem}
.form label{display:block;margin:.6rem 0} .form label span{display:block;color:var(--muted);font-size:.9rem;margin-bottom:.2rem}
.form input[type=text]{width:100%;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:#0b1220;color:var(--fg)}
.form .actions{margin-top:1rem;display:flex;gap:.6rem}
.flash{padding:.6rem .8rem;border-radius:8px;margin:.8rem 0} .flash.success{background:#062f1b;color:#a7f3d0} .flash.error{background:#3b0b0b;color:#fecaca}
.small{font-size:.9rem} .muted{color:var(--muted)}

/* Toast notifications */
#toast { min-width:200px; max-width:320px; }
#toast .toast { padding:.6rem .9rem; border-radius:8px; box-shadow:0 6px 20px rgba(2,6,23,0.6); margin-bottom:.6rem; color:#001729; font-weight:600; }
#toast .toast.info{ background:#e6edf8; color:#08306b }
#toast .toast.success{ background:#dff7e6; color:#0a4d1a }
#toast .toast.error{ background:#ffe6e6; color:#6b0606 }
#toast .toast.hide{ opacity:0; transform:translateY(-6px); transition:opacity .25s, transform .25s; }