:root { color-scheme: dark; }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; background:#0b0f19; color:#e5e7eb; }
a { color:#93c5fd; text-decoration:none; }
.container { max-width: 960px; margin: 0 auto; padding: 18px; }
.card { background:#0f172a; border:1px solid #1f2a44; border-radius:16px; padding:16px; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.row { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.muted { color:#94a3b8; font-size: 13px; }
.err { border:1px solid #7f1d1d; background:#2a0f12; color:#fecaca; padding:10px 12px; border-radius:12px; }
.ok { border:1px solid #14532d; background:#071a10; color:#bbf7d0; padding:10px 12px; border-radius:12px; }
.input { width:100%; padding:10px 12px; border-radius:12px; border:1px solid #26324d; background:#0b1224; color:#e5e7eb; outline:none; }
.btn { padding:10px 12px; border-radius:12px; border:1px solid #334155; background:#1f2937; color:#e5e7eb; cursor:pointer; font-weight:700; }
.btn2 { padding:10px 12px; border-radius:12px; border:1px solid #334155; background:transparent; color:#e5e7eb; cursor:pointer; font-weight:700; }
.grid { display:grid; gap:12px; }
h1 { margin: 0 0 10px; font-size: 22px; }
label { display:grid; gap:6px; font-size: 13px; color:#cbd5e1; }
code { background:#0b1224; border:1px solid #1f2a44; padding:2px 6px; border-radius:8px; }

/* v4.4.6: global admin status banner */
.banner { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(148,163,184,.18); background: rgba(148,163,184,.06); color: #e5e7eb; }
.banner.ok { border-color: rgba(34,197,94,.35); background: rgba(34,197,94,.10); color: #bbf7d0; }
.banner.err { border-color: rgba(244,63,94,.35); background: rgba(244,63,94,.10); color: #fecaca; }
.banner a { color: #93c5fd; text-decoration: underline; }

/* v4.3: RBAC UI helpers */
.chips { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.chip { display:inline-flex; padding:6px 10px; border-radius:999px; border:1px solid rgba(148,163,184,.22); background: rgba(148,163,184,.06); font-size:12px; }
.chk { display:flex; align-items:center; gap:8px; border:1px solid rgba(148,163,184,.15); background: rgba(148,163,184,.05); padding:8px 10px; border-radius:12px; }
.chk input { transform: translateY(1px); }


/* v3: pills for servers status */
.pill { display:inline-block; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:700; }
.pill.ok { background:#e6fffa; color:#065f46; border:1px solid rgba(6,95,70,.2); }
.pill.warn { background:#fff7ed; color:#9a3412; border:1px solid rgba(154,52,18,.2); }
.pill.err { background:#fef2f2; color:#991b1b; border:1px solid rgba(153,27,27,.2); }
.pill.muted { background:#f1f5f9; color:#475569; border:1px solid rgba(71,85,105,.2); }



/* v4: live events console */
.console {
  height: 520px;
  overflow: auto;
  background: #0b1220;
  color: #e5e7eb;
  border: 1px solid rgba(148,163,184,.25);
  border-radius: 12px;
  padding: 10px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12.5px;
  line-height: 1.35;
}
.console .line { padding: 2px 0; border-bottom: 1px dashed rgba(148,163,184,.10); }
.console .ts { color: #93c5fd; }
.console .srv { color: #a7f3d0; margin-left: 6px; }
.console .lvl { display:inline-block; min-width: 44px; text-transform: uppercase; font-weight: 800; margin-left: 6px; }
.console .lvl.linfo { color: #86efac; }
.console .lvl.lwarn { color: #facc15; }
.console .lvl.lerr { color: #fb7185; }
.console .lvl.ldbg { color: #c4b5fd; }
.console .msg { margin-left: 6px; }


/* v4.4.5: system db page */
.code {
  background: #0b1224;
  border: 1px solid #1f2a44;
  padding: 10px 12px;
  border-radius: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12.5px;
  line-height: 1.35;
  white-space: pre;
}
