:root{--bg:#0b1220;--card:#111a2b;--border:#23314d;--text:#e7e7e7;--muted:rgba(231,231,231,.75);--primary:#22c55e;--primaryText:#07120a;}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:rgba(17,26,43,.9);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:28px;width:auto}
.brand-name{font-weight:900}
.nav a{color:var(--text);text-decoration:none;margin-left:10px;opacity:.9}
.nav a:hover{opacity:1}
.container{max-width:1200px;margin:0 auto;padding:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
label{display:block;margin-top:10px;margin-bottom:6px;opacity:.9}
input,select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#0a1020;color:var(--text);}
textarea{min-height:110px;resize:vertical}
.btn{display:inline-block;margin-top:10px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:#0a1020;color:var(--text);text-decoration:none;font-weight:900;cursor:pointer}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primaryText);}
.alert{margin-top:10px;padding:10px 12px;border-radius:12px;border:1px solid #7f1d1d;background:#3b0a0a}
.muted{color:var(--muted)}
.table{width:100%;border-collapse:collapse;margin-top:10px}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px 8px;text-align:left;vertical-align:top}
.badge{padding:3px 10px;border-radius:999px;font-weight:900;font-size:12px;display:inline-block}
.badge.ok{background:#22c55e;color:#07120a}
.badge.warn{background:#fbbf24;color:#1b1301}
.badge.fail{background:#fb7185;color:#1b0a0f}
