/* ============================================================
   MSGREX — Modo claro/escuro. Aplicado por [data-bs-theme] no <html>.
   Redefine os 11 neutros + 3 sombras neutras do :root (msgrex.css) para o
   modo claro. O modo escuro (padrao) permanece 100% definido pelo :root de
   msgrex.css — este arquivo NAO precisa de bloco [data-bs-theme="dark"].
   O ajuste FINO da rampa de accent por skin (--accent-300, --accent-text,
   --shadow-accent) fica em themes.css, com o seletor combinado
   [data-bs-theme="light"][data-theme="X"] (depende do skin ativo, nao so
   do modo). Este arquivo tambem define um FALLBACK skin-agnostico de
   --accent-300 (ver bloco abaixo) pras paginas standalone que nao carregam
   themes.css nem emitem data-theme — sem ele o combinado de themes.css
   nunca casa ali.
   Precisa carregar DEPOIS de msgrex.css: [data-bs-theme="light"] tem a
   mesma especificidade de :root, e quem vem depois no cascade vence.
   ============================================================ */

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

  /* ---------- Base Palette (claro) ---------- */
  --ink:        #F5F1E8;
  --ink-2:      #FFFFFF;
  --ink-3:      #F0EBDF;
  --ink-4:      #E4DDCB;
  --line:       #DDD5C2;
  --line-soft:  #E9E3D3;
  --paper:      #14141A;
  --paper-2:    #38363C;
  --paper-3:    #55535A;
  --muted:      #646159;
  --muted-2:    #46444C;

  /* ---------- Sombras (mais fracas no claro) ---------- */
  --shadow-sm:   0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.06);
  --shadow-md:   0 4px 12px rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.08);
  --shadow-lg:   0 12px 40px rgba(0,0,0,.16), 0 4px 12px rgba(0,0,0,.10);

  /* ---------- Superficies do Bootstrap -> tokens MSGREX ----------
     Sem isso, componentes Bootstrap (dropdown, modal, offcanvas,
     form-control, accordion, list-group, ...) usariam o branco puro e o
     cinza padrao do proprio Bootstrap em vez do creme/tokens do design
     system. Nomes confirmados em bootstrap@5.3.2/dist/css/bootstrap.css. */
  --bs-body-bg:                 var(--ink);
  --bs-body-color:              var(--paper);
  --bs-emphasis-color:          var(--paper);
  --bs-secondary-color:         var(--muted-2);
  --bs-secondary-bg:            var(--ink-3);
  --bs-tertiary-color:          var(--muted);
  --bs-tertiary-bg:             var(--ink-4);
  --bs-border-color:            var(--line);
  --bs-border-color-translucent: rgba(20,20,26,.15);
  /* Alcancam .btn-link/.nav-link/.pagination (o Bootstrap 5.3.2 usa
     --bs-link-color-rgb pro <a> puro); inofensivo pro <a> generico porque
     msgrex.css ja faz a { color: inherit }.
     BLOQUEANTE B (revisao): --bs-link-color usava var(--accent) puro
     (step 600), que reprova AA no claro nos 6 skins (2,83-4,22:1 sobre
     --ink). Troquei por --accent-text, que ja resolve por skin nos blocos
     [data-bs-theme="light"][data-theme="X"] de themes.css (5,28-7,68:1).
     CORRECAO C / M5: --accent-text e --accent-700 sao definidos em
     msgrex.css, que Views/Account/AccessDenied.cshtml NAO carrega (so
     Bootstrap + modes.css) — sem fallback, ficam invalidos ali e
     .btn-link/.nav-link caem pra cor herdada. Fallback = mesmo valor que
     o proprio bloco [data-bs-theme="light"] deste arquivo ja usa como
     default skin-agnostico (--accent-300/--accent-text = #5440E0 alguns
     paragrafos abaixo; --accent-700 do skin violet em msgrex.css tambem e
     #5440E0), entao o fallback fica consistente com o resto da pagina
     mesmo quando o token real nao existe. */
  --bs-link-color:              var(--accent-text, #5440E0);
  --bs-link-hover-color:        var(--accent-700, #5440E0);

  /* ---------- BLOQUEANTE 1 (revisao) — fallback de --accent-300 ----------
     _MsgrexHead.cshtml, Login.cshtml e Landing/Index.cshtml carregam
     modes.css mas NAO carregam themes.css e NAO emitem data-theme (essas
     paginas nao tem seletor de skin). Sem este fallback, o seletor
     combinado [data-bs-theme="light"][data-theme="X"] de themes.css nunca
     casa ali e --accent-300 fica preso no pastel de fundo escuro
     (#B6ABFF), ilegivel sobre --ink/--ink-2 claros (a:hover, hero-eyebrow
     da Landing, .cc ativo do _LanguageSwitcher).
     Valor = mesmo violet-700 usado no bloco [data-theme="violet"] de
     themes.css (skin default). Em paginas autenticadas (com data-theme),
     o bloco combinado de themes.css tem especificidade maior — [attr][attr]
     vs [attr] — e vence este fallback independente da ordem de carga.
     GAP 2 (revisao de correcoes): --accent-text precisa do MESMO fallback.
     A Landing usa --accent-text so no "REX" do lockup da nav (coberto pela
     excecao aprovada do usuario, ver msgrex.css) — os outros 7 pontos que
     chegaram a usar --accent-text foram revertidos pra var(--accent) puro
     com override local proprio no <style> da Landing (ver correcao da
     revisao "REGRA DE OURO na Landing"). Sem este fallback aqui, o "REX"
     da nav ficaria preso no violet de fundo escuro (#6E5BFF, 4,05:1 sobre
     --ink claro — reprovado), porque a Landing nao carrega themes.css nem
     emite data-theme e --accent-text no :root de msgrex.css nao tem
     condicional de modo proprio. */
  --accent-300: #5440E0;
  --accent-text: #5440E0;

  /* ---------- BLOQUEANTE 3 (revisao) — status/feedback no claro ----------
     Tons pastel/vivos demais pensados pra fundo escuro (msgrex.css :root)
     ficam ilegiveis sobre o creme/branco do claro. Nao dependem de skin
     (accent), por isso ficam aqui e nao em themes.css. */
  --badge-success-text:      #0A6B42;
  --badge-warning-text:      #7A5B00;
  --badge-danger-text:       #B42318;
  --danger-text:             #B42318;
  --trial-urgent-text:       #B42318;
  --auth-alert-danger-text:  #B42318;
  --auth-alert-success-text: #0A6B42;

  /* ---------- BLOQUEANTE 5 (revisao) — navbar da Landing ---------- */
  --lp-nav-bg: rgba(255,255,255,.85);

  /* ---------- .text-white-50 (achado do agente do Atendimento) ----------
     rgba(255,255,255,.5) sobre --ink-2 claro (quase branco) compoe pra
     branco quase puro — praticamente invisivel. Mesmo criterio de
     .text-muted: "texto secundario sobre a superficie corrente", nao um
     branco fixo. Reaproveita --muted-2 (mesmo token de .text-muted). */
  --text-white-50: var(--muted-2);
}
