/* ============================================================
 * Camena by farpa · app.css · Onda 1 (F7)
 * Self-contained: tokens base --bg/--fg/--border inline (light/dark) — NÃO linka ds/themes
 * (lição Sentire dark-fix · colisão de cascata). palettes.css carrega ANTES deste arquivo;
 * o bloco [data-contrast="aaa"] NO FIM colapsa o accent para a face AAA-safe (ADR 004 vence).
 * Tipografia própria: serif editorial (display) + sans (corpo) + mono (rótulos) — sério/premium
 * (marketing do mercado financeiro). Sem fontes externas (CSP font-src 'self').
 * data-palette só toca --accent*; --bg/--fg/--border são do tema (compõem com qualquer paleta).
 * ============================================================ */

/* ---- TIPO / ESPAÇO / RAIO (invariantes de tema) ---- */
:root{
  --font-display: "Iowan Old Style", Georgia, "Times New Roman", serif;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, Menlo, "SF Mono", "Cascadia Mono", Consolas, monospace;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px;
  --s-5:24px; --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px;
  --r-1:4px; --r-2:8px; --r-3:12px; --r-4:18px; --r-pill:999px;
  --maxw:1180px; --bw:1px; --focus-w:3px;

  --t-mega: clamp(2.3rem, 5.2vw, 3.9rem);
  --t-h2: clamp(1.4rem, 3vw, 2.05rem);
  --t-h3:1.18rem; --t-body:1.02rem; --t-small:.85rem; --t-micro:.74rem; --t-nano:.66rem;
  --lh-tight:1.06; --lh-body:1.6; --ls-label:.13em;
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---- LIGHT (papel quente · premium) ---- */
[data-theme="light"]{
  --bg:#FBFAF6; --bg-2:#F3F1EA; --bg-inset:#EFECE3;
  --fg:#1A1A1A; --fg-soft:#56514A; --fg-faint:#6B655C;
  --border:rgba(0,0,0,.14); --border-strong:rgba(0,0,0,.30);
  --muted:#6B655C;
  --field-bg:#FFFFFF;
  --focus:var(--cam-accent-aaa);
  --scrim:rgba(20,18,14,.45);
  --shadow:0 1px 2px rgba(0,0,0,.05), 0 8px 28px rgba(20,18,14,.07);
}

/* ---- DARK (carvão quente) ---- */
[data-theme="dark"]{
  --bg:#14110F; --bg-2:#1B1714; --bg-inset:#211C18;
  --fg:#F2F0EA; --fg-soft:#B4AEA4; --fg-faint:#928C82;
  --border:rgba(255,255,255,.16); --border-strong:rgba(255,255,255,.34);
  --muted:#B4AEA4;
  --field-bg:#1B1714;
  --focus:#E8D9C0;
  --scrim:rgba(0,0,0,.62);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 30px rgba(0,0,0,.45);
}
/* No dark, a face marketing escura (premium/confianca) tem pouco contraste contra o carvão.
   Para superfícies de accent legíveis no dark mantemos --accent-fg claro; ok (botão = superfície). */

/* --accent-ink = accent COMO TEXTO/BORDA legível (≥4.5:1 sobre --bg do tema ativo).
   No light = a face AAA da paleta (escura sobre papel). No dark, as faces AAA (navy/teal escuro)
   ficariam escuras sobre carvão → no dark usamos uma face CLARA por paleta. */
[data-theme="light"]{ --accent-ink: var(--cam-accent-aaa); }
[data-theme="dark"]{
  --accent-ink:#F2F0EA;                 /* fallback claro legível sobre carvão */
  --accent-soft:#221C18;                /* tint de accent vira superfície ESCURA no dark */
}
[data-theme="dark"][data-palette="premium"]  { --accent-ink:#A9BBDD; }
[data-theme="dark"][data-palette="vibrante"] { --accent-ink:#F0917C; }
[data-theme="dark"][data-palette="criativo"] { --accent-ink:#E98BB4; }
[data-theme="dark"][data-palette="sobrio"]   { --accent-ink:#5FC6C6; }
[data-theme="dark"][data-palette="confianca"]{ --accent-ink:#9F99E6; }
[data-theme="dark"][data-palette="calor"]    { --accent-ink:#E89C9C; }

/* ============================================================ RESET / BASE */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; animation-iteration-count:1 !important; }
}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-size:var(--t-body); line-height:var(--lh-body);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
[data-contrast="aaa"] body{ font-weight:450; }
h1,h2,h3,h4,p,figure,table,form{ margin:0; }
ol,ul{ list-style:none; padding:0; margin:0; }
a{ color:inherit; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
input,select,textarea{ font:inherit; color:inherit; }
svg{ display:block; }
img{ max-width:100%; display:block; }
table{ border-collapse:collapse; width:100%; }

.serif{ font-family:var(--font-display); }
.eyebrow{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--fg-soft); font-weight:600; }
[data-contrast="aaa"] .eyebrow{ color:var(--fg); font-weight:700; }
.mono{ font-family:var(--font-mono); }
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

:focus{ outline:none; }
:focus-visible{ outline:var(--focus-w) solid var(--focus); outline-offset:2px; border-radius:var(--r-1); }
[data-contrast="aaa"] :focus-visible{ outline-width:4px; outline-offset:3px; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(var(--s-4), 4vw, var(--s-7)); }

.skip-link{ position:absolute; left:var(--s-3); top:-200px; background:var(--fg); color:var(--bg); padding:var(--s-3) var(--s-4); border-radius:var(--r-2); font-family:var(--font-mono); font-size:var(--t-small); z-index:300; transition:top .15s; }
.skip-link:focus{ top:var(--s-3); }

/* ---- i18n: mostra só o idioma ativo (data-lang) ---- */
.pt,.en{ display:none; }
[data-lang="pt"] .pt{ display:revert; }
[data-lang="en"] .en{ display:revert; }
/* inline variants inside running text */
[data-lang="pt"] span.pt, [data-lang="pt"] em.pt{ display:inline; }
[data-lang="en"] span.en, [data-lang="en"] em.en{ display:inline; }

/* ============================================================ MARK */
.camena-mark{ width:var(--mk,28px); height:var(--mk,28px); flex:none; color:var(--accent); }
[data-contrast="aaa"] .camena-mark{ color:var(--fg); }
.mk-footer{ --mk:24px; }

/* ============================================================ HEADER */
.site-header{
  position:sticky; top:0; z-index:100;
  background:color-mix(in srgb, var(--bg) 92%, transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(8px); backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:var(--bw) solid var(--border);
}
[data-contrast="aaa"] .site-header{ background:var(--bg); border-bottom-width:2px; }
.header-row{ display:flex; align-items:center; gap:var(--s-4); min-height:60px; padding-block:var(--s-2); flex-wrap:wrap; }
.lockup{ display:flex; align-items:center; gap:var(--s-2); text-decoration:none; }
.lockup .name{ font-family:var(--font-display); font-size:1.22rem; font-weight:600; letter-spacing:.01em; }
.lockup .by{ font-family:var(--font-mono); font-size:var(--t-nano); letter-spacing:.08em; text-transform:uppercase; color:var(--fg-faint); }

/* nav enxuta · tipografia mono compacta (padrão Sentire) */
.site-nav{ display:flex; align-items:center; gap:var(--s-1); flex-wrap:wrap; }
.site-nav__link{
  text-decoration:none; padding:var(--s-2) var(--s-3); border-radius:var(--r-pill);
  font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.05em; text-transform:uppercase;
  color:var(--fg-soft);
}
.site-nav__link:hover{ color:var(--fg); background:var(--bg-2); }
.site-nav__link[aria-current="page"]{ color:var(--fg); background:var(--accent-soft); }
[data-contrast="aaa"] .site-nav__link{ color:var(--fg); }
[data-contrast="aaa"] .site-nav__link[aria-current="page"]{ outline:2px solid var(--fg); background:var(--bg-2); }

/* grupo "Análises" (popover · mesmo padrão CSP-safe do pal-menu) */
.nav-group{ position:relative; }
.nav-group__btn{ display:inline-flex; align-items:center; gap:4px; }
.nav-group__btn.is-active,
.nav-group__btn[aria-expanded="true"]{ color:var(--fg); background:var(--accent-soft); }
[data-contrast="aaa"] .nav-group__btn.is-active{ outline:2px solid var(--fg); background:var(--bg-2); }
.nav-group__caret{ font-size:.8em; line-height:1; }
.nav-menu{
  position:absolute; left:0; top:calc(100% + 6px); z-index:120;
  display:flex; flex-direction:column; gap:2px; min-width:180px;
  background:var(--bg); border:var(--bw) solid var(--border-strong); border-radius:var(--r-3);
  padding:var(--s-2); box-shadow:var(--shadow);
}
[data-contrast="aaa"] .nav-menu{ border-width:2px; }
.nav-menu[hidden]{ display:none; }
.nav-menu__link{
  text-decoration:none; padding:var(--s-2) var(--s-3); border-radius:var(--r-2); min-height:40px;
  display:flex; align-items:center; font-family:var(--font-mono); font-size:var(--t-micro);
  letter-spacing:.05em; text-transform:uppercase; color:var(--fg-soft);
}
.nav-menu__link:hover{ color:var(--fg); background:var(--bg-2); }
.nav-menu__link[aria-current="page"]{ color:var(--fg); background:var(--accent-soft); }
[data-contrast="aaa"] .nav-menu__link{ color:var(--fg); }
[data-contrast="aaa"] .nav-menu__link[aria-current="page"]{ outline:2px solid var(--fg); background:var(--bg-2); }

/* controles em PILL agrupado compacto (padrão Sentire) */
.controls{
  display:flex; align-items:center; gap:.2rem; flex-wrap:wrap; margin-left:auto;
  padding:.18rem; border:var(--bw) solid var(--border); border-radius:var(--r-pill); background:var(--bg-2);
}
[data-contrast="aaa"] .controls{ border-width:2px; border-color:var(--fg); background:var(--bg); }
.ctrl{
  display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:.38rem .6rem;
  border:0; border-radius:var(--r-pill);
  font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.05em; text-transform:uppercase;
  color:var(--fg-soft); background:transparent;
}
.ctrl:hover{ color:var(--fg); background:color-mix(in srgb, var(--accent) 13%, transparent); }
.ctrl[aria-pressed="true"]{ background:var(--accent); color:var(--accent-fg); }
[data-contrast="aaa"] .ctrl{ color:var(--fg); }
.ctrl__ic{ font-size:1rem; line-height:1; }

/* lang switch = links (path /pt ↔ /en) · vive dentro do pill */
.lang-switch{ display:inline-flex; border-radius:var(--r-pill); overflow:hidden; }
.lang-switch a{
  text-decoration:none; display:inline-flex; align-items:center; min-height:32px; padding:.38rem .6rem;
  font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.05em; color:var(--fg-soft);
}
.lang-switch a[aria-current="true"]{ background:var(--accent); color:var(--accent-fg); border-radius:var(--r-pill); }
.lang-switch a:not([aria-current="true"]):hover{ background:color-mix(in srgb, var(--accent) 13%, transparent); color:var(--fg); }
[data-contrast="aaa"] .lang-switch a{ color:var(--fg); }
[data-contrast="aaa"] .lang-switch a[aria-current="true"]{ color:var(--accent-fg); }

/* palette selector (inline popover desktop / dialog mobile) */
.pal-wrap{ position:relative; }
.pal-btn{ display:inline-flex; align-items:center; gap:6px; }
.pal-swatch{ width:14px; height:14px; border-radius:50%; background:var(--accent); border:1px solid var(--border-strong); flex:none; }
[data-contrast="aaa"] .pal-swatch{ background:var(--cam-accent-aaa); }
.pal-menu{
  position:absolute; right:0; top:calc(100% + 6px); z-index:120;
  background:var(--bg); border:var(--bw) solid var(--border-strong); border-radius:var(--r-3);
  padding:var(--s-3); box-shadow:var(--shadow); width:min(280px, 86vw);
}
[data-contrast="aaa"] .pal-menu{ border-width:2px; }
.pal-menu[hidden]{ display:none; }
.pal-menu h2{ font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:var(--ls-label); text-transform:uppercase; color:var(--fg-soft); margin-bottom:var(--s-2); }
.pal-list{ display:flex; flex-direction:column; gap:2px; }
.pal-opt{ display:flex; align-items:center; gap:var(--s-3); width:100%; text-align:left; padding:var(--s-2) var(--s-3); border-radius:var(--r-2); min-height:44px; }
.pal-opt:hover{ background:var(--bg-2); }
.pal-opt[aria-checked="true"]{ background:var(--accent-soft); }
[data-contrast="aaa"] .pal-opt[aria-checked="true"]{ background:var(--bg-2); outline:2px solid var(--fg); }
.pal-opt__sw{ width:18px; height:18px; border-radius:50%; border:1px solid var(--border-strong); flex:none; }
.pal-opt__tx{ font-size:var(--t-small); color:var(--fg); }
.pal-opt__sub{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--fg-faint); display:block; }
.pal-note{ margin-top:var(--s-3); padding-top:var(--s-3); border-top:var(--bw) solid var(--border); font-size:var(--t-nano); color:var(--fg-soft); line-height:1.4; }

/* swatch faces (literais por paleta · superfície apenas) */
.sw-premium{ background:#1B2A4A; } .sw-vibrante{ background:#E5533D; } .sw-criativo{ background:#C2185B; }
.sw-sobrio{ background:#0E6E6E; } .sw-confianca{ background:#3730A3; } .sw-calor{ background:#8B0000; }
[data-contrast="aaa"] .pal-opt__sw{ background:var(--fg) !important; }

/* ============================================================ MAIN / ROUTES */
main{ position:relative; z-index:1; }
.route{ display:none; }
.route.is-active{ display:block; }

/* ---- HERO ---- */
.hero{ padding-block:clamp(var(--s-7), 9vw, var(--s-9)); }
.hero .eyebrow{ display:inline-flex; align-items:center; gap:var(--s-2); margin-bottom:var(--s-4); }
.hero h1{ font-family:var(--font-display); font-size:var(--t-mega); line-height:var(--lh-tight); font-weight:600; letter-spacing:-.012em; max-width:18ch; }
.hero .lede{ margin-top:var(--s-4); font-size:clamp(1.05rem,2.2vw,1.3rem); color:var(--fg-soft); max-width:46ch; line-height:1.5; }
.hero-cta-row{ margin-top:var(--s-6); display:flex; align-items:center; gap:var(--s-4); flex-wrap:wrap; }
.accent-rule{ height:3px; width:120px; background:var(--accent-rule); border-radius:2px; margin-top:var(--s-5); }
[data-contrast="aaa"] .accent-rule{ background:var(--fg); }

/* ---- BUTTON ---- */
.button{
  display:inline-flex; align-items:center; gap:var(--s-2); justify-content:center;
  min-height:48px; padding:var(--s-3) var(--s-5); border-radius:var(--r-pill);
  font-weight:600; font-size:var(--t-body); text-decoration:none; border:var(--bw) solid transparent;
  transition:transform .12s var(--ease), background .15s;
}
.button--primary{ background:var(--accent); color:var(--accent-fg); }
.button--primary:hover{ background:var(--accent-strong); transform:translateY(-1px); }
.button--ghost{ background:transparent; border-color:var(--border-strong); color:var(--fg); }
.button--ghost:hover{ background:var(--bg-2); }
[data-contrast="aaa"] .button{ border-width:2px; }

/* ---- SECTION / GRID / CARD ---- */
.section{ padding-block:clamp(var(--s-6), 6vw, var(--s-8)); border-top:var(--bw) solid var(--border); }
.section__head{ margin-bottom:var(--s-5); }
.section__head h2{ font-family:var(--font-display); font-size:var(--t-h2); font-weight:600; }
.grid{ display:grid; gap:var(--s-4); grid-template-columns:1fr; }
@media (min-width:640px){ .grid--2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:880px){ .grid--4{ grid-template-columns:repeat(4,1fr); } }
.card{
  border:var(--bw) solid var(--border); border-radius:var(--r-3); padding:var(--s-5);
  background:var(--bg-2);
}
[data-contrast="aaa"] .card{ border-width:2px; background:var(--bg); }
.card h3{ font-size:var(--t-h3); font-weight:600; margin-bottom:var(--s-2); display:flex; align-items:center; gap:var(--s-2); }
.card p{ color:var(--fg-soft); font-size:var(--t-small); }
.card--soon{ background:var(--bg-inset); }
.card--soon p{ color:var(--fg); }
.tag-soon{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; padding:2px 8px; border-radius:var(--r-pill); border:1px solid var(--border-strong); color:var(--fg); }

/* stepper "como funciona" */
.steps{ display:flex; flex-direction:column; gap:var(--s-3); counter-reset:step; }
@media (min-width:760px){ .steps{ flex-direction:row; align-items:stretch; } }
.step{ flex:1; border:var(--bw) solid var(--border); border-radius:var(--r-3); padding:var(--s-4) var(--s-5); background:var(--bg-2); }
[data-contrast="aaa"] .step{ border-width:2px; }
.step__n{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--accent); color:var(--accent-fg); font-family:var(--font-mono); font-weight:700; margin-bottom:var(--s-2); }
.step h3{ font-size:var(--t-h3); font-weight:600; }
.step p{ color:var(--fg-soft); font-size:var(--t-small); margin-top:var(--s-1); }

/* inline disclaimer banner */
.notice{
  display:flex; gap:var(--s-3); align-items:flex-start;
  border:var(--bw) solid var(--cam-accent-aaa); border-left-width:4px; border-radius:var(--r-2);
  padding:var(--s-4); background:var(--accent-soft);
}
[data-contrast="aaa"] .notice{ border-width:2px; border-left-width:4px; background:var(--bg-2); }
.notice__ic{ font-size:1.1rem; line-height:1.4; }
.notice p{ font-size:var(--t-small); color:var(--fg); }
.notice strong{ color:var(--accent-ink); }
[data-contrast="aaa"] .notice strong{ color:var(--fg); }

/* ============================================================ APP (tool) */
.app-head{ padding-block:var(--s-6) var(--s-4); }
.app-head h1{ font-family:var(--font-display); font-size:var(--t-h2); font-weight:600; }
.app-head p{ color:var(--fg-soft); margin-top:var(--s-1); }

/* estações = ABAS clicáveis (tablist · atual / concluída ✓ / bloqueada) */
.stations{ display:flex; gap:var(--s-2); margin-block:var(--s-4); list-style:none; flex-wrap:wrap; }
.station{
  display:flex; align-items:center; gap:8px;
  padding:4px 10px; border:var(--bw) solid transparent; border-radius:var(--r-pill);
}
.station:hover:not(:disabled){ background:var(--bg-2); border-color:var(--border); }
.station__dot{ width:12px; height:12px; border-radius:50%; border:2px solid var(--border-strong); background:transparent; flex:none; }
.station[aria-selected="true"] .station__dot{ background:var(--accent); border-color:var(--accent); }
.station__tx{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--fg-soft); }
.station[aria-selected="true"] .station__tx{ color:var(--fg); font-weight:600; }
/* concluída: indicador não-só-cor (✓) + dot com tint do accent */
.station--done .station__dot{ background:var(--accent-soft); border-color:var(--accent-ink); }
.station--done .station__tx::after{ content:" ✓"; color:var(--accent-ink); font-weight:700; }
[data-contrast="aaa"] .station--done .station__tx::after{ color:var(--fg); }
[data-contrast="aaa"] .station--done .station__dot{ background:var(--bg-2); border-color:var(--fg); }
/* bloqueada: dot tracejado + cursor (sem opacity baixa · AAA-safe) */
.station:disabled{ cursor:not-allowed; }
.station:disabled .station__dot{ border-style:dashed; border-color:var(--border); }
.station:disabled .station__tx{ color:var(--fg-faint); }
[data-contrast="aaa"] .station:disabled .station__tx{ color:var(--fg-soft); }
.station__bar{ width:24px; height:2px; background:var(--border); align-self:center; flex:none; }

/* form fields */
.field{ margin-bottom:var(--s-5); }
.field > label, .field-legend{ display:block; font-weight:600; font-size:var(--t-small); margin-bottom:var(--s-2); }
.field-hint{ font-size:var(--t-small); color:var(--fg-faint); margin-top:var(--s-1); }
.input, .textarea, .select{
  width:100%; padding:var(--s-3) var(--s-4); border:var(--bw) solid var(--border-strong);
  border-radius:var(--r-2); background:var(--field-bg); color:var(--fg); font-size:var(--t-body);
}
.textarea{ min-height:88px; resize:vertical; line-height:1.5; }
[data-contrast="aaa"] .input, [data-contrast="aaa"] .textarea, [data-contrast="aaa"] .select{ border-width:2px; }
.input:focus-visible, .textarea:focus-visible, .select:focus-visible{ border-color:var(--focus); }

fieldset{ border:none; padding:0; margin:0; }
.checks{ display:flex; flex-wrap:wrap; gap:var(--s-3); }
.check-row{ margin-top:var(--s-3); }
fieldset .field-hint{ margin-top:var(--s-2); margin-bottom:var(--s-2); }
fieldset .select{ margin-bottom:var(--s-2); }
.check{ display:inline-flex; align-items:center; gap:8px; padding:var(--s-2) var(--s-3); border:var(--bw) solid var(--border); border-radius:var(--r-pill); min-height:44px; }
[data-contrast="aaa"] .check{ border-width:2px; }
.check input{ width:18px; height:18px; accent-color:var(--accent); }
.check span{ font-size:var(--t-small); }

.app-actions{ display:flex; gap:var(--s-3); flex-wrap:wrap; margin-top:var(--s-5); }

/* brief render */
.brief{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-5); }
[data-contrast="aaa"] .brief{ border-width:2px; background:var(--bg); }
.brief dl{ display:grid; grid-template-columns:1fr; gap:var(--s-3); }
@media (min-width:560px){ .brief dl{ grid-template-columns:minmax(120px,auto) 1fr; } }
.brief dt{ font-family:var(--font-mono); font-size:var(--t-micro); text-transform:uppercase; letter-spacing:.08em; color:var(--fg-soft); }
.brief dd{ margin:0; font-size:var(--t-small); }
.brief .gap{ color:var(--accent-ink); font-weight:600; }
[data-contrast="aaa"] .brief .gap{ color:var(--fg); text-decoration:underline; }
.brief-approvers{ margin-top:var(--s-4); padding-top:var(--s-4); border-top:var(--bw) solid var(--border); }
.chiprow{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-2); }
.pill{ display:inline-block; padding:4px 12px; border-radius:var(--r-pill); border:1px solid var(--accent-ink); color:var(--accent-ink); font-size:var(--t-small); }
[data-contrast="aaa"] .pill{ border-width:2px; color:var(--fg); border-color:var(--fg); }

/* ideias */
.ideias-head{ display:flex; align-items:center; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap; margin-bottom:var(--s-3); }
.ai-badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:var(--r-pill); background:var(--accent-soft); border:1px solid var(--accent-ink); font-family:var(--font-mono); font-size:var(--t-micro); color:var(--accent-ink); }
[data-contrast="aaa"] .ai-badge{ color:var(--fg); border-color:var(--fg); background:var(--bg-2); }
.ai-badge::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--accent-ink); }
[data-contrast="aaa"] .ai-badge::before{ background:var(--fg); }

