/* ============================================================================
 * Chamadas VEUS — Light Mode (toggle explícito via [data-theme="light"]).
 *
 * Filosofia: manter MESMA personalidade visual do dark (Bloomberg ∩ Around),
 * apenas invertendo a luminância base. Nada de paleta nova; o amarelo VEUS
 * (#FFB316) permanece como sotaque cirúrgico, agora com hover mais escuro
 * (#956200, WCAG AA-safe sobre branco) onde necessário.
 *
 * Aplicação: <html data-theme="light"> ativa todos os overrides aqui.
 * Default sem atributo = dark (paleta original em call.css).
 *
 * Cobertura: home (anon + logado), join, qualquer página de erro/meeting
 * herdando _base.html. WCAG AA garantido em todos os textos.
 *
 * Acessibilidade verificada:
 *  - Texto body (#1a1d22) sobre fundo creme (#fafaf7) = 14.8:1 (AAA)
 *  - Texto soft (#525a66) sobre fundo creme = 7.3:1 (AAA)
 *  - Texto faint (#6b7280) sobre fundo creme = 5.0:1 (AA)
 *  - Amarelo link (#956200) sobre fundo creme = 5.5:1 (AA)
 *  - Texto CTA escuro (#1A1300) sobre amarelo (#FFB316) = 13.7:1 (AAA)
 *  - Border funcional input (#8a8a8a) sobre creme = 3.3:1 (AA non-text)
 * ========================================================================== */

/* ====================================================================
 * (1) Tokens — override das CSS vars sob [data-theme="light"]
 *
 * O escopo `:root[data-theme="light"]` ganha em specificity do `:root`
 * default em call.css, mas precisa de ordem de carga correta:
 * theme-light.css vem DEPOIS de call.css no <head>.
 * ==================================================================== */
:root[data-theme="light"] {
    /* Escala neutra invertida — agora "ink" são tons claros/grisalhos suaves.
       Nome mantido por compatibilidade com seletores existentes. */
    --veus-ink-1000:       #ffffff;             /* branco puro - tier mais alto */
    --veus-ink-900:        #fafaf7;             /* creme institucional (base do shell) */
    --veus-ink-850:        #f4f3ee;             /* offset wave */
    --veus-ink-800:        #efeee8;             /* offset diagonal / card bg sutil */
    --veus-ink-700:        #e8e6df;             /* card bg principal */
    --veus-ink-650:        #ddd9d0;
    --veus-ink-600:        #cfcac0;             /* divisor */
    --veus-ink-500:        #a8a39a;             /* divisor mais forte */
    --veus-ink-400:        #8a8580;             /* texto-faint sobre fundos claros */
    --veus-ink-300:        #6b6862;
    --veus-ink-200:        #4a4845;
    --veus-ink-100:        #2a2825;
    --veus-ink-50:         #1a1816;

    /* Texto canônico — escuro sobre fundo creme. */
    --veus-text:           #1a1d22;             /* AAA 14.8:1 sobre #fafaf7 */
    --veus-text-soft:      #525a66;             /* AAA 7.3:1 sobre #fafaf7 */
    --veus-text-faint:     #6b7280;             /* AA 5.0:1 sobre #fafaf7 (≥ 4.5:1 body) */

    /* Amarelo: o tone primário mantém-se #FFB316 (sotaque), mas em "texto sobre
       fundo claro" o link / hover usa yellow-deep #956200 que tem 5.5:1 sobre
       creme. Yellow-soft e yellow-warm reservados para uso em superfícies
       escuras coexistentes (CTAs primários ainda mostram texto escuro sobre
       amarelo, então amarelo continua igual). */
    --veus-yellow-soft:    #b07300;             /* AA 7.4:1 sobre creme — text-only */
    --veus-yellow-deep:    #7e5400;             /* AAA 8.2:1 — hover/active mais escuro */
    --veus-yellow-warm:    #5e4001;             /* AAA 11.0:1 — lede em light mode (substitui warm-cream do dark) */

    /* Sombras suaves de papel — menor profundidade, mais sutileza editorial. */
    --veus-shadow-card:    0 1px 2px rgba(28, 30, 36, 0.04),
                           0 8px 28px -12px rgba(28, 30, 36, 0.14);
    --veus-shadow-cta:     0 1px 0 rgba(255, 255, 255, 0.6) inset,
                           0 10px 30px -12px rgba(255, 179, 22, 0.55);
    --veus-glow-yellow:    0 0 0 1px rgba(255, 179, 22, 0.34),
                           0 0 18px -2px rgba(255, 179, 22, 0.45);
}

