/* Lenguaje visual común: admin, simulador, portal y app simulator */
:root {
  --bg: #f4f6fb;
  --panel: #ffffff;
  --ink: #0f1b33;
  --ink-2: #33415c;
  --muted: #6b7689;
  --line: #e4e8f0;
  --line-2: #eef1f6;
  --navy: #0a1a3a;
  --navy-2: #12264f;
  --primary: #0b5fff;
  --primary-soft: #e8f0ff;
  --green: #12a150;
  --green-soft: #dcf5e7;
  --amber: #d98a04;
  --amber-soft: #fff1d6;
  --red: #e0383e;
  --red-soft: #fde4e4;
  --violet: #6d4df2;
  --violet-soft: #ece8ff;
  --slate-soft: #eef1f6;
  --radius: 14px;
  --shadow: 0 1px 2px rgba(15, 27, 51, .04), 0 4px 16px rgba(15, 27, 51, .05);
  --font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; }
body { font-family: var(--font); color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; font-size: 14px; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }
.mono { font-family: var(--mono); font-size: 12.5px; }
.muted { color: var(--muted); }

/* Badges de estado (una sola paleta para todo el producto) */
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; background: var(--slate-soft); color: var(--ink-2); }
.badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .9; }
.badge.plain::before { display: none; }
.st-AUTHORIZED, .st-ALLOWED, .st-ONLINE, .st-VERIFIED, .st-GRANTED, .st-CLIENT_AUTHORIZED, .st-active { background: var(--green-soft); color: #0b7a3b; }
.st-AUTHENTICATING, .st-AUTHENTICATED, .st-AUTHORIZING, .st-PENDING, .st-IN_PROGRESS, .st-CLIENT_AUTHENTICATED, .st-CLIENT_AUTHORIZING { background: var(--amber-soft); color: #9a6200; }
.st-CAPTIVE, .st-DETECTED, .st-CLIENT_CAPTIVE, .st-CLIENT_CONNECTED { background: var(--red-soft); color: #b4232a; }
.st-BLOCKED { background: var(--red-soft); color: #b4232a; }
.st-EXPIRED, .st-LOGGED_OUT, .st-DISCONNECTED, .st-CLIENT_EXPIRED, .st-CLIENT_DISCONNECTED, .st-ENDED, .st-NONE, .st-NOT_GRANTED, .st-OFFLINE, .st-inactive { background: var(--slate-soft); color: #56627a; }
.st-REVOKED, .st-REJECTED, .st-CLIENT_REVOKED { background: #ffe3ea; color: #b01743; }
.st-SIMULATOR { background: var(--violet-soft); color: #5236d6; }
.st-NOT_CONFIGURED { background: var(--slate-soft); color: #56627a; }