.tabs{ display:flex; gap:var(--s-2); overflow-x:auto; padding-bottom:var(--s-2); margin-bottom:var(--s-4); border-bottom:var(--bw) solid var(--border); }
.tab{ white-space:nowrap; padding:var(--s-2) var(--s-4); border-radius:var(--r-pill); font-size:var(--t-small); color:var(--fg-soft); border:var(--bw) solid transparent; }
.tab:hover{ color:var(--fg); background:var(--bg-2); }
.tab[aria-selected="true"]{ background:var(--accent); color:var(--accent-fg); }
[data-contrast="aaa"] .tab[aria-selected="true"]{ outline:2px solid var(--fg); }

.piece{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-5); margin-bottom:var(--s-4); }
[data-contrast="aaa"] .piece{ border-width:2px; background:var(--bg); }
.piece h3{ font-size:var(--t-h3); font-weight:600; margin-bottom:var(--s-2); }
.piece .textarea{ margin-bottom:var(--s-3); }
.piece-disclaimer{ border:var(--bw) solid var(--cam-accent-aaa); border-left-width:4px; border-radius:var(--r-2); padding:var(--s-3) var(--s-4); background:var(--accent-soft); font-size:var(--t-small); margin-bottom:var(--s-3); }
[data-contrast="aaa"] .piece-disclaimer{ border-width:2px; border-left-width:4px; background:var(--bg-2); }
.piece-disclaimer .lab{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--accent-ink); display:block; margin-bottom:4px; }
[data-contrast="aaa"] .piece-disclaimer .lab{ color:var(--fg); }
.piece-actions{ display:flex; gap:var(--s-2); flex-wrap:wrap; }
.btn-sm{ min-height:40px; padding:var(--s-2) var(--s-4); border-radius:var(--r-pill); border:var(--bw) solid var(--border-strong); font-size:var(--t-small); }
.btn-sm:hover{ background:var(--bg-2); }
[data-contrast="aaa"] .btn-sm{ border-width:2px; }