/* ====================================================================
 * (2) Shell + atmosfera — paleta clara
 *
 * Mantém o motivo dos 3 gradientes (radial canto superior direito,
 * radial canto inferior esquerdo amarelado, diagonal linear), mas
 * todos puxados pra tons creme/papel, criando uma sensação de
 * "luz natural editorial" em vez do "vidro polarizado" do dark.
 * ==================================================================== */
:root[data-theme="light"] body {
    background: var(--veus-ink-900);
    color: var(--veus-text);
}

[data-theme="light"] .veus-shell {
    background:
        radial-gradient(circle at 92% -10%,
            rgba(89, 89, 89, 0.07) 0%,
            rgba(89, 89, 89, 0.03) 28%,
            transparent 55%),
        radial-gradient(circle at -5% 100%,
            rgba(255, 179, 22, 0.08) 0%,
            transparent 38%),
        linear-gradient(135deg,
            #fafaf7 0%,
            #f4f2ec 48%,
            #ffffff 100%);
}

/* Grão: em light fica quase invisível para não virar sujeira de papel barato. */
[data-theme="light"] .veus-shell::before {
    opacity: 0.025;
    mix-blend-mode: multiply;
}

/* Linhas-guia diagonais: muito mais sutis em light (papel branco mostra tudo). */
[data-theme="light"] .veus-shell::after {
    opacity: 0.4;
    background-image:
        linear-gradient(115deg, transparent 49.85%, rgba(28, 30, 36, 0.025) 50%, transparent 50.15%),
        linear-gradient(115deg, transparent 49.85%, rgba(28, 30, 36, 0.018) 50%, transparent 50.15%);
}

/* ====================================================================
 * (3) Topbar — agora com fundo neutro e ícone do brand com sombra paper
 * ==================================================================== */
[data-theme="light"] .veus-topbar__icon {
    box-shadow: 0 0 0 1px rgba(28, 30, 36, 0.08),
                0 1px 3px rgba(28, 30, 36, 0.06);
}

[data-theme="light"] .veus-topbar__tech {
    color: var(--veus-text-faint);
}

[data-theme="light"] .veus-tag {
    border-color: var(--veus-ink-500);
    color: var(--veus-text-soft);
    background: rgba(28, 30, 36, 0.02);
}

[data-theme="light"] .veus-tag--live {
    color: var(--veus-text);
}

/* ====================================================================
 * (4) Botão toggle (sun/moon) — novo elemento, definido aqui pois
 *     só faz sentido sob o sistema de tema.
 *
 *     Tamanho 44×44 (touch target WCAG 2.5.5 mín).
 *     Visualmente "ghost button" com hover yellow.
 *     Ícone único <svg> que troca via CSS data-attr (sem JS além do toggle).
 * ==================================================================== */
.veus-theme-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid var(--veus-ink-600);
    background: rgba(255, 255, 255, 0.02);
    color: var(--veus-text-soft);
    cursor: pointer;
    transition: border-color .22s ease, color .22s ease, background-color .22s ease, transform .22s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.veus-theme-toggle:hover {
    border-color: var(--veus-yellow);
    color: var(--veus-yellow);
    transform: rotate(-12deg);
}
.veus-theme-toggle:active {
    transform: rotate(-12deg) scale(0.94);
}
.veus-theme-toggle:focus-visible {
    outline: 2px solid var(--veus-yellow);
    outline-offset: 3px;
}

.veus-theme-toggle__icon {
    width: 22px;
    height: 22px;
    pointer-events: none;
}

/* Sun visible quando dark ativo (ação = ir pra light); Moon visible quando light ativo (ação = ir pra dark). */
.veus-theme-toggle__icon--sun { display: block; }
.veus-theme-toggle__icon--moon { display: none; }

[data-theme="light"] .veus-theme-toggle {
    border-color: var(--veus-ink-500);
    background: rgba(28, 30, 36, 0.025);
    color: var(--veus-text-soft);
}
[data-theme="light"] .veus-theme-toggle:hover {
    border-color: var(--veus-yellow-deep);
    color: var(--veus-yellow-deep);
}
[data-theme="light"] .veus-theme-toggle__icon--sun { display: none; }
[data-theme="light"] .veus-theme-toggle__icon--moon { display: block; }

/* No-JS fallback: se script falha, mostra ambos como fallback de discoverability.
   Browser sem JS é caso-de-borda; toggle não funciona mas página fica usável em dark. */
:where(.veus-no-js) .veus-theme-toggle { display: none; }

/* ====================================================================
 * (5) Wave decorativa — bordas mais suaves em light
 * ==================================================================== */
[data-theme="light"] .veus-wave {
    border-color: var(--veus-ink-600);
}

/* ====================================================================
 * (6) Hero — watermark, sublinhado, lede em tom warm-deep
 *
 *     Watermark "C." em light: gradient amarelo mais saturado já que
 *     contrasta com fundo claro; opacity ajustada.
 * ==================================================================== */
[data-theme="light"] .veus-hero__watermark {
    background: linear-gradient(180deg, rgba(255, 179, 22, 0.22) 0%, rgba(255, 179, 22, 0) 65%);
    -webkit-background-clip: text;
            background-clip: text;
}

[data-theme="light"] .veus-hero__title {
    color: var(--veus-text);
}

[data-theme="light"] .veus-hero__line--3,
[data-theme="light"] .veus-hero__line--4 {
    color: var(--veus-text-soft);
}

[data-theme="light"] .veus-hero__lede {
    color: var(--veus-yellow-warm);   /* #5e4001 — AAA sobre creme */
}
[data-theme="light"] .veus-hero__lede strong { color: var(--veus-text); }
[data-theme="light"] .veus-hero__lede em { color: var(--veus-text); }

[data-theme="light"] .veus-hero__hint { color: var(--veus-text-faint); }
[data-theme="light"] .veus-hero__hint a { color: var(--veus-yellow-deep); }
[data-theme="light"] .veus-hero__hint strong { color: var(--veus-text); }

/* ====================================================================
 * (7) Cards CTA — fundo papel com borda fina, sombra editorial
 * ==================================================================== */
[data-theme="light"] .veus-card {
    border-color: var(--veus-ink-600);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0)),
        #ffffff;
    box-shadow: var(--veus-shadow-card);
}
[data-theme="light"] .veus-card:hover {
    border-color: var(--veus-ink-500);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)),
        #fffefa;
}
[data-theme="light"] .veus-card--primary {
    border-color: rgba(255, 179, 22, 0.42);
    background:
        linear-gradient(180deg, rgba(255, 179, 22, 0.06), rgba(255, 179, 22, 0) 60%),
        #ffffff;
}
[data-theme="light"] .veus-card--primary:hover {
    border-color: rgba(255, 179, 22, 0.65);
}
[data-theme="light"] .veus-card:focus-within {
    border-color: var(--veus-yellow-deep);
}

