:root{--bg:#0b0c10;--card:#12141b;--text:#e9eef5;--muted:#a6b1c2;--line:#232633;--btn:#2a2f3f;--primary:#3a82f7;--danger:#d84545;--ok:#1f9d6e;--warn:#d6a12f}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.page{min-height:100vh;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.15);backdrop-filter:blur(10px)}
.brand{font-weight:650}
.nav a{margin-left:14px;color:var(--muted)}
.content{padding:18px;max-width:1200px;width:100%;margin:0 auto}
.page_title{margin:0 0 14px 0;font-size:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin:0 0 14px 0}
.card_title{margin:0 0 10px 0;font-size:16px;color:var(--muted);font-weight:600}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}
.field label{display:block;margin:0 0 6px 0;color:var(--muted);font-size:12px}
input{width:100%;padding:10px;border-radius:10px;border:1px solid var(--line);background:#0f1117;color:var(--text);outline:none}
input:focus{border-color:rgba(58,130,247,.9);box-shadow:0 0 0 3px rgba(58,130,247,.15)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--btn);color:var(--text);cursor:pointer;font-weight:600}
.btn_primary{background:var(--primary);border-color:rgba(58,130,247,.7)}
.btn_secondary{background:transparent}
.btn_danger{background:var(--danger);border-color:rgba(216,69,69,.65)}
.actions{display:flex;justify-content:flex-end}
.table_wrap{overflow:auto}
.table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-size:12px;text-align:left;font-weight:650}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.pill{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:650}
.pill_ok{background:rgba(31,157,110,.2);color:#bff1df}
.pill_bad{background:rgba(216,69,69,.25);color:#ffd0d0}
.pill_warn{background:rgba(214,161,47,.2);color:#ffe6b1}
.pill_neutral{background:rgba(166,177,194,.15);color:#dde5f3}
.muted{color:var(--muted)}
.small{font-size:12px}
.actions_inline{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}
.inline_form{display:inline}
.flash_stack{margin:10px 0;display:flex;flex-direction:column;gap:8px}
.flash{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#0f1117}
.flash_error{border-color:rgba(216,69,69,.5)}
.flash_success{border-color:rgba(31,157,110,.5)}
.login_page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}
.login_card{width:min(460px,100%);background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}
.disclaimer{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.35}
@media (max-width:860px){.grid{grid-template-columns:1fr}.actions{justify-content:stretch}.btn{width:100%}.actions_inline{flex-direction:column;align-items:stretch}.actions_inline .btn{width:100%}}