.human-note{ display:flex; gap:var(--s-2); align-items:center; font-size:var(--t-small); color:var(--fg-soft); margin-top:var(--s-4); }

.status-msg{ font-size:var(--t-small); color:var(--fg-soft); margin-top:var(--s-3); min-height:1.2em; }
.is-busy{ opacity:.6; pointer-events:none; }

/* ============================================================ TEXT PAGES (metodo / privacidade) */
.prose{ padding-block:var(--s-7); max-width:68ch; }
.prose h1{ font-family:var(--font-display); font-size:var(--t-h2); font-weight:600; margin-bottom:var(--s-4); }
.prose h2{ font-family:var(--font-display); font-size:var(--t-h3); font-weight:600; margin-top:var(--s-6); margin-bottom:var(--s-2); }
.prose p{ color:var(--fg-soft); margin-bottom:var(--s-3); }
.prose a{ color:var(--accent-ink); text-decoration:underline; }
[data-contrast="aaa"] .prose a{ color:var(--fg); }

/* ============================================================ FOOTER */
.site-footer{ border-top:var(--bw) solid var(--border); margin-top:var(--s-8); padding-block:var(--s-7); position:relative; z-index:1; }
[data-contrast="aaa"] .site-footer{ border-top-width:2px; }
/* linha 1: lockup à esquerda + links à direita (padrão Sentire) · nota e flag em linha própria */
.footer-row{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-4) var(--s-5); }
.footer-lockup{ display:flex; align-items:center; gap:var(--s-2); }
.footer-name{ font-family:var(--font-display); font-weight:600; }
.footer-row .fnote{ flex:1 1 34ch; }
.footer-row .footer-flag{ flex:0 0 100%; }
.fnote{ font-size:var(--t-small); color:var(--fg-soft); max-width:72ch; }
.footer-links{ display:flex; gap:var(--s-4); flex-wrap:wrap; margin-left:auto; }
.footer-links a{
  font-family:var(--font-mono); font-size:var(--t-micro); letter-spacing:.05em; text-transform:uppercase;
  color:var(--fg-soft); text-decoration:none;
}
.footer-links a:hover{ color:var(--fg); text-decoration:underline; }
[data-contrast="aaa"] .footer-links a{ color:var(--fg); text-decoration:underline; }
.footer-flag{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--fg-faint); }
[data-contrast="aaa"] .footer-flag{ color:var(--fg-soft); }