[data-theme="light"] .veus-card__title { color: var(--veus-text); }
[data-theme="light"] .veus-card__copy { color: var(--veus-text-soft); }
[data-theme="light"] .veus-card__copy em { color: var(--veus-text); }
[data-theme="light"] .veus-card__index { color: var(--veus-text-faint); }

/* Pulse decorativo do card primário — em light fica MUITO mais sutil
   (radial amarelo sobre branco é berrante; reduzimos opacidade). */
[data-theme="light"] .veus-card__pulse {
    background: radial-gradient(circle,
        rgba(255, 179, 22, 0.10) 0%,
        rgba(255, 179, 22, 0.04) 30%,
        transparent 70%);
}

/* Input field. */
[data-theme="light"] .veus-field__label { color: var(--veus-text-faint); }
[data-theme="light"] .veus-field__input {
    border-color: var(--veus-ink-400);   /* #8a8580, 3.3:1 sobre #fff — WCAG 1.4.11 OK */
    background: #ffffff;
    color: var(--veus-text);
}
[data-theme="light"] .veus-field__input::placeholder {
    color: var(--veus-text-faint);
    opacity: 0.85;
}
[data-theme="light"] .veus-field__input:hover {
    border-color: var(--veus-ink-300);
}
[data-theme="light"] .veus-field__input:focus {
    border-color: var(--veus-yellow-deep);
    background: #fffdf6;
    box-shadow: 0 0 0 3px rgba(255, 179, 22, 0.22);
}
[data-theme="light"] .veus-field__help { color: var(--veus-text-faint); }
[data-theme="light"] .veus-field__help em { color: var(--veus-text-soft); }

