/* ═══════════════════════════════════════════════════════════
   TEMA ESCURO — Autenticou
   Carregado depois do app.css.

   O app.css já tinha regras [data-theme="dark"] espalhadas, mas nada
   definia data-theme e os TOKENS não tinham contraparte escura — então
   o modo escuro nunca funcionou de fato. Este arquivo fecha as duas
   pontas: redefine os tokens e corrige os pontos onde a cor do texto
   estava fixa em cima de um fundo --*-light (que agora é translúcido).

   Quem liga/desliga: assets/js/theme.js (claro · escuro · automático).
   ═══════════════════════════════════════════════════════════ */

[data-theme="dark"] {
  color-scheme: dark;

  --sidebar-bg:       #0A101C;
  --sidebar-border:   #18243A;
  --sidebar-text:     #93A2B8;
  --sidebar-hover:    #16233A;
  --sidebar-active:   #1D4ED8;

  --topbar-bg:        #111A2B;
  --topbar-border:    #1F2C44;

  --bg-app:           #0B1220;
  --bg-card:          #1E293B;
  --bg-canvas:        #27364E;

  --text-primary:     #E6EDF7;
  --text-secondary:   #A9B6CA;
  --text-muted:       #7A8AA3;
  /* Continua sendo "texto sobre superfície colorida" — segue claro. */
  --text-inverse:     #FFFFFF;

  --accent:           #F0B429;
  --accent-light:     rgba(240,180,41,.18);
  --accent-dark:      #FBCF6A;

  --blue:             #5B8DEF;
  --blue-light:       rgba(91,141,239,.20);
  --blue-hover:       #7BA5F5;

  --green:            #3DD68C;
  --green-light:      rgba(61,214,140,.18);
  --amber:            #F5A524;
  --amber-light:      rgba(245,165,36,.18);
  --red:              #F26D6D;
  --red-light:        rgba(242,109,109,.18);
  --orange:           #FB923C;
  --purple:           #A78BFA;
  --purple-light:     rgba(167,139,250,.20);

  --border:           #2B3A54;
  --border-focus:     #5B8DEF;

  /* Sombra em fundo escuro precisa ser mais densa para continuar visível. */
  --shadow-xs:        0 1px 3px rgba(0,0,0,.40);
  --shadow-sm:        0 2px 8px rgba(0,0,0,.45);
  --shadow-md:        0 4px 16px rgba(0,0,0,.50);
  --shadow-lg:        0 8px 32px rgba(0,0,0,.55);
  --shadow-float:     0 20px 60px rgba(0,0,0,.65);
}

/* ── Texto que estava fixo em cima de fundo --*-light ──────────────
   No tema claro esses fundos são pastéis sólidos e pedem texto escuro.
   No escuro viram véus translúcidos sobre a superfície: o texto tem
   que clarear, senão some. */
[data-theme="dark"] .pill-green        { color:#4ADE80; }
[data-theme="dark"] .pill-amber        { color:#FBBF24; }
[data-theme="dark"] .pill-orange       { background:rgba(251,146,60,.20); color:#FDBA74; }
[data-theme="dark"] .badge-risk-low    { color:#4ADE80; }
[data-theme="dark"] .badge-risk-medium { color:#FBBF24; }
[data-theme="dark"] .badge-risk-high   { background:rgba(251,146,60,.20); color:#FDBA74; }
[data-theme="dark"] .alert-success     { color:#6EE7A8; }
[data-theme="dark"] .alert-warning     { color:#FBBF24; }
[data-theme="dark"] .alert-danger      { color:#FCA5A5; }
[data-theme="dark"] .alert-info        { color:#93B4FD; }
[data-theme="dark"] .ov-ico.is-amber   { color:#FBBF24; }
[data-theme="dark"] .ov-ico.is-green   { color:#4ADE80; }
[data-theme="dark"] .cs-mon.is-on .cs-mon-ico { color:#4ADE80; }
[data-theme="dark"] .case-alert.is-late { border-color:rgba(242,109,109,.45); color:#FCA5A5; }
[data-theme="dark"] .case-alert.is-warn { border-color:rgba(245,165,36,.45);  color:#FBBF24; }
[data-theme="dark"] .pb-lk-warn         { border-color:rgba(245,165,36,.45);  color:#FBBF24; }
[data-theme="dark"] .pb-lk-item.is-match:hover { background:rgba(61,214,140,.26); }
[data-theme="dark"] .ca-btn:hover       { background:rgba(255,255,255,.10); }

/* Superfícies que o app.css fixou em branco */
[data-theme="dark"] .dash-card,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .offcanvas,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .accordion-item,
[data-theme="dark"] .card { background-color:var(--bg-card); color:var(--text-primary); border-color:var(--border); }

[data-theme="dark"] .table { --bs-table-color:var(--text-primary); --bs-table-bg:transparent; --bs-table-border-color:var(--border); }
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text { background-color:var(--bg-canvas); border-color:var(--border); color:var(--text-primary); }
[data-theme="dark"] .form-control::placeholder { color:var(--text-muted); }
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus { background-color:var(--bg-canvas); border-color:var(--border-focus); color:var(--text-primary); box-shadow:0 0 0 3px rgba(91,141,239,.25); }
[data-theme="dark"] .btn-light { background-color:var(--bg-canvas); border-color:var(--border); color:var(--text-primary); }
[data-theme="dark"] .btn-light:hover { background-color:#31415C; border-color:var(--border); color:var(--text-primary); }
[data-theme="dark"] .text-muted { color:var(--text-muted) !important; }
[data-theme="dark"] .bg-light { background-color:var(--bg-canvas) !important; }
[data-theme="dark"] .border { border-color:var(--border) !important; }
[data-theme="dark"] hr { border-color:var(--border); }

/* O seletor de status do processo tem <option> nativo: sem isto o menu
   suspenso abre branco com texto branco em alguns navegadores. */
[data-theme="dark"] select option { background:var(--bg-card); color:var(--text-primary); }

/* ── Botão de tema no topo ───────────────────────────────────────── */
#theme-menu { min-width: 210px; }
#theme-menu .tm-item { display:flex; align-items:center; gap:10px; width:100%; border:0; background:none;
  padding:9px 14px; font-family:'Sora',sans-serif; font-size:13px; color:var(--text-primary); cursor:pointer; text-align:left; }
#theme-menu .tm-item:hover { background:var(--bg-canvas); }
#theme-menu .tm-item .ic { width:20px; text-align:center; color:var(--text-muted); }
#theme-menu .tm-item.is-on { color:var(--blue); font-weight:600; }
#theme-menu .tm-item.is-on .ic { color:var(--blue); }
#theme-menu .tm-item .chk { margin-left:auto; font-size:11px; opacity:0; }
#theme-menu .tm-item.is-on .chk { opacity:1; }
#theme-menu .tm-sub { padding:8px 14px 10px; font-size:11.5px; line-height:1.5; color:var(--text-muted);
  border-top:1px solid var(--border); }

/* Evita o "flash" branco enquanto a fonte/CSS carrega no tema escuro. */
[data-theme="dark"] body { background:var(--bg-app); color:var(--text-primary); }