/* ============================================================ ONDA 1.5 · app head actions / projetos / estratégia / pesquisas */
.app-head__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--s-4); flex-wrap:wrap; }
.app-head__actions{ display:flex; gap:var(--s-2); flex-wrap:wrap; align-items:center; }
.app-head__actions a.btn-sm{ display:inline-flex; align-items:center; text-decoration:none; }
.app-active-name{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--accent-ink); margin-top:var(--s-2); }
[data-contrast="aaa"] .app-active-name{ color:var(--fg); }
.app-active-name[hidden]{ display:none; }

/* ideias toolbar (tabs + regen) */
.ideias-toolbar{ display:flex; align-items:flex-start; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap; }
.ideias-toolbar .tabs{ flex:1; min-width:0; }
.ideias-toolbar .btn-sm{ display:inline-flex; align-items:center; gap:6px; }

/* pesquisas */
.pesquisas-intro, .station-lede{ color:var(--fg-soft); font-size:var(--t-small); max-width:64ch; margin-bottom:var(--s-3); }
[data-contrast="aaa"] .pesquisas-intro, [data-contrast="aaa"] .station-lede{ color:var(--fg); }
.research-disclaimer{ font-size:var(--t-small); color:var(--accent-ink); margin-top:var(--s-3); max-width:70ch; }
[data-contrast="aaa"] .research-disclaimer{ color:var(--fg); }
.research-disclaimer:empty{ display:none; }
.research-card{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-5); margin-bottom:var(--s-4); }
[data-contrast="aaa"] .research-card{ border-width:2px; background:var(--bg); }
.research-card h3{ font-size:var(--t-h3); font-weight:600; margin-bottom:var(--s-2); }
.research-card p{ color:var(--fg-soft); font-size:var(--t-small); margin-bottom:var(--s-3); }
.research-card__foot{ display:flex; align-items:center; gap:var(--s-3); flex-wrap:wrap; }
.research-src{ display:inline-flex; align-items:center; gap:6px; font-size:var(--t-small); color:var(--accent-ink); text-decoration:underline; word-break:break-word; }
[data-contrast="aaa"] .research-src{ color:var(--fg); }
.research-src--none{ color:var(--fg-faint); text-decoration:none; font-family:var(--font-mono); font-size:var(--t-nano); }