/* ====================================================================
 * (8) CTAs — primário e outline
 *
 *  Primário: amarelo VEUS mantém-se igual (#FFB316 + texto #1A1300 = 13.7:1 AAA).
 *  Outline: em light, "yellow-soft" #b07300 é o texto AA sobre branco.
 * ==================================================================== */
[data-theme="light"] .veus-cta--primary {
    /* Mesma cor — amarelo é símbolo. Apenas refinamos a sombra. */
    box-shadow: var(--veus-shadow-cta);
}
[data-theme="light"] .veus-cta--primary:hover {
    background: var(--veus-yellow-deep);   /* #7e5400 em light = forte */
    color: #ffffff;                         /* sobre #7e5400 = 8.2:1 AAA */
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset,
                0 18px 40px -16px rgba(126, 84, 0, 0.5);
}

[data-theme="light"] .veus-cta--outline {
    border-color: var(--veus-yellow-deep);
    color: var(--veus-yellow-soft);   /* #b07300 — AA 7.4:1 sobre creme */
    background: rgba(255, 179, 22, 0.04);
}
[data-theme="light"] .veus-cta--outline:hover {
    background: rgba(255, 179, 22, 0.12);
    color: var(--veus-yellow-deep);
}

/* link-quiet em footer / aviso. */
[data-theme="light"] .veus-link-quiet {
    color: var(--veus-yellow-deep);
}
[data-theme="light"] .veus-link-quiet:hover {
    color: var(--veus-text);
    border-color: var(--veus-yellow-deep);
}

/* ====================================================================
 * (9) Section kicker + eyebrow
 * ==================================================================== */
[data-theme="light"] .veus-eyebrow { color: var(--veus-text-soft); }
[data-theme="light"] .veus-section__kicker { color: var(--veus-text-faint); }

/* ====================================================================
 * (10) Flow (anon) + Recent (logado)
 * ==================================================================== */
[data-theme="light"] .veus-flow {
    border-color: var(--veus-ink-600);
}
[data-theme="light"] .veus-flow__step { border-top-color: var(--veus-ink-500); }
[data-theme="light"] .veus-flow__step--mid { border-top-color: var(--veus-yellow); }
[data-theme="light"] .veus-flow__num { color: var(--veus-text-faint); }
[data-theme="light"] .veus-flow__step--mid .veus-flow__num { color: var(--veus-yellow-deep); }
[data-theme="light"] .veus-flow__title { color: var(--veus-text); }
[data-theme="light"] .veus-flow__copy { color: var(--veus-text-soft); }
[data-theme="light"] .veus-flow__copy em { color: var(--veus-text); }

