/* ─────────────────────────────────────────────────────────────────────────
   Fontes servidas localmente. Nenhuma chamada a CDN externo: em painel de
   segurança isso evitaria vazar referer a cada acesso e quebraria em rede
   fechada. IBM Plex — SIL Open Font License 1.1 (fonts/LICENSE-IBMPlex.txt).
   ───────────────────────────────────────────────────────────────────────── */

@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Sans Condensed'; font-style: normal; font-weight: 600;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-sans-condensed-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 400;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono'; font-style: normal; font-weight: 500;
  font-display: swap;
  src: url('/ui/fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2');
}

/* ─────────────────────────────────────────────────────────────────────────
   breachscope — sistema de tokens

   Dois temas irmãos:
     Névoa e Tempestade  → painel do tenant, landing, docs, relatório
     Torre de Controle   → painel superadmin (data-theme="operator")

   A ESCALA DE RISCO NÃO MUDA ENTRE OS TEMAS. Severo é severo em qualquer
   tela; só o contraste é ajustado para fundo claro ou escuro. Mudar a cor
   de gravidade conforme a página criaria uma armadilha, não um sistema.
   ───────────────────────────────────────────────────────────────────────── */

:root {
  /* base — névoa marítima */
  --bg:        #EDF0F0;
  --surface:   #FBFCFC;
  --surface-2: #F4F7F7;
  --border:    #D9E0E0;
  --border-s:  #C3CDCD;
  --text:      #0E2A2E;
  --muted:     #5A6A6C;

  /* interface — petróleo */
  --accent:    #12525C;
  --accent-d:  #0D3A42;
  --accent-t:  #DCEBEC;
  --on-accent: #FBFCFC;

  /* escala de risco — meteorológica */
  --risk-calm:    #4E7F8A;
  --risk-watch:   #D9A227;
  --risk-alert:   #D2662C;
  --risk-severe:  #B03A2E;
  --risk-extreme: #6B2145;

  /* texto sobre tinta de risco */
  --risk-calm-t:    #2C4C54;
  --risk-watch-t:   #412402;
  --risk-alert-t:   #7A3413;
  --risk-severe-t:  #7A1F16;
  --risk-extreme-t: #6B2145;

  /* tinta clara de risco (fundo de badge) */
  --risk-calm-bg:    #E3ECEE;
  --risk-watch-bg:   #FAEEDA;
  --risk-alert-bg:   #FAE7DC;
  --risk-severe-bg:  #F8E4E1;
  --risk-extreme-bg: #F5DCE5;

  /* papéis semânticos herdados */
  --danger: var(--risk-severe);
  --warn:   var(--risk-alert);
  --info:   var(--risk-calm);
  --ok:     #2F7D5B;
  /* Aliases dos temas antigos. Paginas migradas ainda referenciam estes
     nomes; mantidos apontando para a escala nova para nao ficarem orfaos. */
  --purple: var(--accent);

  /* sobreposições — escuras sobre fundo claro */
  --hover:    rgba(14,42,46,.035);
  --hover-s:  rgba(14,42,46,.06);
  --shadow:   0 6px 20px rgba(14,42,46,.10);

  /* tipografia */
  --sans: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cond: 'IBM Plex Sans Condensed', 'IBM Plex Sans', sans-serif;
  --mono: 'IBM Plex Mono', SFMono-Regular, Consolas, monospace;

  --fs-micro: 11px;
  --fs-sm:    13px;
  --fs-body:  15px;
  --fs-title: 20px;
  --fs-disp:  29px;

  /* forma e ritmo */
  --radius:   7px;
  --radius-c: 10px;
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 16px; --sp-6: 24px; --sp-8: 32px;
}

/* ── Torre de Controle — superadmin ─────────────────────────────────────── */
[data-theme="operator"] {
  --bg:        #0B1E22;
  --surface:   #12292E;
  --surface-2: #163137;
  --border:    #1D3A40;
  --border-s:  #2A4A50;
  --text:      #E8EFEF;
  --muted:     #8FA3A5;

  --accent:    #7FB2AE;
  --accent-d:  #9AC5C1;
  --accent-t:  #16343A;
  --on-accent: #04242C;

  /* latão: marca o que pertence a um tenant, não ao operador */
  --tenant:    #C79A4E;

  /* mesma escala, contraste ajustado para fundo escuro */
  --risk-calm-t:    #8FB6BF;
  --risk-watch-t:   #E5BC5E;
  --risk-alert-t:   #E58B57;
  --risk-severe-t:  #D96A5C;
  --risk-extreme-t: #C1607F;

  --risk-calm-bg:    #1B3A42;
  --risk-watch-bg:   #3A2E14;
  --risk-alert-bg:   #3D2417;
  --risk-severe-bg:  #3A1C18;
  --risk-extreme-bg: #351623;

  --hover:   rgba(232,239,239,.04);
  --hover-s: rgba(232,239,239,.08);
  --shadow:  0 8px 26px rgba(0,0,0,.45);
}