/* projetos list */
.proj-list{ display:grid; grid-template-columns:1fr; gap:var(--s-3); margin-block:var(--s-4); }
@media (min-width:720px){ .proj-list{ grid-template-columns:repeat(2,1fr); } }
.proj-card{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-4) var(--s-5); display:flex; flex-direction:column; gap:var(--s-3); }
[data-contrast="aaa"] .proj-card{ border-width:2px; background:var(--bg); }
.proj-card__title{ font-family:var(--font-display); font-size:var(--t-h3); font-weight:600; }
.proj-card__meta{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--fg-faint); display:flex; gap:var(--s-3); flex-wrap:wrap; }
.proj-card__step{ text-transform:uppercase; letter-spacing:.08em; color:var(--accent-ink); }
[data-contrast="aaa"] .proj-card__step{ color:var(--fg); }
.proj-card__actions{ display:flex; gap:var(--s-2); flex-wrap:wrap; }
.proj-rename{ width:100%; padding:var(--s-2) var(--s-3); border:var(--bw) solid var(--border-strong); border-radius:var(--r-2); background:var(--field-bg); color:var(--fg); font-size:var(--t-small); }
[data-contrast="aaa"] .proj-rename{ border-width:2px; }
.proj-empty{ border:var(--bw) dashed var(--border-strong); border-radius:var(--r-3); padding:var(--s-6); text-align:center; color:var(--fg-soft); }
[data-contrast="aaa"] .proj-empty{ border-width:2px; }
.btn-sm--danger{ border-color:var(--accent-ink); color:var(--accent-ink); }
[data-contrast="aaa"] .btn-sm--danger{ border-color:var(--fg); color:var(--fg); }

/* estratégia cards */
.strat-card{ display:flex; flex-direction:column; gap:var(--s-2); }
.strat-card__kicker{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.1em; color:var(--accent-ink); }
[data-contrast="aaa"] .strat-card__kicker{ color:var(--fg); }
.strat-card h3{ font-size:var(--t-h3); font-weight:600; }
.strat-card p{ color:var(--fg-soft); font-size:var(--t-small); }
.strat-note{ margin-top:var(--s-5); }