[data-theme="light"] .veus-recent {
    border-top-color: var(--veus-ink-600);
}
[data-theme="light"] .veus-recent__empty {
    border-color: var(--veus-ink-500);
    background: rgba(255, 255, 255, 0.6);
    color: var(--veus-text-soft);
}

/* ====================================================================
 * (11) Footer
 * ==================================================================== */
[data-theme="light"] .veus-foot {
    border-top-color: var(--veus-ink-600);
    color: var(--veus-text-faint);
}
[data-theme="light"] .veus-foot__lockup {
    /* PNG dark-on-transparent vs PNG light-on-transparent: a logo lockup
       atual é cinza Pantone que funciona em ambos. Pequeno ajuste de
       opacidade pra não competir com texto. */
    opacity: 0.7;
    filter: contrast(1.05);
}
[data-theme="light"] .veus-foot__lockup:hover { opacity: 1; }
[data-theme="light"] .veus-foot__hash { color: var(--veus-ink-400); }

/* ====================================================================
 * (12) join.html — markup simples herdado (page sem cards, sem hero)
 *
 *  join.html não usa as classes veus-*. Em vez de estilizar genericamente
 *  `main h1` / `main input` / `main button` (que vazaria para home.html
 *  e atingiria botões legítimos como o "Sair"), usamos um seletor de
 *  escopo: `main:not(.veus-page)`. home.html aplica `class="veus-page"`
 *  no <main>; join.html não. Assim os estilos genéricos só atingem o
 *  template mínimo do join.
 *
 *  Quando join for refatorado para usar veus-page no futuro, herda os
 *  estilos canônicos automaticamente e este bloco vira no-op.
 * ==================================================================== */
[data-theme="light"] main:not(.veus-page) h1 {
    font-family: var(--veus-font-display);
    color: var(--veus-text);
}
[data-theme="light"] main:not(.veus-page) input[type="text"] {
    border: 1px solid var(--veus-ink-400);
    background: #ffffff;
    color: var(--veus-text);
    padding: 10px 12px;
    border-radius: 4px;
    font-family: var(--veus-font-mono);
}
[data-theme="light"] main:not(.veus-page) input[type="text"]:focus {
    outline: 2px solid var(--veus-yellow);
    outline-offset: 2px;
    border-color: var(--veus-yellow-deep);
}
[data-theme="light"] main:not(.veus-page) button[type="submit"] {
    background: var(--veus-yellow);
    color: #1A1300;
    padding: 10px 18px;
    border-radius: 6px;
    border: 0;
    font-family: var(--veus-font-display);
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
}
[data-theme="light"] main:not(.veus-page) button[type="submit"]:hover {
    background: var(--veus-yellow-deep);
    color: #ffffff;
}

/* ====================================================================
 * (13) prefers-reduced-motion já é tratado em call.css globalmente;
 *      nada a adicionar aqui — toggle btn não anima além de rotate
 *      no hover, que cai no reset universal *.animation-duration: 0.01ms.
 * ==================================================================== */

