:root{
  --bg:#0d1b2a;            /* page background */
  --card:#12263a;          /* panels, cards */
  --panel:#12263a;         /* alias */
  --row:#16283c;           /* list rows / inputs */
  --line:#2b4a68;          /* borders */
  --fg:#e8f1f8;            /* main text */
  --muted:#8fb3cc;         /* secondary text */
  --dim:#8fb3cc;           /* alias */
  --accent:#4aa8ff;        /* links, active */
  --ok:#4ade80;
  --radius:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
     font:14px/1.35 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}

/* ---------- top bar ---------- */
header{display:flex;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid var(--line)}
header h1,h1.h1{font-size:16px;margin:0;font-weight:600;letter-spacing:.4px}
header > div:first-child{display:flex;align-items:baseline;gap:10px}
.brand{color:var(--accent);font-weight:700;letter-spacing:1px}
.meta{display:flex;flex-wrap:wrap;gap:4px 18px;color:var(--muted);font-size:12px;margin:0}
header .meta{margin-left:auto}
.meta b{color:var(--fg);font-weight:600}
.topnav{display:flex;gap:6px;margin-left:16px}
.topnav a{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:7px;
          padding:5px 12px;font-size:12.5px}
.topnav a.on{color:var(--fg);border-color:var(--accent);background:#14304a}
.topnav a:hover{color:var(--fg)}

/* ---------- controls ---------- */
button{font:inherit;cursor:pointer;border-radius:7px;border:1px solid var(--line);background:var(--row);color:var(--fg);padding:6px 10px}
button:hover{background:#1d3450}
button.small{padding:4px 8px;font-size:12px}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}
.card h2{margin:0 0 6px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}

/* ---------- login card ---------- */
.logincard,.login{max-width:460px;margin:60px auto;background:var(--card);border:1px solid var(--line);
                  border-radius:12px;padding:26px 28px;text-align:center}
.logincard h1,.login h1{font-size:20px;margin:0 0 8px;font-weight:600;letter-spacing:0}
.logincard p,.login p{color:var(--muted);font-size:13px;margin:0 0 16px}
.logincard button,.login button{margin-top:10px;padding:9px 18px;background:var(--accent);
                                border-color:var(--accent);color:#04141f;font-weight:700}

/* ---------- misc shared ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:20px;
      font-size:12.5px;border:1px solid var(--line);background:var(--row)}
.chip i{width:9px;height:9px;border-radius:50%;display:inline-block}
.chip.empty{color:var(--muted)}
.json{margin-top:8px;width:100%;height:62px;background:#0f2233;color:#cfe3f5;border:1px solid var(--line);
      border-radius:7px;font:11px/1.4 ui-monospace,Consolas,monospace;padding:7px}
.err{color:#ff8080;font-size:12px;padding:4px 0}
footer{margin-top:14px;color:var(--muted);font-size:11px}