/* ============================================================ ONDA 1.6 · Pesquisas (2 modos) · Custos & Prazo · Panorama */

/* segmented control (2 modos de pesquisa) */
.research-modes{ display:flex; gap:var(--s-2); flex-wrap:wrap; margin-block:var(--s-3) var(--s-4); }
.seg-btn{ min-height:40px; padding:var(--s-2) var(--s-4); border-radius:var(--r-pill); border:var(--bw) solid var(--border-strong); font-size:var(--t-small); color:var(--fg-soft); background:var(--bg); }
.seg-btn:hover{ background:var(--bg-2); color:var(--fg); }
.seg-btn[aria-selected="true"]{ background:var(--accent); color:var(--accent-fg); border-color:var(--accent); }
[data-contrast="aaa"] .seg-btn{ border-width:2px; color:var(--fg); }
[data-contrast="aaa"] .seg-btn[aria-selected="true"]{ color:var(--accent-fg); outline:2px solid var(--fg); }

/* estado honesto vazio (panorama · pesquisas concorrentes) */
.research-empty{ border:var(--bw) dashed var(--border-strong); border-radius:var(--r-3); padding:var(--s-6); background:var(--bg-2); margin-block:var(--s-4); }
[data-contrast="aaa"] .research-empty{ border-width:2px; background:var(--bg); }
.research-empty__title{ font-family:var(--font-display); font-size:var(--t-h3); font-weight:600; color:var(--fg); }
.research-empty__sub{ margin-top:var(--s-3); font-size:var(--t-small); color:var(--fg-soft); }
[data-contrast="aaa"] .research-empty__sub{ color:var(--fg); }

/* panorama form */
.panorama-form{ max-width:60ch; margin-block:var(--s-4); }

/* calculadora badge (distinta do selo IA · aqui SÃO números, determinísticos) */
.calc-badge{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:var(--r-pill); background:var(--accent-soft); border:1px solid var(--accent-ink); font-family:var(--font-mono); font-size:var(--t-micro); color:var(--accent-ink); }
[data-contrast="aaa"] .calc-badge{ color:var(--fg); border-color:var(--fg); background:var(--bg-2); }
.calc-badge::before{ content:"\03A3"; font-weight:700; }

/* CUSTOS · faixas (best/realista/worst) */
.cost-ranges{ display:grid; grid-template-columns:1fr; gap:var(--s-3); margin-block:var(--s-4); }
@media (min-width:640px){ .cost-ranges{ grid-template-columns:repeat(3,1fr); } }
.cost-range{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-4) var(--s-5); display:flex; flex-direction:column; gap:var(--s-2); }
[data-contrast="aaa"] .cost-range{ border-width:2px; background:var(--bg); }
.cost-range__lab{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--fg-soft); }
[data-contrast="aaa"] .cost-range__lab{ color:var(--fg); }
.cost-range__val{ font-family:var(--font-display); font-size:1.35rem; font-weight:600; color:var(--fg); }
.cost-range--realista{ border-color:var(--accent-ink); border-left-width:4px; }
[data-contrast="aaa"] .cost-range--realista{ border-color:var(--fg); }
.cost-range--realista .cost-range__val{ color:var(--accent-ink); }
[data-contrast="aaa"] .cost-range--realista .cost-range__val{ color:var(--fg); }

/* CUSTOS · tabela breakdown */
.cost-table-wrap{ overflow-x:auto; margin-block:var(--s-4); }
.cost-table{ width:100%; border-collapse:collapse; font-size:var(--t-small); }
.cost-table caption{ text-align:left; font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--fg-soft); margin-bottom:var(--s-2); }
[data-contrast="aaa"] .cost-table caption{ color:var(--fg); }
.cost-table th, .cost-table td{ text-align:left; padding:var(--s-2) var(--s-3); border-bottom:var(--bw) solid var(--border); }
.cost-table th{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.06em; color:var(--fg-soft); }
[data-contrast="aaa"] .cost-table th{ color:var(--fg); }
[data-contrast="aaa"] .cost-table th, [data-contrast="aaa"] .cost-table td{ border-bottom-width:2px; }
.cost-table__num{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }

/* CUSTOS · linha do tempo (stages sequenciais · barras) */
.timeline{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-5); margin-block:var(--s-4); }
[data-contrast="aaa"] .timeline{ border-width:2px; background:var(--bg); }
.timeline__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap; margin-bottom:var(--s-4); }
.timeline__total{ font-family:var(--font-mono); font-size:var(--t-small); color:var(--accent-ink); }
[data-contrast="aaa"] .timeline__total{ color:var(--fg); }
.timeline__list{ list-style:none; display:flex; flex-direction:column; gap:var(--s-3); }
.timeline__stage-top{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-3); margin-bottom:6px; }
.timeline__name{ font-size:var(--t-small); color:var(--fg); }
.timeline__n{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:var(--accent); color:var(--accent-fg); font-family:var(--font-mono); font-size:var(--t-nano); font-weight:700; }
.timeline__dias{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--fg-soft); white-space:nowrap; }
[data-contrast="aaa"] .timeline__dias{ color:var(--fg); }
.timeline__track{ height:10px; border-radius:var(--r-pill); background:var(--bg-inset); border:1px solid var(--border); overflow:hidden; }
[data-contrast="aaa"] .timeline__track{ border-width:2px; }
.timeline__bar{ height:100%; background:var(--accent); border-radius:var(--r-pill); min-width:8%; }
[data-contrast="aaa"] .timeline__bar{ background:var(--fg); }

/* CUSTOS · nota/disclaimer */
.cost-note{ margin-top:var(--s-4); padding-top:var(--s-4); border-top:var(--bw) solid var(--border); }
.cost-note__tag{ display:inline-block; font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.06em; color:var(--accent-ink); }
[data-contrast="aaa"] .cost-note__tag{ color:var(--fg); }
.cost-note p{ margin-top:var(--s-2); font-size:var(--t-small); color:var(--fg-soft); max-width:70ch; }
[data-contrast="aaa"] .cost-note p{ color:var(--fg); }

/* ============================================================ ONDA 2 · PROCESSO (pipeline de aprovação · determinístico) */
.calc-badge--proc::before{ content:"\26D3"; } /* ⛓ chain */
[data-contrast="aaa"] .calc-badge--proc::before{ content:"\26D3"; }