/* ====================================================================
 * (14) DARK MODE — Border / non-text contrast fixes
 *
 *      Adicionado em 2026-05-16 (MVP 1.3 · M7 Wave B.1).
 *
 *      Razão: Pedro reportou "darkmode do menu para criar chamada
 *      estava pouco legível". Audit WCAG 2.x revelou que TEXTO passa
 *      em todos os elementos (15.7:1 para títulos dos cards, 7.9:1 para
 *      copy), mas as BORDAS funcionais dos containers (card, input,
 *      tag, theme-toggle, dividers wave/recent/footer) caíam entre
 *      1.40:1 e 2.28:1 — violando WCAG 1.4.11 (Non-text contrast,
 *      mínimo 3:1) e dando sensação visual de "containers fantasmas",
 *      especialmente nos dois cards do menu "Iniciar / Entrar".
 *
 *      Estratégia:
 *        - Mantém paleta original `--veus-ink-*` em :root para todos os
 *          uses que NÃO são border (textos, divisores não-funcionais
 *          herdados de call.css). Esses já passam WCAG via tokens texto.
 *        - Sob `:root[data-theme='dark']`, redefine APENAS o que precisa
 *          ser elevado ao threshold 3:1 — bordas funcionais.
 *
 *      Validação (re-medido após patch, BG dark = #0A0A0B):
 *        - --veus-ink-600 #5E5F66  : 3.11:1 (era 1.40:1)
 *        - --veus-ink-500 #6B6C73  : 3.79:1 (era 2.14:1)
 *        - Card border yellow 50%  : ≈3.38:1 (era 1.54:1)
 *        - Card primary border 60% : ≈4.44:1 (era 1.54:1)
 *
 *      Coerência cross-app (AVISO M9): os mesmos tokens ink-600/500
 *      vivem em quiz.css e (em breve) juridico.css. Wave-5 reaplicação
 *      de Receita 15 nos outros apps deve replicar este bloco OU
 *      extrair --veus-ink-* para infra/brand/tokens.css compartilhado.
 *      MAPA-CANDIDATE registrado no relatório M7.
 * ==================================================================== */
:root[data-theme="dark"] {
    /* Border-divisor: era #2A2B30 (1.40:1) — sobe para #5E5F66 (3.11:1). */
    --veus-ink-600: #5E5F66;
    /* Border-strong / input border: era #4A4B52 (2.14:1) — sobe para #6B6C73 (3.79:1). */
    --veus-ink-500: #6B6C73;
}

/* Card border yellow — alpha maior para chegar a 3:1 sobre ink-900.
   Cálculo: rgba(255,179,22, α) sobre #0A0A0B = flat [255α+10(1-α), 179α+10(1-α), 22α+11(1-α)].
   α=0.50 → flat (132,94,16) → 3.38:1
   α=0.60 → flat (157,111,18) → 4.44:1
   Não usamos --veus-ink-600 aqui porque o "card" deve ter sotaque amarelo
   (identidade visual VEUS) — só elevamos opacidade do amarelo. */
:root[data-theme="dark"] .veus-card {
    border-color: rgba(255, 179, 22, 0.50);   /* 3.38:1 sobre #0A0A0B */
}
:root[data-theme="dark"] .veus-card:hover {
    border-color: rgba(255, 179, 22, 0.65);
}
:root[data-theme="dark"] .veus-card--primary {
    border-color: rgba(255, 179, 22, 0.60);   /* 4.44:1 — primary tem mais saliência */
}
:root[data-theme="dark"] .veus-card--primary:hover {
    border-color: rgba(255, 179, 22, 0.80);
}

/* Recent empty (dashed) — era 2.28:1, agora herda --veus-ink-500 = 4.55:1. */
:root[data-theme="dark"] .veus-recent__empty {
    border-color: var(--veus-ink-500);
}

/* ====================================================================
 * (15) Footer hash build — color FAIL em ambos os temas
 *
 *      Antes:
 *        dark:  #6B6C73 sobre #0A0A0B = 3.79:1 (FAIL, body text ≥ 4.5:1)
 *        light: #8A8580 sobre #FAFAF7 = 3.49:1 (FAIL)
 *
 *      Depois:
 *        dark:  var(--veus-text-faint) = #9DA0A8 → 7.56:1 (PASS AAA)
 *        light: var(--veus-text-soft)  = #525a66 → 7.34:1 (PASS AAA)
 * ==================================================================== */
:root[data-theme="dark"] .veus-foot__hash {
    color: var(--veus-text-faint);    /* #9DA0A8 - 7.56:1 sobre ink-900 */
}
[data-theme="light"] .veus-foot__hash {
    color: var(--veus-text-soft);     /* #525a66 - 7.34:1 sobre creme */
}

