
:root{
  --bg:#0f1115; --card:#141821; --text:#e6eaf2; --muted:#9aa5b1; --border:#273144;
  --primary:#5b9cff; --success:#2ecc71; --warn:#f1c40f; --danger:#e74c3c;
}
*{box-sizing:border-box}
body{margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Helvetica Neue", "Apple Color Emoji", "Segoe UI Emoji"; background:#0f1115; color:var(--text)}
.topbar{display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--border); background:#0f141d; position:sticky; top:0}
.brand{display:flex; align-items:center; gap:10px}
.logo{width:28px; height:28px; border-radius:8px; background: linear-gradient(135deg, var(--primary), #8547ff)}
.topbar nav a{color:var(--text); text-decoration:none; margin-left:16px; opacity:.9}
.topbar nav a:hover{opacity:1}
.main{max-width:1100px; margin:0 auto; padding:20px}
.card{background: linear-gradient(180deg, #121826, #0f141e); border:1px solid var(--border); border-radius:14px; padding:16px 18px; margin:14px 0; box-shadow: 0 8px 40px rgba(0,0,0,.25)}
.card h1,.card h2{margin-top:4px}
.form{display:grid; gap:12px}
.form.grid{grid-template-columns: repeat(3, minmax(200px, 1fr)); align-items:end}
.form .buttons{grid-column: 1 / -1; display:flex; gap:8px}
label{display:flex; flex-direction:column; gap:6px; font-size:14px}
input, select{background:#192030; border:1px solid var(--border); border-radius:10px; color:var(--text); padding:10px 12px; outline:none}
input:focus, select:focus{border-color: var(--primary)}
.btn{border:none; background: var(--primary); color:#fff; padding:10px 14px; border-radius:10px; cursor:pointer}
.btn.success{background: var(--success)} .btn.warn{background: var(--warn)} .btn.danger{background: var(--danger)}
.btn.small{padding:8px 10px; font-size: 14px}
.row{display:flex; gap:10px; align-items:center}
.table{width:100%; border-collapse: collapse}
.table th,.table td{padding:8px 10px; border-bottom:1px solid var(--border)}
.inline{display:inline}
.narrow{max-width:400px; margin: 18px auto}
.alert{padding:10px 12px; background:#522; border:1px solid #844; border-radius:10px}
.pre{background:#0d121a; border:1px solid var(--border); border-radius:10px; padding:12px; white-space:pre-wrap}
.pre.small{max-height:240px; overflow:auto}
.muted{color:var(--muted)}
.nowrap{white-space:nowrap}
.chk{display:flex; align-items:center; gap:8px}