.pipe-summary{ display:grid; grid-template-columns:1fr; gap:var(--s-3); margin-block:var(--s-4); }
@media (min-width:640px){ .pipe-summary{ grid-template-columns:repeat(3,1fr); } }
.pipe-stat{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-4) var(--s-5); display:flex; flex-direction:column; gap:var(--s-2); }
[data-contrast="aaa"] .pipe-stat{ border-width:2px; background:var(--bg); }
.pipe-stat__lab{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--fg-soft); }
[data-contrast="aaa"] .pipe-stat__lab{ color:var(--fg); }
.pipe-stat__val{ font-family:var(--font-display); font-size:1.3rem; font-weight:600; color:var(--fg); }

.pipe-list{ list-style:none; display:flex; flex-direction:column; gap:var(--s-3); margin-block:var(--s-4); }
.pipe-stage{ border:var(--bw) solid var(--border); border-left-width:4px; border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-4) var(--s-5); }
[data-contrast="aaa"] .pipe-stage{ border-width:2px; border-left-width:4px; background:var(--bg); }
.pipe-stage--aprovado{ border-left-color:var(--accent-ink); }
.pipe-stage--em-analise{ border-left-color:var(--accent); }
.pipe-stage--devolvido, .pipe-stage--bloqueado{ border-left-color:var(--border-strong); }
[data-contrast="aaa"] .pipe-stage{ border-left-color:var(--fg) !important; }
.pipe-stage__top{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-3); flex-wrap:wrap; }
.pipe-stage__name{ font-size:var(--t-body); color:var(--fg); font-weight:600; }
.pipe-stage__n{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--accent); color:var(--accent-fg); font-family:var(--font-mono); font-size:var(--t-nano); font-weight:700; }
[data-contrast="aaa"] .pipe-stage__n{ background:var(--fg); color:var(--bg); }

.pipe-chip{ display:inline-flex; align-items:center; gap:6px; padding:3px 12px; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:var(--t-micro); border:1px solid var(--border-strong); background:var(--bg); color:var(--fg-soft); }
.pipe-chip::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--border-strong); flex:none; }
.pipe-chip--em-analise{ border-color:var(--accent); color:var(--accent-ink); background:var(--accent-soft); }
.pipe-chip--em-analise::before{ background:var(--accent); }
.pipe-chip--aprovado{ border-color:var(--accent-ink); color:var(--accent-ink); background:var(--accent-soft); }
.pipe-chip--aprovado::before{ background:var(--accent-ink); }
[data-contrast="aaa"] .pipe-chip{ border-width:2px; color:var(--fg); border-color:var(--fg); background:var(--bg); }
[data-contrast="aaa"] .pipe-chip::before{ background:var(--fg); }

.pipe-stage__meta{ display:flex; flex-wrap:wrap; gap:var(--s-2) var(--s-4); margin-top:var(--s-3); align-items:center; }
.pipe-meta{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--fg-soft); }
[data-contrast="aaa"] .pipe-meta{ color:var(--fg); }
.pipe-sla{ font-family:var(--font-mono); font-size:var(--t-nano); padding:1px 8px; border-radius:var(--r-pill); border:1px solid var(--border-strong); }
.pipe-sla--ok{ color:var(--accent-ink); border-color:var(--accent-ink); }
.pipe-sla--over{ color:var(--fg); border-color:var(--border-strong); text-decoration:underline; text-decoration-style:wavy; }
[data-contrast="aaa"] .pipe-sla{ border-width:2px; color:var(--fg); border-color:var(--fg); }

.pipe-stage__ctrls{ display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-3); }
.pipe-statbtn{ min-height:36px; padding:6px var(--s-3); border-radius:var(--r-pill); border:var(--bw) solid var(--border-strong); font-family:var(--font-mono); font-size:var(--t-micro); color:var(--fg-soft); background:var(--bg); }
.pipe-statbtn:hover:not(:disabled){ background:var(--bg-2); color:var(--fg); }
.pipe-statbtn[aria-pressed="true"]{ background:var(--accent); color:var(--accent-fg); border-color:var(--accent); cursor:default; }
[data-contrast="aaa"] .pipe-statbtn{ border-width:2px; color:var(--fg); }
[data-contrast="aaa"] .pipe-statbtn[aria-pressed="true"]{ color:var(--accent-fg); outline:2px solid var(--fg); }
.pipe-note{ margin-top:var(--s-4); padding-top:var(--s-4); border-top:var(--bw) solid var(--border); font-size:var(--t-small); color:var(--fg-soft); max-width:70ch; }
[data-contrast="aaa"] .pipe-note{ color:var(--fg); }

/* ============================================================ ONDA 2 · VALOR (dado real vs hipótese) */
.section__head--inline{ display:flex; align-items:baseline; gap:var(--s-3); flex-wrap:wrap; }
.data-tag{ display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:var(--t-micro); border:1px solid var(--border-strong); }
.data-tag::before{ content:""; width:8px; height:8px; border-radius:50%; flex:none; }
.data-tag--real{ color:var(--accent-ink); border-color:var(--accent-ink); background:var(--accent-soft); }
.data-tag--real::before{ background:var(--accent-ink); }
.data-tag--hyp{ color:var(--fg); border-color:var(--border-strong); background:var(--bg-inset); border-style:dashed; }
.data-tag--hyp::before{ background:var(--fg); }
[data-contrast="aaa"] .data-tag{ border-width:2px; color:var(--fg); border-color:var(--fg); background:var(--bg); }
[data-contrast="aaa"] .data-tag::before{ background:var(--fg); }

.valor-grid{ display:grid; grid-template-columns:1fr; gap:var(--s-3); margin-block:var(--s-4); }
@media (min-width:560px){ .valor-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:880px){ .valor-grid{ grid-template-columns:repeat(3,1fr); } }
.valor-stat{ border:var(--bw) solid var(--border); border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-4) var(--s-5); display:flex; flex-direction:column; gap:var(--s-2); }
[data-contrast="aaa"] .valor-stat{ border-width:2px; background:var(--bg); }
.valor-stat--accent{ border-color:var(--accent-ink); border-left-width:4px; }
[data-contrast="aaa"] .valor-stat--accent{ border-color:var(--fg); }
.valor-stat__lab{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.07em; color:var(--fg-soft); }
[data-contrast="aaa"] .valor-stat__lab{ color:var(--fg); }
.valor-stat__val{ font-family:var(--font-display); font-size:1.3rem; font-weight:600; color:var(--fg); word-break:break-word; }
.valor-stat--accent .valor-stat__val{ color:var(--accent-ink); }
[data-contrast="aaa"] .valor-stat--accent .valor-stat__val{ color:var(--fg); }
.valor-stat__sub{ font-family:var(--font-mono); font-size:var(--t-nano); color:var(--fg-faint); }
[data-contrast="aaa"] .valor-stat__sub{ color:var(--fg); }
.valor-honest{ margin-top:var(--s-3); font-size:var(--t-small); color:var(--fg-soft); max-width:70ch; }
[data-contrast="aaa"] .valor-honest{ color:var(--fg); }