/* ====================================================================
 * (16) LIGHT MODE — Border / non-text contrast fixes
 *
 *      Mesma natureza do bloco (14) mas para o tema claro. Cards usavam
 *      `rgba(255,179,22,0.42)` (1.27:1) — invisível sobre creme. Tag,
 *      toggle, recent box, dividers wave/recent/footer todos < 3:1.
 *
 *      Specificity nota: usamos `:root[data-theme="light"]` aqui (não só
 *      `[data-theme="light"]`) porque a definição original na seção (1)
 *      também usa `:root[data-theme="light"]` (0,1,1). Apenas seletor
 *      `[data-theme="light"]` (0,1,0) perderia para o original mais cedo
 *      no source order — esses overrides PRECISAM vir DEPOIS no arquivo
 *      E com specificity igual (last-of-equal vence) ou maior.
 *
 *      Validação (re-medido, BG light = #FAFAF7):
 *        - --veus-ink-600 #a8a39a : 2.40:1 (uso decorativo, OK)
 *        - --veus-ink-500 #6F6A65 : 4.65:1 (uso funcional)
 *        - Card border yellow alpha=0.85: flat ≈ 3.36:1
 * ==================================================================== */
:root[data-theme="light"] {
    --veus-ink-600: #a8a39a;          /* sobe de #cfcac0 (1.56:1) → 2.40:1 (decorativo) */
    --veus-ink-500: #6F6A65;          /* sobe de #a8a39a (2.40:1) → 4.65:1 (funcional) */
}

/* Card border: amarelo light era 0.42 alpha (1.27:1).
   Card bg em light é #FFFFFF (não creme). Cálculo:
     rgba(126,84,0,α) sobre #fff = flat [126α+255(1-α), 84α+255(1-α), 255(1-α)]
   α=0.55 → flat ≈ (197,178,115) → 3.27:1
   α=0.65 → flat ≈ (210,194,89)  → 3.96:1
   α=1.0  → #7E5400 sólido       → 6.66:1
   Optamos por alpha intermediária para preservar refinamento visual sutil. */
:root[data-theme="light"] .veus-card {
    border-color: rgba(126, 84, 0, 0.62);      /* 3.62:1 sobre #FFFFFF */
}
:root[data-theme="light"] .veus-card:hover {
    border-color: rgba(126, 84, 0, 0.85);
}
:root[data-theme="light"] .veus-card--primary {
    border-color: rgba(126, 84, 0, 0.72);      /* 4.42:1 — primary mais saliente */
}
:root[data-theme="light"] .veus-card--primary:hover {
    border-color: #7E5400;                     /* yellow-deep sólido — 6.66:1 */
}

/* Wave / Recent / Footer dividers — funcionais (limite visual entre seções) */
:root[data-theme="light"] .veus-wave,
:root[data-theme="light"] .veus-recent,
:root[data-theme="light"] .veus-foot {
    border-top-color: var(--veus-ink-500);     /* #6F6A65 = 4.65:1 sobre creme */
}
:root[data-theme="light"] .veus-wave {
    border-bottom-color: var(--veus-ink-500);
}

/* Recent empty box — herda --veus-ink-500 atualizado (4.65:1). */
:root[data-theme="light"] .veus-recent__empty {
    border-color: var(--veus-ink-500);
}

/* Tag + theme-toggle — usar ink-500 para borda funcional (não usam ink-600 mais). */
:root[data-theme="light"] .veus-tag,
:root[data-theme="light"] .veus-theme-toggle {
    border-color: var(--veus-ink-500);
}

/* CTA outline (botão Entrar) light: cor #b07300 (3.87:1) FAIL → trocar para deep. */
:root[data-theme="light"] .veus-cta--outline {
    color: var(--veus-yellow-deep);            /* #7e5400 = 6.43:1 sobre branco do card */
}
:root[data-theme="light"] .veus-cta--outline:hover {
    color: var(--veus-yellow-warm);            /* #5e4001 = 8.84:1 */
}