.hyp-card{ border:var(--bw) solid var(--border-strong); border-style:dashed; border-radius:var(--r-3); background:var(--bg-2); padding:var(--s-5); margin-top:var(--s-4); display:flex; flex-direction:column; gap:var(--s-4); }
[data-contrast="aaa"] .hyp-card{ border-width:2px; background:var(--bg); }
.hyp-saved{ border-top:var(--bw) solid var(--border); padding-top:var(--s-4); display:flex; flex-direction:column; gap:var(--s-2); }
.hyp-saved__lab{ font-family:var(--font-mono); font-size:var(--t-nano); text-transform:uppercase; letter-spacing:.08em; color:var(--accent-ink); }
[data-contrast="aaa"] .hyp-saved__lab{ color:var(--fg); }
.hyp-saved__metric{ font-weight:600; color:var(--fg); }
.hyp-saved__foot{ font-size:var(--t-small); color:var(--fg-soft); }
[data-contrast="aaa"] .hyp-saved__foot{ color:var(--fg); }

.nogo-block{ display:flex; gap:var(--s-3); border:var(--bw) solid var(--border-strong); border-radius:var(--r-3); background:var(--bg-inset); padding:var(--s-4) var(--s-5); margin-block:var(--s-4); }
[data-contrast="aaa"] .nogo-block{ border-width:2px; background:var(--bg); }
.nogo-block__ic{ font-size:1.4rem; color:var(--fg-soft); flex:none; line-height:1.2; }
[data-contrast="aaa"] .nogo-block__ic{ color:var(--fg); }
.nogo-block strong{ color:var(--fg); }
.nogo-block p{ margin-top:var(--s-2); font-size:var(--t-small); color:var(--fg-soft); max-width:72ch; }
[data-contrast="aaa"] .nogo-block p{ color:var(--fg); }

/* ============================================================ ============================================================
 * AAA / HC · NO FINAL · vence a cascata (ADR 004 · Nível 1 absoluto)
 * Força contraste máximo E colapsa o accent de QUALQUER paleta para a face AAA-safe.
 * ============================================================ */
[data-contrast="aaa"],
[data-theme="hc"]{
  --bg:#FFFFFF; --bg-2:#FFFFFF; --bg-inset:#FFFFFF;
  --fg:#000000; --fg-soft:#000000; --fg-faint:#000000; --muted:#000000;
  --border:#000000; --border-strong:#000000;
  --field-bg:#FFFFFF;
  --focus:#000000;
  --bw:2px;
  --shadow:none;
}
/* AAA compõe com tema escuro: preto-puro / branco / accent claro */
html[data-theme="dark"][data-contrast="aaa"],
html[data-theme="hc"]{
  --bg:#000000; --bg-2:#000000; --bg-inset:#000000;
  --fg:#FFFFFF; --fg-soft:#FFFFFF; --fg-faint:#FFFFFF; --muted:#FFFFFF;
  --border:#FFFFFF; --border-strong:#FFFFFF;
  --field-bg:#000000;
  --focus:#FFFFFF;
}
/* o accent saturado (de qualquer data-palette) COLAPSA para a face AAA-safe da paleta.
   carrega DEPOIS de palettes.css → vence. Mantém matiz da marca mas ≥7:1 como texto/superfície. */
[data-contrast="aaa"][data-palette],
[data-theme="hc"][data-palette]{
  --accent: var(--cam-accent-aaa);
  --accent-fg:#FBFAF6;
  --accent-soft:transparent;
  --accent-strong: var(--cam-accent-aaa);
  --accent-rule: var(--cam-accent-aaa);
}
/* no dark+aaa, accent vira branco p/ máximo contraste sobre preto (superfície) */
html[data-theme="dark"][data-contrast="aaa"][data-palette],
html[data-theme="hc"][data-palette]{
  --accent:#FFFFFF; --accent-fg:#000000; --accent-strong:#FFFFFF; --accent-rule:#FFFFFF;
  --cam-accent-aaa:#FFFFFF;
}
/* CTRL PRESSO em AAA: a regra genérica [data-contrast=aaa] .ctrl força color:var(--fg)=preto,
   mas o botão presso usa background:var(--accent)=face AAA escura → texto preto sobre navy = 1.34:1.
   Especificidade 0,2,1 (> 0,2,0 da regra genérica) + ordem posterior → vence e restaura --accent-fg
   (papel claro no light+aaa · preto no dark+aaa sobre accent branco). Corrige o toggle AAA quando ON. */
[data-contrast="aaa"] .ctrl[aria-pressed="true"]{ color:var(--accent-fg); }

/* Onda 2.1 · Equipe & alocação + Audiência por rede (tokens adaptáveis · AAA-safe) */
.est-block{ margin-top:var(--s-5); }
.est-block__h{ font-size:var(--t-small); text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin:0 0 var(--s-2); }
.aud-list{ list-style:none; margin:0; padding:0; display:grid; gap:var(--s-2); }
.aud-item{ display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--s-2) var(--s-3); padding:var(--s-2) var(--s-3); border:var(--bw) solid var(--border); border-radius:var(--r-2); background:var(--bg-2); }
.aud-rede{ font-weight:700; text-transform:capitalize; color:var(--accent-ink); }
.aud-perfil{ color:var(--fg); font-size:var(--t-small); }
.aud-cpm{ font-family:var(--font-mono); font-size:var(--t-micro); color:var(--fg); }
.aud-nota{ color:var(--muted); font-size:var(--t-small); font-style:italic; width:100%; }

/* Onda 2.2 · Painel executivo + Monitoração de mercado */
#painel-kpis{ margin-top:var(--s-4); }
#painel-table{ margin-top:var(--s-5); }
#painel-results{ margin-top:var(--s-5); }
.mkt-group{ margin-top:var(--s-5); padding-top:var(--s-4); border-top:var(--bw) solid var(--border); }
.mkt-group__h{ font-size:1.15rem; font-weight:700; margin:0 0 var(--s-3); color:var(--fg); }
