/* Styles.html */

/* ============================================================================================
   Nomeia Concursos · estilos da plataforma (v1.5 · identidade "Direção D")
   Duas vozes: em OURO o que é do aluno (metas, avanço, conquistas); em AZUL-SINAL o que a
   Nomeia_iA leu, decidiu e recomenda. "O azul se move, o ouro confirma."
   Premium sem cromo: quatro profundidades de céu, tipografia de precisão (números tabulares) e
   telemetria em monoespaçada. Tema padrão "Céu" (escuro) + tema "Manhã" (claro).
   Tudo por tokens: componentes nunca usam cor literal.
   ============================================================================================ */
:root{
  color-scheme: dark;
  /* marca (constantes: iguais nos dois temas, para as superfícies que são sempre escuras) */
  --ceu:#0C1222; --ceu-2:#121A2E; --ceu-3:#1B2540; --ceu-4:#243052; --ceu-0:#080C18;
  --luz:#F1EDE3; --nevoa:#A5ADC2; --nevoa-2:#7D86A0;
  --sinal:#8FB4FF; --sinal-tx:#A9C5FF; --ouro-m:#E8C56A; --ouro-m-tx:#EFD18A; --aurora:#7FD1A6; --coral:#F08A72;
  /* superfícies */
  --fundo:#0C1222; --fundo-2:#0F1629; --sup:#121A2E; --sup-2:#161F37; --sup-3:#1B2540; --sup-4:#243052;
  --linha:rgba(143,170,230,.11); --linha-2:rgba(143,170,230,.20);
  --tx:#F1EDE3; --tx-2:#A5ADC2; --tx-3:#7D86A0; --tx-inv:#0C1222;
  /* as duas vozes */
  --ia:#8FB4FF; --ia-forte:#6E9BFF; --ia-tx:#A9C5FF; --ia-suave:rgba(143,180,255,.12); --ia-borda:rgba(143,180,255,.32);
  --ouro:#E8C56A; --ouro-forte:#D9AE45; --ouro-tx:#EFD18A; --ouro-suave:rgba(232,197,106,.13); --ouro-borda:rgba(232,197,106,.34);
  /* acento de interface (foco, seleção, links) = voz da IA */
  --ac:#8FB4FF; --ac-forte:#6E9BFF; --ac-suave:rgba(143,180,255,.13); --ac-tx:#A9C5FF;
  /* semânticas (só em texto, ícone e traço fino) */
  --ok:#7FD1A6; --ok-suave:rgba(127,209,166,.13); --ok-tx:#95DDB6;
  --err:#F08A72; --err-suave:rgba(240,138,114,.13); --err-tx:#F5A592;
  --ate:#F2A65A; --ate-suave:rgba(242,166,90,.14); --ate-tx:#F5B777;
  --info:#8FB4FF; --info-suave:rgba(143,180,255,.12);
  --tq:#6CCFD6; --tq-suave:rgba(108,207,214,.13);
  /* famílias e categorias (cor distinta por tipo de etapa) */
  --c-lilas:#B7A3FF; --c-aqua:#6CCFD6; --c-ambar:#F2A65A; --c-aurora:#7FD1A6; --c-rosa:#F28DB6; --c-coral:#F08A72; --c-gelo:#A7C7E7; --c-sinal:#8FB4FF; --c-ouro:#E8C56A;
  /* gráficos (validados contra --sup) */
  --s1:#B7A3FF; --s2:#F2A65A; --s3:#7FD1A6; --s4:#F28DB6; --s5:#F08A72; --s6:#6CCFD6; --s-out:#6B7594;
  --pos:#8FB4FF; --neg:#F08A72; --neutro:#2A3553; --grade:rgba(143,170,230,.08); --eixo:rgba(143,170,230,.22);
  --sombra:0 1px 0 rgba(255,255,255,.035) inset,0 1px 2px rgba(3,5,12,.35),0 10px 30px rgba(3,5,12,.28);
  --sombra-2:0 24px 70px rgba(3,5,12,.55);
  --brilho-ia:0 0 0 1px rgba(143,180,255,.28),0 10px 40px -8px rgba(110,155,255,.35);
  --on-fill:#0C1222; /* texto sobre preenchimento colorido (pastéis no escuro) */
  --r:16px; --r-2:11px; --r-3:22px;
  --f-disp:"Bricolage Grotesque","Manrope",system-ui,sans-serif;
  --f-txt:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --esc:1; --nav-h:64px; --topo-h:58px;
  --seg-b:env(safe-area-inset-bottom,0px); --seg-t:env(safe-area-inset-top,0px);
}
:root[data-tema="manha"]{
  color-scheme: light;
  --fundo:#F4F2EC; --fundo-2:#EFECE4; --sup:#FFFFFF; --sup-2:#F8F6F1; --sup-3:#ECE8DF; --sup-4:#E2DDD1;
  --linha:rgba(12,18,34,.10); --linha-2:rgba(12,18,34,.18);
  --tx:#0C1222; --tx-2:#4B5470; --tx-3:#666E8A; --tx-inv:#FFFFFF;
  --ia:#2B62D9; --ia-forte:#2457C4; --ia-tx:#2457C4; --ia-suave:rgba(43,98,217,.09); --ia-borda:rgba(43,98,217,.30);
  --ouro:#C9962A; --ouro-forte:#B07C12; --ouro-tx:#8A5E00; --ouro-suave:rgba(201,150,42,.13); --ouro-borda:rgba(176,124,18,.38);
  --ac:#2B62D9; --ac-forte:#2457C4; --ac-suave:rgba(43,98,217,.10); --ac-tx:#2457C4;
  --ok:#2FA56E; --ok-suave:rgba(47,165,110,.11); --ok-tx:#177A4B;
  --err:#D9573C; --err-suave:rgba(217,87,60,.10); --err-tx:#B83D26;
  --ate:#C46A12; --ate-suave:rgba(196,106,18,.11); --ate-tx:#9A5408;
  --info:#2B62D9; --info-suave:rgba(43,98,217,.09);
  --tq:#0E8A93; --tq-suave:rgba(14,138,147,.10);
  --c-lilas:#6B4FD8; --c-aqua:#0B7C84; --c-ambar:#B8650F; --c-aurora:#177A4B; --c-rosa:#B23A70; --c-coral:#B83D26; --c-gelo:#3F6C9E; --c-sinal:#2457C4; --c-ouro:#8A5E00;
  --s1:#6B4FD8; --s2:#C46A12; --s3:#1E8F5A; --s4:#C2407A; --s5:#D9573C; --s6:#0E8A93; --s-out:#A2A7BD;
  --pos:#2B62D9; --neg:#D9573C; --neutro:#E2DDD1; --grade:rgba(12,18,34,.07); --eixo:rgba(12,18,34,.22);
  --sombra:0 1px 2px rgba(12,18,34,.05),0 8px 24px rgba(12,18,34,.06);
  --sombra-2:0 24px 64px rgba(12,18,34,.18);
  --brilho-ia:0 0 0 1px rgba(43,98,217,.22),0 10px 30px -10px rgba(43,98,217,.25);
  --on-fill:#FFFFFF;
}
:root[data-fonte="g"]{ --esc:1.08 }
:root[data-fonte="gg"]{ --esc:1.16 }

*,*::before,*::after{ box-sizing:border-box }
html,body{ height:100% }
body{ margin:0; background:var(--fundo); color:var(--tx); font-family:var(--f-txt); font-size:calc(15px * var(--esc)); line-height:1.5;
  -webkit-font-smoothing:antialiased; -webkit-tap-highlight-color:transparent; overscroll-behavior-y:none }
button,input,select,textarea{ font:inherit; color:inherit }
button{ cursor:pointer; background:none; border:0; padding:0 }
a{ color:var(--ac-tx); text-underline-offset:3px }
img,svg{ max-width:100% }
h1,h2,h3,h4{ margin:0; line-height:1.2; text-wrap:balance }
h1{ font-family:var(--f-disp); font-weight:700; font-size:1.55em; letter-spacing:-.015em }
h2{ font-family:var(--f-disp); font-weight:650; font-size:1.2em; letter-spacing:-.01em }
h3{ font-size:1em; font-weight:650 }
p{ margin:0 }
:focus-visible{ outline:2px solid var(--ac); outline-offset:2px; border-radius:6px }
.num{ font-variant-numeric:tabular-nums }
.mut{ color:var(--tx-2) } .mut-2{ color:var(--tx-3) }
.peq{ font-size:.86em } .mini{ font-size:.76em } .grande{ font-size:1.15em }
.rotulo{ font-size:.72em; text-transform:uppercase; letter-spacing:.08em; color:var(--tx-3); font-weight:600 }
.oculto{ display:none!important }
.sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0) }
.linha{ display:flex; align-items:center; gap:10px } .linha.topo{ align-items:flex-start } .linha.entre{ justify-content:space-between }
.linha.qb{ flex-wrap:wrap } .col{ display:flex; flex-direction:column; gap:10px } .cresce{ flex:1; min-width:0 }
.grade{ display:grid; gap:14px } .g2{ grid-template-columns:repeat(2,minmax(0,1fr)) } .g3{ grid-template-columns:repeat(3,minmax(0,1fr)) }
.g-auto{ grid-template-columns:repeat(auto-fill,minmax(230px,1fr)) }
.cortar{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.ic{ width:20px; height:20px; flex:none; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round }
.ic.p{ width:16px; height:16px } .ic.g{ width:24px; height:24px }

/* ------------------------------------------------------------------ casca do app */
.app{ min-height:100%; display:flex }
.lateral{ display:none }
.principal{ flex:1; min-width:0; display:flex; flex-direction:column }
header.topo{ position:sticky; top:0; z-index:30; height:calc(var(--topo-h) + var(--seg-t)); padding:var(--seg-t) 16px 0; display:flex; align-items:center; gap:10px;
  background:color-mix(in srgb,var(--fundo) 86%,transparent); backdrop-filter:saturate(1.4) blur(14px); -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--linha) }
.topo .titulo{ font-family:var(--f-disp); font-weight:650; font-size:1.08em; flex:1; min-width:0 }
.marca{ display:flex; align-items:center; gap:10px; font-family:var(--f-disp); font-weight:750; font-size:1.12em; letter-spacing:-.02em }
.marca img{ width:30px; height:30px; border-radius:8px; box-shadow:0 2px 10px rgba(232,197,106,.28) }
/* marca Nomeia Concursos (Direção D): constantes antigas apontam para a paleta nova */
:root{ --marca-eletrico:#8FB4FF; --marca-brilho:#8FB4FF; --marca-azul:#0C1222; --marca-azul-2:#121A2E; --marca-ouro:#E8C56A; --marca-ouro-claro:#EFD18A; --marca-ouro-escuro:#C9A043; --f-marca:"Bricolage Grotesque","Manrope",system-ui,sans-serif }
.conteudo{ flex:1; width:100%; max-width:1180px; margin:0 auto; padding:16px 16px calc(var(--nav-h) + var(--seg-b) + 24px) }
.nav-inf{ position:fixed; left:0; right:0; bottom:0; z-index:40; display:grid; grid-template-columns:repeat(5,1fr);
  height:calc(var(--nav-h) + var(--seg-b)); padding-bottom:var(--seg-b); background:color-mix(in srgb,var(--fundo-2) 92%,transparent);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-top:1px solid var(--linha) }
.nav-inf button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--tx-3); font-size:.72em; font-weight:600; position:relative }
.nav-inf button[aria-current="page"]{ color:var(--tx) }
.nav-inf button[aria-current="page"] .ic{ color:var(--ac) }
.nav-inf .badge{ position:absolute; top:8px; left:calc(50% + 6px) }
.badge{ min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--err); color:var(--on-fill); font-size:.68rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center }
.badge.ac{ background:var(--ac-forte) }
.chip-topo{ display:inline-flex; align-items:center; gap:5px; height:30px; padding:0 10px; border-radius:15px; background:var(--sup); border:1px solid var(--linha); font-weight:650; font-size:.84em }
.chip-topo .ic{ width:16px; height:16px }
.chip-topo.fogo .ic{ color:var(--ate) } .chip-topo.xp .ic{ color:var(--ouro) }
.avatar{ width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,var(--ac),var(--tq)); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:750; font-size:.9em; flex:none }

@media (min-width:900px){
  .lateral{ display:flex; flex-direction:column; gap:4px; width:248px; flex:none; position:sticky; top:0; height:100vh; padding:18px 14px; border-right:1px solid var(--linha); background:var(--fundo-2) }
  .lateral .marca{ padding:4px 8px 18px }
  .lateral button{ display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; color:var(--tx-2); font-weight:600; text-align:left; position:relative }
  .lateral button:hover{ background:var(--sup) }
  .lateral button[aria-current="page"]{ background:var(--ac-suave); color:var(--tx) }
  .lateral button[aria-current="page"] .ic{ color:var(--ac) }
  .lateral .sep{ height:1px; background:var(--linha); margin:10px 6px }
  .lateral .rodape{ margin-top:auto; padding:10px 8px 0; font-size:.78em; color:var(--tx-3) }
  .nav-inf{ display:none }
  .topo .marca{ display:none }
  .conteudo{ padding:24px 28px 48px }
}

/* ------------------------------------------------------------------ blocos */
.bloco{ background:var(--sup); border:1px solid var(--linha); border-radius:var(--r); padding:16px; box-shadow:var(--sombra); min-width:0 }
.bloco.plano{ box-shadow:none }
.bloco.sem-borda{ border:0 }
.bloco-t{ display:flex; align-items:center; gap:8px; margin-bottom:12px }
.bloco-t h2,.bloco-t h3{ flex:1; min-width:0 }
.secao{ display:flex; flex-direction:column; gap:14px; margin-bottom:22px }
.secao-t{ display:flex; align-items:baseline; gap:8px; justify-content:space-between }
.divisor{ height:1px; background:var(--linha); margin:12px 0 }
.painel-grade{ display:grid; gap:14px; grid-template-columns:1fr; align-items:start }
@media (min-width:760px){ .painel-grade{ grid-template-columns:repeat(2,minmax(0,1fr)) } .painel-grade .largo{ grid-column:1/-1 } }
@media (min-width:1100px){ .painel-grade.tres{ grid-template-columns:repeat(3,minmax(0,1fr)) } }

/* "i" — explicação em linguagem simples */
.info{ width:22px; height:22px; border-radius:50%; flex:none; display:inline-flex; align-items:center; justify-content:center; color:var(--tx-3); border:1px solid var(--linha-2); font:italic 700 12px/1 Georgia,serif }
.info:hover,.info[aria-expanded="true"]{ color:var(--ac-tx); border-color:var(--ac) }
.pop{ position:fixed; z-index:90; max-width:min(340px,calc(100vw - 32px)); background:var(--sup-3); color:var(--tx); border:1px solid var(--linha-2); border-radius:12px; padding:12px 14px;
  box-shadow:var(--sombra-2); font-size:.9em; line-height:1.5 }
.pop b{ color:var(--ac-tx) }
.pop .mut{ display:block; margin-top:6px; font-size:.92em }

/* ------------------------------------------------------------------ botões e controles */
.bt{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:6px 18px; border-radius:12px; font-weight:650; max-width:100%;
  background:var(--ac-forte); color:var(--on-fill); transition:transform .12s ease, filter .12s ease; text-align:center; line-height:1.25 }
.bt:hover{ filter:brightness(1.08) } .bt:active{ transform:scale(.98) }
.bt[disabled]{ opacity:.5; pointer-events:none }
.bt.b2{ background:var(--sup-2); color:var(--tx); border:1px solid var(--linha-2) }
.bt.fant{ background:transparent; color:var(--tx-2) } .bt.fant:hover{ background:var(--sup-2); color:var(--tx) }
.bt.ok{ background:var(--ok); color:var(--on-fill) } .bt.perigo{ background:var(--err); color:var(--on-fill) }
.bt.peq{ min-height:36px; padding:0 12px; font-size:.88em; border-radius:10px }
.bt.bloco-l{ width:100% }
.bt-ic{ width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; color:var(--tx-2); flex:none }
.bt-ic:hover{ background:var(--sup-2); color:var(--tx) }
.seg{ display:inline-flex; padding:3px; gap:2px; background:var(--fundo-2); border:1px solid var(--linha); border-radius:12px; max-width:100%; overflow-x:auto; scrollbar-width:none }
.seg::-webkit-scrollbar{ display:none }
.seg button{ padding:7px 12px; border-radius:9px; font-weight:600; font-size:.88em; color:var(--tx-2); white-space:nowrap }
.seg button[aria-pressed="true"]{ background:var(--sup-3); color:var(--tx); box-shadow:0 1px 3px rgba(0,0,0,.15) }
.chips{ display:flex; gap:8px; flex-wrap:wrap }
.chip{ display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 10px; border-radius:13px; font-size:.78em; font-weight:650; background:var(--sup-2); color:var(--tx-2); border:1px solid var(--linha); white-space:nowrap }
.chip.sel,.chip[aria-pressed="true"]{ background:var(--ac-suave); color:var(--ac-tx); border-color:transparent }
.chip.ok{ background:var(--ok-suave); color:var(--ok-tx); border-color:transparent } .chip.err{ background:var(--err-suave); color:var(--err-tx); border-color:transparent }
.chip.ate{ background:var(--ate-suave); color:var(--ate); border-color:transparent } .chip.info{ background:var(--info-suave); color:var(--info); border-color:transparent }
.chip.ouro{ background:var(--ouro-suave); color:var(--ouro); border-color:transparent }
.chip .ic{ width:14px; height:14px }
button.chip{ height:32px; padding:0 12px; font-size:.84em }
.sig{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:26px; border-radius:8px; font:700 .72em/1 var(--f-txt); letter-spacing:.04em;
  background:color-mix(in srgb,var(--cor-sig,var(--s-out)) 22%,var(--sup)); color:var(--tx); border:1px solid color-mix(in srgb,var(--cor-sig,var(--s-out)) 45%,transparent); flex:none }
.campo{ display:flex; flex-direction:column; gap:6px }
.campo label,.campo .rot{ font-size:.84em; font-weight:600; color:var(--tx-2); display:flex; align-items:center; gap:6px }
.entrada,select.entrada,textarea.entrada{ width:100%; min-height:44px; padding:10px 12px; border-radius:11px; background:var(--fundo-2); border:1px solid var(--linha-2); color:var(--tx); outline:none }
.entrada:focus{ border-color:var(--ac); box-shadow:0 0 0 3px var(--ac-suave) }
textarea.entrada{ min-height:84px; resize:vertical }
.passo-num{ display:flex; align-items:center; border:1px solid var(--linha-2); border-radius:11px; overflow:hidden; background:var(--fundo-2) }
.passo-num button{ width:40px; height:40px; font-size:1.2em; color:var(--tx-2) } .passo-num button:hover{ background:var(--sup-2) }
.passo-num input{ width:56px; text-align:center; border:0; background:transparent; height:40px; font-weight:700 }
.estrelas{ display:inline-flex; gap:1px; color:var(--ouro) } .estrelas .v{ color:var(--linha-2) }
.estrelas svg{ width:13px; height:13px; fill:currentColor; stroke:none }

/* ------------------------------------------------------------------ progresso e números */
.barra{ height:8px; border-radius:4px; background:var(--sup-3); overflow:hidden; position:relative }
.barra > i{ display:block; height:100%; border-radius:4px; background:var(--ac); transition:width .5s cubic-bezier(.2,.8,.2,1) }
.barra.tq > i{ background:var(--tq) } .barra.ouro > i{ background:var(--ouro) } .barra.fina{ height:5px }
.anel{ position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none }
.anel svg{ transform:rotate(-90deg) } .anel .centro{ position:absolute; text-align:center; line-height:1.1 }
.kpi{ display:flex; flex-direction:column; gap:2px; min-width:0 }
.kpi .v{ font-size:1.55em; font-weight:750; letter-spacing:-.02em; line-height:1.15; white-space:nowrap }
.kpi .v small{ font-size:.55em; font-weight:600; color:var(--tx-2); margin-left:2px }
.kpi .r{ font-size:.8em; color:var(--tx-2); display:flex; align-items:center; gap:6px }
.kpis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px }
@media (min-width:560px){ .kpis.q4{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.delta-pos{ color:var(--ok-tx) } .delta-neg{ color:var(--err-tx) }

/* ------------------------------------------------------------------ início */
.saudacao{ display:grid; gap:16px; grid-template-columns:1fr; align-items:center; padding:18px; border-radius:var(--r-3);
  background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--ac) 28%,transparent) 0%,transparent 55%),radial-gradient(90% 120% at 0% 100%,color-mix(in srgb,var(--tq) 18%,transparent) 0%,transparent 60%),var(--sup);
  border:1px solid var(--linha); box-shadow:var(--sombra) }
.saudacao h1{ font-size:1.5em }
.saudacao .frase{ color:var(--tx-2); max-width:58ch; font-size:.9em }
.frase-dia{ position:relative; margin:4px 0 2px; padding:12px 16px 12px 40px; border-radius:14px; max-width:62ch;
  background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 16%,transparent),color-mix(in srgb,var(--tq) 8%,transparent)); border:1px solid color-mix(in srgb,var(--ac) 28%,transparent) }
.frase-dia p{ font-size:1.06em; font-weight:600; line-height:1.5; color:var(--tx); letter-spacing:.005em }
.frase-dia .fd-aspas{ position:absolute; left:12px; top:2px; font-size:2.4em; line-height:1; font-family:Georgia,serif; color:var(--ac) }
.frase-dia .fd-rot{ display:block; margin-top:6px; font-size:.68em; text-transform:uppercase; letter-spacing:.1em; color:var(--tx-3); font-weight:600 }
.nivel{ display:flex; align-items:center; gap:14px }
.nivel .medalha{ width:62px; height:62px; border-radius:18px; flex:none; display:flex; align-items:center; justify-content:center; flex-direction:column;
  background:linear-gradient(160deg,var(--ac-forte),color-mix(in srgb,var(--ac-forte) 40%,var(--tq))); color:var(--on-fill); box-shadow:inset 0 1px 0 rgba(255,255,255,.25) }
.nivel .medalha b{ font-size:1.5em; line-height:1; font-family:var(--f-disp) } .nivel .medalha span{ font-size:.62em; letter-spacing:.1em; text-transform:uppercase; opacity:.85 }
@media (min-width:760px){ .saudacao{ grid-template-columns:1.3fr 1fr; padding:22px 24px } }
.continuar{ display:flex; gap:14px; align-items:center }
.continuar .tipo-ic{ width:48px; height:48px; border-radius:14px; background:var(--ac-suave); color:var(--ac); display:flex; align-items:center; justify-content:center; flex:none }
.dias-meta{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px }
.dias-meta .d{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 0; border-radius:10px; background:var(--fundo-2); font-size:.74em; color:var(--tx-3) }
.dias-meta .d b{ font-size:1.25em; color:var(--tx) } .dias-meta .d.hoje{ outline:2px solid var(--ac); outline-offset:-2px }
.dias-meta .d.ok{ background:var(--ok-suave) } .dias-meta .d.ok b{ color:var(--ok-tx) }
.missao{ display:flex; align-items:center; gap:12px; padding:10px 0 } .missao + .missao{ border-top:1px solid var(--linha) }
.missao .mi{ width:36px; height:36px; border-radius:11px; background:var(--sup-2); display:flex; align-items:center; justify-content:center; color:var(--tx-2); flex:none }
.missao.feita .mi{ background:var(--ok-suave); color:var(--ok) }
.atalhos{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.atalho{ display:flex; flex-direction:column; gap:6px; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); text-align:left; min-width:0 }
.atalho:hover{ border-color:var(--linha-2) } .atalho .v{ font-size:1.4em; font-weight:750; line-height:1 } .atalho .r{ font-size:.76em; color:var(--tx-2) }
.msg{ padding:12px 14px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); display:flex; gap:12px }
.msg + .msg{ margin-top:8px } .msg .de{ font-size:.76em; color:var(--tx-3) }
.conquistas{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin }
.conq{ flex:none; width:92px; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; font-size:.72em; color:var(--tx-2) }
.conq .med{ width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.6em; background:var(--ouro-suave); border:1px solid color-mix(in srgb,var(--ouro) 40%,transparent) }
.conq.bloq .med{ filter:grayscale(1); opacity:.35; background:var(--sup-2); border-color:var(--linha) }

/* ------------------------------------------------------------------ metas e atividades */
/* meta = ciclo de etapas */
.f-leit{ --fam:var(--ac) } .f-ques{ --fam:var(--tq) } .f-rev{ --fam:var(--ouro) } .f-test{ --fam:var(--info) } .f-ok{ --fam:var(--ok) }
.tipo-chip{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:11px; font-size:.74em; font-weight:700; letter-spacing:.02em; white-space:nowrap;
  background:color-mix(in srgb,var(--fam) 16%,transparent); color:color-mix(in srgb,var(--fam) 70%,var(--tx)); border:1px solid color-mix(in srgb,var(--fam) 30%,transparent) }
.meta-hero{ position:relative; padding:20px; border-radius:var(--r-3); border:1px solid var(--linha); box-shadow:var(--sombra); overflow:hidden;
  background:radial-gradient(110% 140% at 100% 0%,color-mix(in srgb,var(--tq) 16%,transparent) 0%,transparent 55%),radial-gradient(90% 120% at 0% 100%,color-mix(in srgb,var(--ac) 16%,transparent) 0%,transparent 60%),var(--sup) }
.mh-topo{ display:flex; gap:16px; align-items:flex-start; justify-content:space-between }
.mh-tit{ display:flex; flex-direction:column; gap:6px; min-width:0 }
.mh-tit h1{ font-size:1.9em; line-height:1.05 }
.mh-sub{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:.86em; color:var(--tx-2); margin-top:2px }
.mh-sub span{ display:inline-flex; align-items:center; gap:6px }
.mh-anel{ flex:none }
.mh-foco{ display:flex; gap:10px; align-items:flex-start; margin-top:14px; padding:12px 14px; border-radius:14px; background:color-mix(in srgb,var(--fundo) 45%,transparent); border:1px solid var(--linha); font-size:.92em; line-height:1.55 }
.mh-foco .ic{ color:var(--tq); margin-top:2px }
.mh-desc{ margin-top:10px; border-radius:14px; border:1px solid var(--linha); background:color-mix(in srgb,var(--fundo) 45%,transparent) }
.mh-desc summary{ display:flex; gap:8px; align-items:center; padding:10px 14px; cursor:pointer; list-style:none; font-size:.9em; font-weight:600 } .mh-desc summary::-webkit-details-marker{ display:none }
.mh-desc>div{ padding:0 14px 12px; line-height:1.6 }
.trilha{ display:flex; gap:3px; height:10px; margin-top:16px }
.trilha i{ display:block; min-width:6px; border-radius:5px; background:color-mix(in srgb,var(--fam) 22%,var(--sup-3)) }
.trilha i.f-leit{ --fam:var(--ac) } .trilha i.f-ques{ --fam:var(--tq) } .trilha i.f-rev{ --fam:var(--ouro) } .trilha i.f-test{ --fam:var(--info) }
.trilha i.feita{ background:var(--fam) } .trilha i.ign{ opacity:.35 } .trilha i.atual{ box-shadow:0 0 0 2px var(--fundo),0 0 0 3.5px var(--fam) }
.mh-kpis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px }
@media (min-width:640px){ .mh-kpis{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.mk{ display:flex; flex-direction:column; gap:2px; padding:11px 13px; border-radius:13px; background:color-mix(in srgb,var(--fundo) 40%,transparent); border:1px solid var(--linha); min-width:0 }
.mk .r{ font-size:.76em; color:var(--tx-2); display:flex; align-items:center; gap:6px }
.mk b{ font-size:1.3em; font-weight:750; letter-spacing:-.01em; line-height:1.2; white-space:nowrap }
.prox-etapa{ display:flex; align-items:center; gap:14px; margin-top:14px; padding:16px 18px; border-radius:var(--r-3); border:1px solid color-mix(in srgb,var(--fam) 40%,transparent);
  background:linear-gradient(120deg,color-mix(in srgb,var(--fam) 16%,var(--sup)) 0%,var(--sup) 70%); box-shadow:var(--sombra) }
.pe-ic{ width:50px; height:50px; flex:none; border-radius:15px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--fam) 20%,transparent); color:var(--fam) }
.pe-ic.peq-ic{ width:38px; height:38px; border-radius:12px; --fam:var(--ac) }
.pe-tit{ font-family:var(--f-disp); font-weight:650; font-size:1.12em; line-height:1.25; margin-top:3px }
.pe-m{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-top:6px; font-size:.82em; color:var(--tx-2) } .pe-m span{ display:inline-flex; align-items:center; gap:5px }
@media (max-width:520px){ .prox-etapa{ flex-wrap:wrap } .prox-etapa > .bt{ width:100% } }
.ciclo-barra{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:20px 0 10px }
.ciclo-como{ margin:0 0 14px; border-radius:14px; background:var(--sup); border:1px solid var(--linha); padding:0 14px }
.ciclo-como summary{ display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; font-size:.88em; font-weight:600; color:var(--tx-2); list-style:none }
.ciclo-como summary::-webkit-details-marker{ display:none }
.ciclo-como > div{ padding:0 0 14px; display:flex; flex-direction:column; gap:8px; line-height:1.6; color:var(--tx-2) }
.ciclo-edit{ margin:18px 0 12px; padding:16px; border-radius:var(--r-3); background:var(--sup); border:1.5px solid var(--ac); box-shadow:var(--sombra) }
.ciclo-edit p{ margin-top:4px; line-height:1.55 }
.ciclo{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; counter-reset:etapa }
.etapa{ position:relative; display:flex; gap:12px; align-items:stretch }
.etapa::before{ content:""; position:absolute; left:17px; top:-10px; bottom:-10px; width:2px; background:var(--linha-2) }
.etapa:first-child::before{ top:50% } .etapa:last-child::before{ bottom:50% } .etapa:only-child::before{ display:none }
.e-num{ position:relative; z-index:1; flex:none; width:36px; height:36px; align-self:center; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:750; font-size:.9em; font-variant-numeric:tabular-nums; background:var(--fundo); border:2px solid var(--linha-2); color:var(--tx-2) }
.etapa.feita .e-num{ background:var(--fam); border-color:var(--fam); color:var(--on-fill) }
.etapa.atual .e-num{ border-color:var(--fam); color:var(--fam); box-shadow:0 0 0 4px color-mix(in srgb,var(--fam) 22%,transparent) }
.etapa.ign .e-num{ border-style:dashed; color:var(--tx-3) }
.e-card{ flex:1; min-width:0; display:flex; align-items:center; gap:12px; text-align:left; padding:13px 14px; border-radius:16px; background:var(--sup); border:1px solid var(--linha); transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease }
.e-card:hover{ border-color:color-mix(in srgb,var(--fam) 45%,var(--linha-2)) } .e-card:active{ transform:scale(.995) }
.etapa.atual .e-card{ border-color:color-mix(in srgb,var(--fam) 55%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--fam) 30%,transparent),var(--sombra) }
.e-ic{ width:40px; height:40px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--fam) 15%,transparent); color:var(--fam) }
.e-txt{ display:flex; flex-direction:column; gap:4px; min-width:0 }
.e-tipo{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.e-tipo .agora{ font-size:.72em; font-weight:750; text-transform:uppercase; letter-spacing:.07em; color:var(--fam) }
.e-tit{ font-weight:650; line-height:1.35; overflow-wrap:anywhere }
.e-m{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; font-size:.78em; color:var(--tx-2) } .e-m > span{ display:inline-flex; align-items:center; gap:5px }
.e-m .sig{ height:20px; font-size:.95em } .mini-chip{ height:20px!important; font-size:.92em!important; padding:0 8px!important }
.e-res{ color:var(--ok-tx); font-weight:650 }
.e-seta{ color:var(--tx-3); flex:none }
.etapa.feita .e-card{ background:color-mix(in srgb,var(--sup) 72%,var(--fundo)) } .etapa.feita .e-tit{ color:var(--tx-2) }
.etapa.ign .e-card{ opacity:.6 } .etapa.ign .e-tit{ text-decoration:line-through; text-decoration-thickness:1px }
.e-mover{ display:flex; flex-direction:column; justify-content:center; gap:4px; flex:none }
.e-mover .bt-ic{ width:38px; height:34px; border-radius:10px; background:var(--sup-2); border:1px solid var(--linha-2) } .e-mover .bt-ic[disabled]{ opacity:.3 }
@media (max-width:520px){ .e-ic{ display:none } .e-num{ width:30px; height:30px; font-size:.82em } .etapa{ gap:8px } .etapa::before{ left:14px } .e-card{ padding:12px } .mh-tit h1{ font-size:1.6em } }
.material-rsm{ display:flex; flex-direction:column; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.material-rsm > .material{ border:0; background:transparent }
.material-rsm .rsm-acoes{ display:flex; gap:4px; padding:0 10px 8px 62px; margin-top:-6px } .material-rsm .rsm-acoes .bt{ min-height:32px; padding:0 10px }
.missao-etapa{ display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; padding:14px 16px; border-radius:16px; border:1px solid color-mix(in srgb,var(--fam) 35%,transparent); background:color-mix(in srgb,var(--fam) 10%,var(--sup)) }
.missao-etapa .pe-ic{ width:40px; height:40px; border-radius:12px } .missao-etapa p{ margin-top:4px; font-weight:600; line-height:1.55 }
.atv-ficha{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-bottom:14px; border-radius:14px; overflow:hidden; border:1px solid var(--linha); background:var(--linha) }
@media (min-width:560px){ .atv-ficha{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.atv-ficha>div{ background:var(--sup); padding:9px 12px; display:flex; flex-direction:column; gap:2px; min-width:0 }
.atv-ficha .info{ width:17px; height:17px; min-width:0; font-size:.95em; vertical-align:-3px; margin-left:2px }
.atv-ficha .r{ font-size:.66em; text-transform:uppercase; letter-spacing:.07em; color:var(--tx-3); font-weight:600; white-space:nowrap } .atv-ficha b{ font-size:.92em; white-space:nowrap } .atv-ficha small{ font-weight:500; color:var(--tx-3) }
.atv-ficha .estrelas{ font-size:.85em }
.atv-sobre{ display:flex; flex-direction:column; margin-bottom:14px; border-radius:16px; border:1px solid color-mix(in srgb,var(--fam) 30%,var(--linha)); background:color-mix(in srgb,var(--fam) 7%,var(--sup)); overflow:hidden }
.atv-sobre .as-l{ display:flex; gap:12px; align-items:flex-start; padding:13px 16px } .atv-sobre .as-l+.as-l{ border-top:1px solid color-mix(in srgb,var(--fam) 18%,var(--linha)) }
.atv-sobre .pe-ic{ width:38px; height:38px; border-radius:12px } .atv-sobre p{ margin-top:3px; line-height:1.55 } .atv-sobre p.forte{ font-weight:600; font-size:.96em }
.as-ic{ width:38px; height:28px; flex:none; display:flex; align-items:center; justify-content:center; color:color-mix(in srgb,var(--fam) 75%,var(--tx)) }
.as-porque{ margin:4px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:3px; font-size:.92em; line-height:1.5 }
.atv-meta{ margin-bottom:18px; border:1px solid var(--linha); border-radius:14px; background:var(--sup) }
.atv-meta summary{ display:flex; align-items:center; gap:8px; padding:11px 14px; cursor:pointer; list-style:none; font-size:.92em } .atv-meta summary::-webkit-details-marker{ display:none }
.atv-meta[open] summary{ border-bottom:1px solid var(--linha) } .atv-meta>div{ padding:12px 14px; display:flex; flex-direction:column; gap:8px; line-height:1.55 }
.atv-meta-desc p+p{ margin-top:6px } .tx-l{ margin:6px 0; padding-left:18px; display:flex; flex-direction:column; gap:3px } .tx-h{ font-weight:700; margin-top:8px }
.atv-sec{ margin-bottom:22px } .atv-sec-t{ display:flex; gap:12px; align-items:flex-start; margin-bottom:12px } .atv-sec-t h3{ margin:0; font-size:1.02em } .atv-sec-t p{ margin-top:2px }
.atv-n{ width:28px; height:28px; flex:none; border-radius:9px; background:var(--tx); color:var(--fundo); font-weight:800; font-size:.85em; display:flex; align-items:center; justify-content:center }
.atv-principal .material{ border-width:1.5px; border-color:color-mix(in srgb,var(--ac) 45%,var(--linha)); background:color-mix(in srgb,var(--ac) 6%,var(--sup)) }
.atv-apoio{ border-top:1px dashed var(--linha-2); margin-top:14px } .apoio-it{ display:flex; flex-direction:column; gap:4px } .apoio-it>.mini{ padding-left:4px }
#cc-auto:not(.aa-op){ display:flex; width:100% } #cc-auto:not(.aa-op) button{ flex:1; padding:7px 0; text-align:center }
.atv-sessoes{ margin-top:16px; border:1px solid var(--linha); border-radius:14px; padding:0 14px } .atv-sessoes summary{ display:flex; gap:8px; align-items:center; padding:11px 0; cursor:pointer; list-style:none; font-size:.9em } .atv-sessoes summary::-webkit-details-marker{ display:none }
.depois-etapa{ display:flex; align-items:center; gap:10px; margin-top:14px; padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px dashed var(--linha-2); font-size:.88em; color:var(--tx-2) }
.ciclo.editando .e-card{ cursor:default } .etapa.movida .e-card{ border-color:var(--ac); box-shadow:0 0 0 3px var(--ac-suave) }
.atv{ display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:12px 14px; border-radius:var(--r); background:var(--sup); border:1px solid var(--linha); transition:border-color .15s ease, transform .15s ease }
.atv:hover{ border-color:var(--linha-2) } .atv:active{ transform:scale(.995) }
.atv .t{ font-weight:650; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.atv .m{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; font-size:.78em; color:var(--tx-2); margin-top:4px }
.atv .st{ width:28px; height:28px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; border:2px solid var(--linha-2); color:transparent }
.atv.feita{ background:color-mix(in srgb,var(--sup) 70%,var(--fundo)) } .atv.feita .t{ color:var(--tx-2) }
.atv.feita .st{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) }
.atv.andamento .st{ border-color:var(--ac); color:var(--ac) }
.atv.adiada .st{ border-style:dashed }
.atv.ignorada{ opacity:.62 } .atv.ignorada .t{ text-decoration:line-through; text-decoration-thickness:1px; color:var(--tx-2) } .atv.ignorada .st{ border-style:dotted }
.opcao-l{ display:flex; gap:10px; align-items:center; padding:10px 12px; border-radius:11px; border:1px solid var(--linha); background:var(--fundo-2); cursor:pointer; font-size:.92em }
.opcao-l input{ accent-color:var(--ac); width:18px; height:18px; flex:none }
.previa-faixa{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:10px 12px; border-radius:12px; background:color-mix(in srgb, var(--ouro) 18%, var(--sup)); border:1px solid color-mix(in srgb, var(--ouro) 45%, var(--linha)); font-size:.88em }
.previa-faixa .ic{ color:var(--ouro); flex:none }
.rev-l{ display:flex; gap:10px; align-items:center; padding:10px 0; border-top:1px solid var(--linha); flex-wrap:wrap } .rev-l:first-child{ border-top:0 }
.rev-l.fora .t{ text-decoration:line-through; color:var(--tx-3) } .rev-l .t{ font-size:.9em; font-weight:650 } .rev-l input.entrada{ width:74px; height:34px; padding:4px 8px }
.upl{ display:flex; flex-direction:column; gap:8px } .upl-l{ display:flex; gap:10px; align-items:center; padding:8px 10px; border-radius:10px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.86em }
.upl-l .cresce{ min-width:0; overflow-wrap:anywhere } .upl-soltar{ border-color:var(--ac); background:var(--ac-suave) }
.tipo-t{ font-weight:650; color:var(--tx) }
.historico-metas .h{ display:flex; align-items:center; gap:12px; padding:10px 0 } .historico-metas .h + .h{ border-top:1px solid var(--linha) }

/* ------------------------------------------------------------------ folha (bottom sheet / modal) */
.veu{ position:fixed; inset:0; z-index:80; background:rgba(10,12,26,.55); backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); display:flex; align-items:flex-end; justify-content:center; animation:aparecer .18s ease }
.folha{ width:100%; max-width:720px; max-height:calc(100% - 28px - var(--seg-t)); display:flex; flex-direction:column; background:var(--sup); border-radius:22px 22px 0 0; border:1px solid var(--linha-2); border-bottom:0;
  box-shadow:var(--sombra-2); animation:subir .26s cubic-bezier(.2,.8,.2,1) }
.folha .alca{ width:40px; height:5px; border-radius:3px; background:var(--linha-2); margin:8px auto 0; flex:none }
.folha .f-cab{ display:flex; align-items:flex-start; gap:10px; padding:10px 18px 12px; border-bottom:1px solid var(--linha) }
.folha .f-corpo{ overflow-y:auto; padding:16px 18px calc(18px + var(--seg-b)); -webkit-overflow-scrolling:touch; overscroll-behavior:contain }
.folha .f-rodape{ padding:12px 18px calc(12px + var(--seg-b)); border-top:1px solid var(--linha); display:flex; gap:10px; background:var(--sup) }
.folha.cheia{ max-width:none; height:100%; max-height:none; border-radius:0; border:0 }
@media (min-width:760px){ .veu{ align-items:center; padding:24px } .folha{ border-radius:22px; border-bottom:1px solid var(--linha-2); max-height:calc(100vh - 48px) } .folha .alca{ display:none } .folha.cheia{ height:auto; max-height:calc(100vh - 48px); max-width:960px; border-radius:22px } }
@keyframes aparecer{ from{ opacity:0 } } @keyframes subir{ from{ transform:translateY(40px); opacity:.4 } }
.passos-como{ counter-reset:p; display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none }
.passos-como li{ counter-increment:p; display:flex; gap:12px; align-items:flex-start }
.passos-como li::before{ content:counter(p); width:24px; height:24px; border-radius:50%; flex:none; background:var(--ac-suave); color:var(--ac-tx); font-weight:700; font-size:.8em; display:flex; align-items:center; justify-content:center }
.material{ display:flex; align-items:center; gap:12px; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); width:100%; text-align:left; color:var(--tx); text-decoration:none }
.material:hover{ border-color:var(--linha-2) } .material .mi{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex:none; background:var(--sup-2); color:var(--tx-2) }
.material.indisp{ opacity:.55 } .material .ic.seta{ color:var(--tx-3) }
.cronometro{ display:flex; align-items:center; gap:14px; padding:14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.cronometro .tempo{ font:700 1.9em/1 var(--f-txt); font-variant-numeric:tabular-nums; letter-spacing:-.02em; flex:1 }
.cronometro.rodando .tempo{ color:var(--tq) }
.grade-pos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(42px,1fr)); gap:6px }
.grade.g3{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px } @media (max-width:520px){ .grade.g3{ grid-template-columns:1fr 1fr } .grade.g3 > :last-child{ grid-column:1 / -1 } }
.grade-cc,.grade-err{ display:grid; grid-template-columns:repeat(auto-fill,minmax(86px,1fr)); gap:8px }
.cc-card,.err-card{ display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:6px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha-2); min-width:0 }
.cc-card.err,.err-card{ border-color:color-mix(in srgb, var(--err) 55%, var(--linha-2)); background:var(--err-suave) }
.cc-n,.err-n{ height:34px; border-radius:9px; background:var(--sup); border:1px solid var(--linha); font-weight:700; font-variant-numeric:tabular-nums; display:flex; align-items:center; justify-content:center; color:var(--tx) }
.cc-card.err .cc-n,.err-n{ background:var(--err); border-color:var(--err); color:var(--on-fill) }
.cc-id{ height:32px; border-radius:8px; border:1px solid var(--linha-2); background:var(--sup); color:var(--tx); font:inherit; font-size:.82em; text-align:center; font-variant-numeric:tabular-nums; min-width:0; width:100% }
.pos-id{ font-size:.72em; text-align:center; color:var(--ac-tx); font-variant-numeric:tabular-nums; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-decoration:none; padding:2px 0 }
a.pos-id:hover{ text-decoration:underline }
.tec-caixa{ display:flex; flex-direction:column; gap:6px; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.tec-caixa code{ font-size:.82em; overflow-wrap:anywhere; background:var(--sup); padding:6px 8px; border-radius:8px; border:1px solid var(--linha) }
.tec-seq{ max-height:84px; overflow:auto } .tec-caixa .rot{ font-size:.8em; font-weight:650; color:var(--tx-2) } .bib-l{ display:flex; gap:10px; align-items:center; padding:8px 0; border-top:1px solid var(--linha) }
.tec-enun{ line-height:1.55; white-space:pre-wrap } .tec-alt{ display:flex; gap:10px; padding:8px 10px; border-radius:10px; border:1px solid var(--linha); margin-top:6px; font-size:.92em }
.tec-alt.gab{ border-color:var(--ok); background:var(--ok-suave) }
.grade-pos button{ height:40px; border-radius:10px; background:var(--fundo-2); border:1px solid var(--linha-2); font-weight:650; font-variant-numeric:tabular-nums }
.grade-pos button[aria-pressed="true"]{ background:var(--err); border-color:var(--err); color:var(--on-fill) }
.nivel-res{ display:flex; gap:14px; align-items:center; padding:14px; border-radius:14px; background:var(--ac-suave) }

/* ------------------------------------------------------------------ resolvedor de questões */
.resolvedor{ position:fixed; inset:0; z-index:70; background:var(--fundo); display:flex; flex-direction:column }
.res-topo{ display:flex; align-items:center; gap:8px; padding:calc(8px + var(--seg-t)) 10px 8px; border-bottom:1px solid var(--linha); background:var(--fundo-2) }
.res-topo .prog{ flex:1; min-width:0 } .res-topo .prog .barra{ margin-top:4px }
.res-corpo{ flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch }
.res-miolo{ max-width:780px; margin:0 auto; padding:18px 16px 28px; display:flex; flex-direction:column; gap:16px }
.q-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:.76em; color:var(--tx-2) }
.q-meta .qm,.q-meta .qm-banca{ display:inline-flex; align-items:center; height:24px; padding:0 9px; border-radius:12px; background:var(--sup-2); border:1px solid var(--linha); white-space:nowrap; max-width:100%; overflow:hidden; text-overflow:ellipsis }
.q-meta .qm-banca{ background:var(--ac-suave); border-color:color-mix(in srgb,var(--ac) 35%,transparent); color:var(--ac-tx); font-weight:700; letter-spacing:.02em }
.q-meta .qm.tema{ background:var(--tq-suave); border-color:color-mix(in srgb,var(--tq) 30%,transparent); color:var(--tx) }
.q-meta .qm-id{ font-family:var(--f-mono); font-size:.92em; color:var(--tx-3) }
.q-enun{ position:relative; font-size:1.05em; line-height:1.75; padding:18px 20px 16px 22px; border-radius:16px; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra); overflow-wrap:anywhere }
.q-enun::before{ content:""; position:absolute; left:0; top:16px; bottom:16px; width:3px; border-radius:0 3px 3px 0; background:linear-gradient(var(--ac),var(--tq)) }
.q-enun p{ margin:0 0 .75em; max-width:70ch } .q-enun p:last-child{ margin-bottom:0 }
.q-enun .q-cmd{ margin-top:.9em; padding-top:.8em; border-top:1px dashed var(--linha-2); font-weight:650; color:var(--tx) }
.q-enun.mini-enun{ font-size:.92em; padding:12px 14px 12px 16px; box-shadow:none; margin-top:8px } .q-enun.mini-enun::before{ top:10px; bottom:10px }
.q-itens,.com-itens{ list-style:none; margin:.4em 0 .8em; padding:0; display:flex; flex-direction:column; gap:8px }
.q-itens li,.com-itens li{ display:flex; gap:10px; align-items:flex-start; padding:9px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.q-itens .rom,.com-itens .rom{ flex:none; min-width:30px; height:24px; padding:0 6px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-disp); font-size:.82em; background:var(--sup-3); color:var(--tx) }
.com-itens li p{ margin:0 0 .5em } .com-itens li p:last-child{ margin:0 }
.com-itens li.certa{ border-color:color-mix(in srgb,var(--ok) 40%,transparent) } .com-itens li.errada{ border-color:color-mix(in srgb,var(--err) 35%,transparent) }
.ref-lei{ font-weight:650; color:var(--ac-tx); white-space:nowrap }
q.cit{ quotes:none; font-style:italic; color:var(--tx) }
blockquote.lei{ margin:.2em 0 .9em; padding:10px 14px; border-radius:0 12px 12px 0; border-left:3px solid var(--ouro); background:var(--ouro-suave); font-size:.95em; line-height:1.65 }
.tag-v{ display:inline-flex; align-items:center; height:20px; padding:0 8px; margin:0 6px 4px 0; border-radius:10px; font-size:.72em; font-weight:750; letter-spacing:.04em; text-transform:uppercase; vertical-align:middle }
.tag-v.certa{ background:var(--ok-suave); color:var(--ok-tx) } .tag-v.errada{ background:var(--err-suave); color:var(--err-tx) } .tag-v.sua{ background:var(--ac-suave); color:var(--ac-tx) }
.alts{ display:flex; flex-direction:column; gap:10px }
.alt{ display:flex; gap:12px; align-items:flex-start; width:100%; text-align:left; padding:12px 14px; border-radius:14px; background:var(--sup); border:1.5px solid var(--linha-2); line-height:1.5; user-select:none; -webkit-user-select:none; touch-action:manipulation }
.alt .l{ width:30px; height:30px; flex:none; border-radius:50%; border:1.5px solid var(--linha-2); display:flex; align-items:center; justify-content:center; font-weight:750; font-size:.9em; color:var(--tx-2) }
.alt .tx{ padding-top:3px; min-width:0; overflow-wrap:anywhere }
.alt:hover{ border-color:var(--tx-3) }
.alt.marcada{ border-color:var(--ac); background:var(--ac-suave) } .alt.marcada .l{ background:var(--ac-forte); border-color:var(--ac-forte); color:var(--on-fill) }
.alt.riscada .tx{ text-decoration:line-through; text-decoration-thickness:1.5px; color:var(--tx-3) } .alt.riscada .l{ opacity:.5 }
.alt.certa{ border-color:var(--ok); background:var(--ok-suave) } .alt.certa .l{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) }
.alt.errada{ border-color:var(--err); background:var(--err-suave) } .alt.errada .l{ background:var(--err); border-color:var(--err); color:var(--on-fill) }
.alt[disabled]{ cursor:default }
.alt .com-alt{ display:block; margin-top:8px; font-size:.9em; color:var(--tx-2); border-left:2px solid var(--linha-2); padding-left:10px }
.confianca{ display:flex; gap:8px; flex-wrap:wrap; align-items:center }
.res-acoes{ display:flex; gap:10px; flex-wrap:wrap }
.res-rodape{ display:flex; gap:10px; padding:10px 12px calc(10px + var(--seg-b)); border-top:1px solid var(--linha); background:var(--fundo-2) }
.res-rodape .bt{ flex:1 }
.veredicto{ display:flex; gap:12px; align-items:center; padding:12px 14px; border-radius:14px; font-weight:650 }
.veredicto.ok{ background:var(--ok-suave); color:var(--ok-tx) } .veredicto.err{ background:var(--err-suave); color:var(--err-tx) }
.comentario{ border-radius:16px; background:var(--sup); border:1px solid var(--linha); overflow:hidden; font-size:.96em }
.com-cab{ display:flex; align-items:center; gap:8px; padding:11px 16px; background:var(--sup-2); border-bottom:1px solid var(--linha); font-size:.92em }
.com-cab .ic{ color:var(--ac) }
.com-corpo{ padding:14px 16px 16px; line-height:1.7 }
.com-corpo p{ margin:0 0 .8em; max-width:72ch } .com-corpo > p:last-child{ margin-bottom:0 }
.com-alts{ margin-top:12px; display:flex; flex-direction:column; gap:8px } .com-alts .rotulo{ margin-bottom:2px }
.com-alts .ca{ display:flex; gap:12px; align-items:flex-start; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.com-alts .ca .l{ width:28px; height:28px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:750; font-size:.85em; background:var(--sup-3); color:var(--tx-2) }
.com-alts .ca p{ margin:0 0 .5em } .com-alts .ca p:last-child{ margin:0 }
.com-alts .ca.gab{ border-color:color-mix(in srgb,var(--ok) 45%,transparent); background:color-mix(in srgb,var(--ok) 7%,var(--fundo-2)) } .com-alts .ca.gab .l{ background:var(--ok); color:var(--on-fill) }
.com-alts .ca.sua{ border-color:color-mix(in srgb,var(--err) 40%,transparent) } .com-alts .ca.sua .l{ background:var(--err); color:var(--on-fill) }
.paleta{ display:grid; grid-template-columns:repeat(auto-fill,minmax(44px,1fr)); gap:8px }
.paleta button{ height:44px; border-radius:11px; border:1.5px solid var(--linha-2); background:var(--sup); font-weight:700; font-variant-numeric:tabular-nums; position:relative }
.paleta button.resp{ border-color:var(--ac); color:var(--ac-tx) } .paleta button.ok{ background:var(--ok-suave); border-color:var(--ok); color:var(--ok-tx) }
.paleta button.err{ background:var(--err-suave); border-color:var(--err); color:var(--err-tx) } .paleta button.atual{ outline:2px solid var(--tx); outline-offset:1px }
.paleta button.mar::after{ content:""; position:absolute; top:4px; right:4px; width:6px; height:6px; border-radius:50%; background:var(--ate) }

/* ------------------------------------------------------------------ flashcards */
.fc-palco{ max-width:720px; margin:0 auto; width:100%; display:flex; flex-direction:column; gap:14px; padding:18px 16px }
.fc{ --fcc:var(--ac); position:relative; border-radius:24px; background:var(--sup); border:1px solid var(--linha-2); box-shadow:var(--sombra); overflow:hidden; display:flex; flex-direction:column; touch-action:pan-y }
.fc::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--fcc),color-mix(in srgb,var(--fcc) 30%,var(--tq))) }
.fc.fc-ce{ --fcc:var(--info) } .fc.fc-caso{ --fcc:var(--tq) } .fc.fc-comp{ --fcc:var(--s5) } .fc.fc-lac{ --fcc:var(--ouro) } .fc.fc-lei{ --fcc:var(--ouro) }
.fc-cab{ display:flex; align-items:center; gap:8px; padding:14px 18px 0; flex-wrap:wrap }
.fc-fmt{ display:inline-flex; align-items:center; height:22px; padding:0 9px; border-radius:11px; font-size:.72em; font-weight:750; letter-spacing:.05em; text-transform:uppercase;
  background:color-mix(in srgb,var(--fcc) 16%,transparent); color:color-mix(in srgb,var(--fcc) 70%,var(--tx)) }
.fc-dif{ display:inline-flex; gap:3px } .fc-dif i{ width:6px; height:6px; border-radius:50%; background:var(--sup-3) } .fc-dif i.on{ background:var(--fcc) }
.fc-enun{ margin:12px 18px 0; padding:12px 14px; border-radius:14px; background:var(--fundo-2); font-size:.9em; line-height:1.6; max-height:260px; overflow:auto } .fc-enun p{ margin:0 0 .5em }
.fc-frente{ padding:22px 24px 26px; min-height:190px; display:flex; flex-direction:column; justify-content:center; gap:10px }
.fc-dica{ font-size:.72em; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--tx-3) }
.fc .frente{ font-family:var(--f-disp); font-size:1.28em; font-weight:600; line-height:1.45; letter-spacing:-.005em; overflow-wrap:anywhere }
.fc.fc-ce .frente,.fc.fc-caso .frente{ font-family:var(--f-txt); font-size:1.12em; font-weight:500; line-height:1.65; padding:14px 16px; border-radius:14px; background:var(--fundo-2); border-left:3px solid var(--fcc) }
.fc.fc-lac .frente,.fc.fc-lei .frente{ font-family:var(--f-txt); font-size:1.12em; font-weight:500; line-height:1.75 }
.fc.virado .fc-frente{ min-height:0; padding-bottom:16px }
.lacuna{ display:inline-block; min-width:5.5em; border-bottom:2px solid var(--fcc); margin:0 .2em; transform:translateY(-.15em) }
.fc-julgar{ display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 18px 18px }
.bt.err-bt{ background:var(--err); color:var(--on-fill) } .fc-julgar .bt{ min-height:54px; font-size:1.05em } .fc-julgar .jc .ic{ color:var(--ok) } .fc-julgar .je .ic{ color:var(--err) }
.fc-verso{ padding:16px 18px 20px; border-top:1px solid var(--linha); background:color-mix(in srgb,var(--fundo) 30%,var(--sup)); display:flex; flex-direction:column; gap:10px; animation:fcVira .22s ease }
@keyframes fcVira{ from{ opacity:0; transform:translateY(6px) } to{ opacity:1; transform:none } }
.fcs-r{ display:flex; align-items:center; gap:6px; font-size:.72em; font-weight:750; text-transform:uppercase; letter-spacing:.08em; color:var(--tx-3); margin-bottom:4px }
.fc .verso{ font-size:1.06em; line-height:1.65; font-weight:500; color:var(--tx) }
.fcs{ padding:11px 13px; border-radius:13px; font-size:.93em; line-height:1.6; border:1px solid transparent }
.fcs.pq{ background:var(--ac-suave); border-color:color-mix(in srgb,var(--ac) 25%,transparent) } .fcs.pq .fcs-r{ color:var(--ac-tx) }
.fcs.peg{ background:var(--ate-suave); border-color:color-mix(in srgb,var(--ate) 25%,transparent) } .fcs.peg .fcs-r{ color:var(--ate) }
.fcs.bizu{ background:var(--ok-suave); border-color:color-mix(in srgb,var(--ok) 25%,transparent) } .fcs.bizu .fcs-r{ color:var(--ok-tx) }
.fcs.neu{ background:var(--sup-2) }
.fc-lei{ margin:0 } .fc-lei .fcs-r{ color:var(--ouro) }
.fc-base{ display:flex; flex-direction:column; gap:2px; font-size:.8em; color:var(--tx-2); padding-top:8px; border-top:1px dashed var(--linha-2) }
.fc .veredicto{ padding:10px 12px }
.campo-fc{ display:flex; gap:10px; padding:10px 12px; border-radius:12px; font-size:.92em; line-height:1.5 }
.campo-fc b{ display:block; font-size:.78em; text-transform:uppercase; letter-spacing:.06em; margin-bottom:2px }
.campo-fc.fund{ background:var(--info-suave) } .campo-fc.fund b{ color:var(--info) }
.campo-fc.peg{ background:var(--ate-suave) } .campo-fc.peg b{ color:var(--ate) }
.campo-fc.bizu{ background:var(--ok-suave) } .campo-fc.bizu b{ color:var(--ok-tx) }
.campo-fc.dica{ background:var(--ac-suave) } .campo-fc.dica b{ color:var(--ac-tx) }
.campo-fc.ex{ background:var(--sup-2) } .campo-fc.ex b{ color:var(--tx-2) }
.fc.arrastando{ transition:none } .fc.volta{ transition:transform .25s ease }
.notas{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px }
.nota{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:10px 4px; border-radius:14px; font-weight:700; border:1.5px solid transparent; min-height:60px; justify-content:center }
.nota small{ font-weight:600; font-size:.74em; opacity:.85; font-variant-numeric:tabular-nums }
.nota.n1{ background:var(--err-suave); color:var(--err-tx); border-color:color-mix(in srgb,var(--err) 40%,transparent) }
.nota.n2{ background:var(--ate-suave); color:var(--ate); border-color:color-mix(in srgb,var(--ate) 40%,transparent) }
.nota.n3{ background:var(--ok-suave); color:var(--ok-tx); border-color:color-mix(in srgb,var(--ok) 40%,transparent) }
.nota.n4{ background:var(--info-suave); color:var(--info); border-color:color-mix(in srgb,var(--info) 40%,transparent) }
.contagem-srs{ display:flex; gap:14px; font-weight:750; font-variant-numeric:tabular-nums }
.contagem-srs .n{ color:var(--info) } .contagem-srs .a{ color:var(--err-tx) } .contagem-srs .r{ color:var(--ok-tx) }
.contagem-srs span.atual{ text-decoration:underline; text-underline-offset:4px }
.deck-l{ display:flex; align-items:center; gap:12px; padding:12px 0 } .deck-l + .deck-l{ border-top:1px solid var(--linha) }
.card-l{ display:flex; gap:12px; align-items:flex-start; padding:12px 0; text-align:left; width:100%; color:var(--tx) } .card-l + .card-l{ border-top:1px solid var(--linha) }

/* ------------------------------------------------------------------ gráficos (SVG) */
.graf{ width:100%; display:block; overflow:visible }
.graf text{ fill:var(--tx-3); font-size:11px; font-family:var(--f-txt); font-variant-numeric:tabular-nums }
.graf .gl{ stroke:var(--grade); stroke-width:1 } .graf .ex{ stroke:var(--eixo); stroke-width:1 }
.graf .hit{ fill:transparent; cursor:pointer } .graf .mk{ transition:opacity .15s ease }
.graf .foco .mk{ opacity:.45 } .graf .foco .mk.on{ opacity:1 }
.legenda{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.8em; color:var(--tx-2); margin-top:8px }
.legenda span{ display:inline-flex; align-items:center; gap:6px }
.legenda i{ width:10px; height:10px; border-radius:3px; display:inline-block } .legenda i.l{ height:3px; width:14px; border-radius:2px }
.dica-graf{ position:fixed; z-index:95; pointer-events:none; background:var(--sup-3); color:var(--tx); border:1px solid var(--linha-2); border-radius:10px; padding:8px 10px; font-size:.8em; box-shadow:var(--sombra-2); max-width:240px }
.dica-graf b{ font-size:1.1em; font-variant-numeric:tabular-nums } .dica-graf .k{ display:inline-block; width:12px; height:3px; border-radius:2px; margin-right:6px; vertical-align:middle }
.tabela-wrap{ overflow-x:auto; border-radius:12px; border:1px solid var(--linha) }
table.tab{ width:100%; border-collapse:collapse; font-size:.86em }
.tab th{ text-align:left; font-size:.78em; text-transform:uppercase; letter-spacing:.06em; color:var(--tx-3); font-weight:650; padding:9px 12px; background:var(--fundo-2); white-space:nowrap }
.tab td{ padding:9px 12px; border-top:1px solid var(--linha); vertical-align:top } .tab td.n,.tab th.n{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap }
.tab tr.clic{ cursor:pointer } .tab tr.clic:hover td{ background:var(--sup-2) }
.ver-tabela{ font-size:.8em; color:var(--tx-3); text-decoration:underline; text-underline-offset:3px }

/* ------------------------------------------------------------------ plano */
.eta{ display:grid; gap:10px; grid-template-columns:1fr }
@media (min-width:640px){ .eta{ grid-template-columns:repeat(3,1fr) } }
.eta .c{ padding:12px 14px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.eta .c.dest{ border-color:var(--ac); background:var(--ac-suave) }
.arvore details{ border-top:1px solid var(--linha) } .arvore details:first-child{ border-top:0 }
.arvore summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:11px 2px }
.arvore summary::-webkit-details-marker{ display:none }
.arvore summary .ic.chev{ transition:transform .15s ease; color:var(--tx-3) } .arvore details[open] > summary .ic.chev{ transform:rotate(90deg) }
.arvore .n2 summary{ padding-left:14px } .arvore .n3 summary{ padding-left:28px }
.arvore .item{ display:flex; gap:10px; align-items:center; padding:7px 2px 7px 44px; font-size:.88em; border-top:1px dashed var(--linha) }
.arvore .item.ok{ color:var(--tx-3) } .arvore .item .ck{ width:18px; height:18px; border-radius:50%; border:1.5px solid var(--linha-2); flex:none; display:flex; align-items:center; justify-content:center }
.arvore .item.ok .ck{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) }
.arvore .item.parc .ck{ border-color:var(--ac); background:conic-gradient(var(--ac) calc(var(--p) * 1%),transparent 0) }

/* ------------------------------------------------------------------ utilidades: toast, carregando, vazio, login */
#barra-rede{ position:fixed; top:0; left:0; right:0; height:3px; z-index:120; overflow:hidden; pointer-events:none }
#barra-rede::after{ content:""; position:absolute; top:0; bottom:0; width:40%; background:linear-gradient(90deg,transparent,var(--ac),var(--tq),transparent); animation:rede 1.1s ease-in-out infinite }
@keyframes rede{ from{ left:-40% } to{ left:100% } }
.toasts{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(var(--nav-h) + var(--seg-b) + 12px); z-index:100; display:flex; flex-direction:column; gap:8px; width:min(440px,calc(100% - 32px)); pointer-events:none }
.toast{ pointer-events:auto; display:flex; gap:10px; align-items:center; padding:12px 14px; border-radius:14px; background:var(--sup-3); border:1px solid var(--linha-2); box-shadow:var(--sombra-2); animation:subir .25s ease }
.toast.ok .ic{ color:var(--ok) } .toast.err .ic{ color:var(--err) } .toast.xp .ic{ color:var(--ouro) }
@media (min-width:900px){ .toasts{ bottom:24px } }
.carregando{ display:flex; flex-direction:column; gap:12px }
.esq{ border-radius:var(--r); background:linear-gradient(90deg,var(--sup) 0%,var(--sup-2) 50%,var(--sup) 100%); background-size:200% 100%; animation:brilho 1.2s linear infinite; border:1px solid var(--linha) }
@keyframes brilho{ to{ background-position:-200% 0 } }
.vazio{ text-align:center; padding:28px 16px; color:var(--tx-2); display:flex; flex-direction:column; align-items:center; gap:10px }
.vazio .ic{ width:36px; height:36px; color:var(--tx-3) }
.aviso{ display:flex; gap:10px; padding:12px 14px; border-radius:12px; background:var(--info-suave); color:var(--tx); font-size:.9em; line-height:1.5 }
.aviso .ic{ color:var(--info); margin-top:1px } .aviso.ate{ background:var(--ate-suave) } .aviso.ate .ic{ color:var(--ate) } .aviso.ok{ background:var(--ok-suave) } .aviso.ok .ic{ color:var(--ok) }
.faixa-offline{ position:fixed; top:calc(var(--seg-t) + 6px); left:50%; transform:translateX(-50%); z-index:110; padding:6px 12px; border-radius:16px; background:var(--ate); color:#1a1300; font-weight:700; font-size:.78em }
.demo-contas{ display:grid; gap:8px }
.demo-contas button{ display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); text-align:left }
.demo-contas button:hover{ border-color:var(--ac) }
.mentor-faixa{ display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:var(--ate-suave); font-size:.86em; margin-bottom:14px }
.codigo{ font-family:var(--f-mono); font-size:.82em; background:var(--fundo-2); border:1px solid var(--linha); border-radius:10px; padding:12px; white-space:pre-wrap; max-height:280px; overflow:auto }
.resumo-leitor{ background:var(--sup) } .resumo-leitor .rsm{ border-radius:14px }
.rsm-barra{ display:flex; align-items:center; gap:4px; min-width:0 } .rsm-barra h2{ font-size:1.02em; margin-right:4px }
.rsm-ctrl{ display:flex; align-items:center; gap:2px; padding:2px; border-radius:12px; border:1px solid var(--linha); background:var(--fundo-2) } .rsm-ctrl #rsm-esc{ min-width:34px; text-align:center }
.rsm-a{ font-weight:800; font-size:.8em; letter-spacing:-.02em } .rsm-a.g{ font-size:1em }
.folha.resumo-leitor.rsm-tela-cheia{ position:fixed; inset:0; max-width:none !important; width:100vw; height:100vh !important; max-height:none !important; border-radius:0 !important; margin:0; z-index:90 }
.folha.resumo-leitor.rsm-tela-cheia .f-corpo{ padding-left:max(12px,4vw); padding-right:max(12px,4vw) }
.veu.veu-cheio, .veu:has(.rsm-tela-cheia){ padding:0 !important; backdrop-filter:none; -webkit-backdrop-filter:none; align-items:stretch }
.folha.resumo-leitor.rsm-tela-cheia .f-corpo .rsm{ max-width:none; margin:0 }
.folha.resumo-leitor.rsm-tela-cheia .alca{ display:none }
.folha.resumo-leitor:fullscreen .f-corpo .rsm{ max-width:none }
.folha.resumo-leitor:fullscreen{ width:100vw; height:100vh; max-width:none; border-radius:0 }
@media (max-width:560px){ .rsm-barra h2{ display:none } .rsm-barra{ justify-content:flex-end; width:100% } }
/* ------------------------------------------------------------------ Assistente IA */
.ia-hero{ background:linear-gradient(135deg, var(--ac-suave), var(--sup) 70%) }
.ia-hero .mi{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:var(--ac); color:var(--on-fill); flex:none }
.ia-passos{ list-style:none; counter-reset:p; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; padding:0 }
.ia-passos li{ counter-increment:p; background:var(--fundo-2); border:1px solid var(--linha); border-radius:12px; padding:10px; display:flex; flex-direction:column; gap:3px; font-size:.84em; min-width:0 }
.ia-passos li::before{ content:counter(p); width:22px; height:22px; border-radius:11px; background:var(--ac); color:var(--on-fill); font-weight:700; font-size:.8em; display:flex; align-items:center; justify-content:center }
.ia-passos li span{ color:var(--tx-3); font-size:.9em; line-height:1.35 }
@media (max-width:420px){ .ia-passos{ grid-template-columns:1fr } .ia-passos li{ flex-direction:row; align-items:center; flex-wrap:wrap; gap:4px 8px } .ia-passos li span{ flex-basis:100%; padding-left:30px } }
.ia-sub{ font-size:.95em; margin:6px 2px 0 } .ia-tarefa b{ line-height:1.35 }
.ia-hist{ display:flex; align-items:center; gap:10px; padding:10px 0; border-top:1px solid var(--linha); flex-wrap:wrap } .ia-hist:first-child{ border-top:0 } .ia-hist > .cresce{ min-width:min(100%, 220px) }
.ia-hist .chip{ white-space:normal; height:auto; min-height:26px; padding:3px 10px; text-align:center }
.ia-ok,.ia-erro{ display:flex; gap:10px; align-items:flex-start; padding:12px; border-radius:12px; margin:12px 0 8px }
.ia-ok{ background:var(--ok-suave); color:var(--ok-tx) } .ia-erro{ background:var(--err-suave); color:var(--err-tx) }
.ia-ok .ic,.ia-erro .ic{ flex:none; margin-top:2px }
.ia-lista{ margin:6px 0 12px 18px; display:flex; flex-direction:column; gap:6px; font-size:.88em; overflow-wrap:anywhere }
.ia-travas{ list-style:none; margin:8px 0; padding:0; display:flex; flex-direction:column; gap:6px }
.ia-travas li{ display:flex; gap:10px; align-items:flex-start; padding:10px; border-radius:11px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.9em }
.ia-travas li.ok .ic{ color:var(--ok) } .ia-travas li.err .ic{ color:var(--err) } .ia-travas .ic{ flex:none; margin-top:2px }
.ia-prompt{ margin:10px 0; display:flex; flex-direction:column; gap:6px } .ia-prompt .codigo{ max-height:140px }
.ia-arq{ display:flex; gap:12px; align-items:center; padding:14px; border-radius:12px; border:1.5px dashed var(--linha-2); background:var(--fundo-2); cursor:pointer }
.ia-arq .ic{ color:var(--ac-tx); flex:none }
.ia-entrega{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:10px; margin:6px 0 4px }
.ia-card{ display:flex; flex-direction:column; gap:10px; padding:14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.ia-card-t{ display:flex; gap:10px; align-items:center } .ia-card-t .mi{ width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac-tx); flex:none }
.ia-card p{ margin:0; overflow-wrap:anywhere }
.ia-mini{ background:none; border:0; padding:0; text-align:left; color:var(--ac-tx); font:inherit; font-size:.8em; text-decoration:underline; text-underline-offset:3px; cursor:pointer }
.ia-agora{ margin:6px 0 4px 20px; display:flex; flex-direction:column; gap:6px; font-size:.9em; line-height:1.45 }
.ia-como{ margin-top:12px; font-size:.86em; color:var(--tx-2) } .ia-como summary{ cursor:pointer; font-weight:650; color:var(--tx) } .ia-como p{ margin-top:8px; line-height:1.5 }
.material.destaque{ border-color:var(--ac); background:linear-gradient(90deg, var(--ac-suave), var(--fundo-2)) } .material.destaque .mi{ background:var(--ac); color:var(--on-fill) }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ animation:none!important; transition:none!important } }
[data-movimento="reduzido"] *,[data-movimento="reduzido"] *::before{ animation:none!important; transition:none!important }

/* ---- Nomeia_iA: análises cumulativas */
.mia-lista{ display:flex; flex-direction:column; gap:10px }
.mia-card{ display:flex; gap:14px; align-items:flex-start; width:100%; text-align:left; padding:14px 16px; border-radius:16px; border:1px solid var(--linha); background:var(--sup); color:inherit; box-shadow:var(--sombra); transition:border-color .15s, transform .15s }
button.mia-card:hover{ border-color:color-mix(in srgb,var(--ac) 45%,var(--linha)) } button.mia-card:active{ transform:scale(.995) }
.mia-card>.cresce{ display:flex; flex-direction:column; gap:3px; min-width:0 } .mia-card .seta{ margin-top:10px; color:var(--tx-3) }
.mia-card.pend{ border-style:dashed; background:var(--fundo-2); box-shadow:none }
.mia-n{ width:44px; height:44px; flex:none; border-radius:13px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.9em; background:var(--ac-suave); color:var(--ac-tx) }
.mia-card.pend .mia-n{ background:var(--sup-3); color:var(--tx-3) }
.mia-t{ font-weight:700; line-height:1.3 } .mia-res{ font-size:.9em; color:var(--tx-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin-top:3px }
.mia-nums{ display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:8px; font-size:.8em } .mia-nums span{ display:inline-flex; gap:5px; align-items:baseline; white-space:nowrap }
.mia-nums i{ font-style:normal; color:var(--tx-3) }
.mia-card.pend{ align-items:center; padding:12px 14px } .mia-card.pend .mia-n{ width:38px; height:38px; border-radius:11px; font-size:.8em } .mia-gerar{ flex:none; align-self:center }
.mia-sec{ margin-top:18px } .mia-sec h3{ display:flex; gap:8px; align-items:center; font-size:.98em; margin-bottom:8px } .mia-txt{ line-height:1.6 } .mia-txt p+p{ margin-top:8px }
.mia-diag{ display:flex; flex-direction:column; border:1px solid var(--linha); border-radius:12px; overflow:hidden } .md-l{ padding:10px 12px; display:flex; flex-direction:column; gap:3px } .md-l+.md-l{ border-top:1px solid var(--linha) }
.mia-meta-box{ margin-top:18px }
/* ---- turma / ranking */
.turma-hero{ background:linear-gradient(120deg,color-mix(in srgb,var(--liga) 18%,var(--sup)) 0%,var(--sup) 75%); border-color:color-mix(in srgb,var(--liga) 35%,var(--linha)) }
.liga-bronze{ --liga:#b8763e } .liga-prata{ --liga:#8a9bb0 } .liga-ouro{ --liga:#d4a017 } .liga-platina{ --liga:#9fb7c9 } .liga-diamante{ --liga:#3fb6d8 }
.liga-selo{ width:86px; height:86px; flex:none; border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; background:color-mix(in srgb,var(--liga) 22%,transparent); color:var(--liga); font-weight:800; font-size:.85em; border:1.5px solid color-mix(in srgb,var(--liga) 50%,transparent) }
.turma-pos{ display:flex; align-items:baseline; gap:8px; margin:2px 0 4px } .turma-pos b{ font-size:2.1em; line-height:1; letter-spacing:-.02em }
.turma-hero .barra{ margin-top:8px; max-width:320px }
.turma-crit{ display:grid; grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); gap:8px }
.turma-crit .tc{ display:flex; flex-direction:column; gap:2px; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.turma-crit .r{ font-size:.7em; text-transform:uppercase; letter-spacing:.07em; color:var(--tx-3); font-weight:600 } .turma-crit b{ font-size:1.5em }
.tab.ranking tr.eu td{ font-weight:700; background:color-mix(in srgb,var(--ac) 9%,transparent) }
.pos-m{ display:inline-flex; width:24px; height:24px; border-radius:50%; align-items:center; justify-content:center; font-weight:700; font-size:.8em; background:var(--sup-3) }
.pos-m.p1{ background:#d4a017; color:#1a1300 } .pos-m.p2{ background:#9aa8b8; color:#10151b } .pos-m.p3{ background:#b8763e; color:#1a0e03 }
.liga-mini{ font-size:.78em; font-weight:700; color:var(--liga) }
.turma-mini{ display:flex; align-items:center; gap:14px } .turma-mini .liga-selo{ width:74px; height:66px; border-radius:16px; font-size:.68em }

/* ---- caderno de erros acumulativo */
.err-hero{ padding:18px; border-radius:var(--r-3); border:1px solid var(--linha); background:linear-gradient(135deg,color-mix(in srgb,var(--err) 12%,var(--sup)) 0%,var(--sup) 60%); box-shadow:var(--sombra) }
.err-hero h1{ font-size:1.25em; margin-top:2px }
.eh-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:14px; border-radius:14px; overflow:hidden; border:1px solid var(--linha); background:var(--linha) }
.eh-kpis>div{ background:var(--sup); padding:10px 4px; display:flex; flex-direction:column; align-items:center; gap:1px; text-align:center; min-width:0 } .eh-kpis b{ font-size:1.3em } .eh-kpis span{ font-size:.72em; color:var(--tx-3); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100% }
.eh-bts{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px }
.eh-pend{ display:flex; align-items:center; gap:8px; margin-top:12px; padding:9px 10px; border-radius:12px; background:color-mix(in srgb,var(--info) 12%,transparent); font-size:.86em; line-height:1.4 } .eh-pend .ic{ flex:none; color:var(--info) }
.err-filtros{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px }
.err-disc{ margin-bottom:18px } .ed-cab{ display:flex; align-items:center; gap:10px; margin:0 2px 8px }
.err-tema{ display:flex; align-items:stretch; border:1px solid var(--linha); border-radius:14px; background:var(--sup); margin-bottom:8px; overflow:hidden; transition:border-color .15s }
.err-tema.on{ border-color:color-mix(in srgb,var(--ac) 55%,var(--linha)); background:color-mix(in srgb,var(--ac) 6%,var(--sup)) }
.et-ck{ display:flex; align-items:center; padding:0 4px 0 14px; cursor:pointer } .et-ck input{ width:20px; height:20px; accent-color:var(--ac) }
.et-corpo{ flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; padding:12px 8px 12px 10px; text-align:left; color:inherit }
.et-tit{ font-weight:700; line-height:1.3 } .et-m{ display:flex; flex-wrap:wrap; gap:4px 12px; font-size:.8em; color:var(--tx-2) }
.et-barra{ height:5px; border-radius:3px; background:var(--sup-3); overflow:hidden; max-width:260px } .et-barra i{ display:block; height:100%; border-radius:3px; background:linear-gradient(90deg,var(--ate),var(--err)) }
.et-chips{ display:flex; flex-wrap:wrap; gap:5px } .mini-chip{ height:22px; font-size:.7em; padding:0 8px }
.et-seta{ align-self:center; margin-right:12px; color:var(--tx-3) }
.err-sel-barra{ position:sticky; bottom:calc(var(--nav-h) + var(--seg-b) + 10px); z-index:20; display:flex; align-items:center; gap:8px; padding:10px 12px; margin-top:10px; border-radius:16px; background:var(--sup-3); border:1px solid var(--linha-2); box-shadow:var(--sombra-2) }
.err-mapa{ margin-bottom:14px; padding:12px 14px; border-radius:14px; border:1px solid color-mix(in srgb,var(--ac) 30%,var(--linha)); background:color-mix(in srgb,var(--ac) 7%,var(--sup)) }
.err-mapa p{ margin-top:6px; line-height:1.55 } .err-mapa ol{ margin:8px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:4px; font-size:.93em }
.err-q{ border:1px solid var(--linha); border-left:4px solid var(--ac); border-radius:14px; background:var(--sup); padding:12px 14px; display:flex; flex-direction:column; gap:7px }
.err-q.reinc{ border-left-color:var(--err) } .err-q.dom{ border-left-color:var(--ok); opacity:.85 }
.eq-top{ display:flex; align-items:center; gap:8px } .eq-vezes{ font-size:.75em; font-weight:700; padding:2px 8px; border-radius:10px; background:var(--sup-3); color:var(--tx-2) } .eq-vezes.r{ background:var(--err-suave); color:var(--err) }
.eq-enun{ line-height:1.55; font-size:.95em } .eq-gab{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:.84em; color:var(--tx-2) }
.eq-bizu{ padding:10px 12px; border-radius:12px; background:color-mix(in srgb,var(--ouro) 14%,var(--sup)); border:1px solid color-mix(in srgb,var(--ouro) 40%,transparent) }
.eq-bizu .rotulo{ color:color-mix(in srgb,var(--ouro) 70%,var(--tx)) } .eq-bizu p{ margin-top:3px; font-weight:600; line-height:1.5 }
.eq-ouro{ padding:9px 12px; border-radius:12px; background:var(--tx); color:var(--fundo); font-weight:700; line-height:1.45; font-size:.93em }
.eq-ouro span{ display:block; font-size:.68em; letter-spacing:.1em; text-transform:uppercase; color:var(--ouro); margin-bottom:2px }
.eq-peg{ font-size:.88em; padding-left:10px; border-left:3px solid var(--err); line-height:1.5 } .eq-obs{ font-size:.86em; padding-left:10px; border-left:3px solid var(--ac); color:var(--tx-2) }
.eq-mais summary{ cursor:pointer; font-size:.84em; font-weight:600; color:var(--ac-tx) } .eq-mais p{ margin-top:6px; font-size:.9em; line-height:1.55 } .eq-fund{ font-style:italic; color:var(--tx-2) }
.eq-pend{ font-size:.84em; color:var(--tx-3); padding:8px 10px; border:1px dashed var(--linha-2); border-radius:10px }
.eq-acoes{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px }
.err-metodo p b{ color:var(--tx) }
.rev-prog{ display:flex; align-items:center; gap:10px; margin:14px 2px 10px; font-size:.84em; color:var(--tx-2) } .rev-prog .barra{ flex:1 }
.rev-card{ padding:18px; border-radius:var(--r-3); border:1px solid var(--linha); background:var(--sup); box-shadow:var(--sombra); display:flex; flex-direction:column; gap:10px }
.rev-enun{ font-size:1.05em; line-height:1.6 } .rev-pense{ padding:12px; border-radius:12px; background:var(--fundo-2); border:1px dashed var(--linha-2); color:var(--tx-2); font-size:.92em }
.rev-notas{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px }
.rev-fim{ text-align:center; padding:28px 18px; display:flex; flex-direction:column; align-items:center; gap:10px; border-radius:var(--r-3); border:1px solid var(--linha); background:var(--sup) }
.tec-reg{ padding:12px; border-radius:14px; border:1px solid var(--linha); background:var(--fundo-2) } .tec-reg .chip{ white-space:normal; height:auto; min-height:26px; padding:3px 10px }
@media (max-width:520px){ .tec-reg .grade.g2{ grid-template-columns:1fr } }
.eq-acoes .bt.peq{ padding:6px 10px } .tec-reg .seg.peq button{ padding:5px 10px; font-size:.8em }
.rel-disc{ padding:10px 0; border-top:1px solid var(--linha) } .rel-disc:first-of-type{ border-top:0 }
.rel-dl,.rel-tl{ display:flex; align-items:center; gap:10px; cursor:pointer } .rel-tl{ padding:7px 0 7px 30px; font-size:.92em } .rel-dl input,.rel-tl input{ width:18px; height:18px; accent-color:var(--ac) }
.rel-frame{ width:100%; height:calc(100vh - 170px); min-height:420px; border:0; border-radius:12px; background:#fff }

/* ---- Assistente: triagem do modelo, planilha TEC, plano */
.ia-triagem{ margin-top:12px; padding:12px 14px; border-radius:14px; border:1px solid color-mix(in srgb,var(--ac) 35%,var(--linha)); background:color-mix(in srgb,var(--ac) 8%,var(--sup)) }
.ia-plano{ margin:8px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:4px; font-size:.86em } .ia-plano li.cond{ color:var(--tx-2) }
.ia-tec-c{ margin:0 0 14px; padding:12px; border-radius:14px; border:1px dashed var(--linha-2); background:var(--fundo-2) } .ia-tec-c h2{ font-size:.95em }
/* auditoria da meta · importação */
.auditoria{ margin-bottom:14px } .auditoria > summary{ display:flex; align-items:center; gap:10px; cursor:pointer; list-style:none } .auditoria > summary::-webkit-details-marker{ display:none }
.auditoria .mi{ width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--ouro-suave); color:var(--ouro) }
.aud-corpo{ margin-top:12px; display:flex; flex-direction:column; gap:6px }
.aud-lista{ display:flex; flex-direction:column; gap:8px } .aud-item{ padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.ia-grupo{ margin-top:10px } .ia-grupo .rotulo{ margin-bottom:4px }
.realce{ box-shadow:0 0 0 2px var(--ouro), var(--sombra) }
.stg-item{ padding:12px 0; border-top:1px solid var(--linha) } .stg-item:first-child{ border-top:0 }
/* login premium + marca horizontal (rodada 7) */
.abertura{ min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; background:radial-gradient(120% 90% at 50% 0%,#1B2540 0%,#0C1222 60%,#080C18 100%); padding:24px }
.abertura img{ width:min(420px,80vw); height:auto; filter:drop-shadow(0 8px 30px rgba(232,197,106,.25)) }
.abertura-barra{ width:140px; height:3px; border-radius:3px; background:linear-gradient(90deg,transparent,#E8C56A,transparent); background-size:200% 100%; animation:brilho 1.4s linear infinite }
.bt-ouro{ background:linear-gradient(90deg,#D9AE45,#E8C56A) !important; color:#0C1222 !important; font-weight:800 }
.bt-ouro:hover{ filter:brightness(1.05) }
.marca-lat{ margin:-4px -6px 14px; padding:12px 12px; border-radius:14px; background:linear-gradient(160deg,#0C1222,#121A2E); box-shadow:inset 0 0 0 1px rgba(232,197,106,.22) }
.marca-lat img{ display:block; width:100%; height:auto }
/* programa × metas */
.prog-resumo{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px }
.prog{ display:flex; flex-direction:column; gap:8px } .prog-disc > summary{ display:flex; align-items:center; gap:8px; cursor:pointer; padding:8px 4px; list-style:none } .prog-disc > summary::-webkit-details-marker{ display:none }
.prog-item{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:9px 10px; border-radius:10px; border:1px solid var(--linha); background:var(--fundo-2); margin:4px 0; flex-wrap:wrap }
.prog-item:hover{ border-color:var(--ac) }
.prog-st{ width:10px; height:10px; border-radius:50%; flex:none; background:var(--tx-3) } .prog-st.st-ok{ background:var(--ok) } .prog-st.st-meta{ background:var(--info) }
.chip.meta{ background:var(--info-suave); color:var(--info); font-style:normal } .prog-st.st-ate{ background:var(--ate) }
.prog-hist{ margin:8px 0 0; padding-left:18px; font-size:.85em; display:grid; gap:3px }

/* ================================================================== rodada 8 */
/* tipos de atividade: cor por família */
.f-teo{ --fam:var(--s6) } .f-qpdf{ --fam:var(--tq) } .f-qtec{ --fam:var(--s2) } .f-rev{ --fam:var(--ouro) } .f-sim{ --fam:var(--s1) } .f-per{ --fam:var(--s5) }
.trilha i.f-teo{ --fam:var(--s6) } .trilha i.f-qpdf{ --fam:var(--tq) } .trilha i.f-qtec{ --fam:var(--s2) } .trilha i.f-rev{ --fam:var(--ouro) } .trilha i.f-sim{ --fam:var(--s1) } .trilha i.f-per{ --fam:var(--s5) }
.mh-comp{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px }
.meta-links{ display:flex; flex-wrap:wrap; gap:4px 10px; margin:10px 2px 0 }
.selo-ok{ width:100%; height:100%; border-radius:50%; display:flex; align-items:center; justify-content:center; background:radial-gradient(circle at 30% 25%,#95DDB6,var(--ok) 60%); box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent) }
.etapa.feita .e-num{ background:var(--ok); border-color:var(--ok); padding:0; overflow:hidden }
.feita-selo{ display:inline-flex; align-items:center; gap:4px; font-size:.72em; font-weight:750; letter-spacing:.04em; color:var(--ok-tx); text-transform:uppercase }
.guia-tipo{ display:flex; gap:12px; align-items:flex-start; padding:14px 16px; margin-bottom:14px; border-radius:16px; border:1px solid color-mix(in srgb,var(--fam) 35%,transparent);
  background:linear-gradient(135deg,color-mix(in srgb,var(--fam) 14%,var(--sup)),var(--sup) 75%) }
.guia-tipo .gt-av{ width:36px; height:36px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#D9AE45,#E8C56A); color:#0C1222 }
.guia-tipo b{ display:block; margin:2px 0 4px; font-family:var(--f-disp) } .guia-tipo p{ font-size:.9em; line-height:1.6; color:var(--tx-2) }
.atalho-cards{ display:flex; align-items:center; gap:10px; width:100%; margin-bottom:14px; padding:12px 14px; border-radius:14px; text-align:left; background:var(--ouro-suave); border:1px solid color-mix(in srgb,var(--ouro) 40%,transparent); color:var(--tx) }
.atalho-cards .ic{ color:var(--ouro) } .atalho-cards:hover{ filter:brightness(1.05) }
.extra-l{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px dashed color-mix(in srgb,var(--ouro) 40%,var(--linha)) }
/* cabeçalho das janelas */
.pag-cab{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:14px }
.pag-cab h1{ font-family:var(--f-disp); font-size:1.55em; line-height:1.1 } .pag-cab p{ margin-top:3px; max-width:62ch }
.pag-ic{ width:46px; height:46px; flex:none; border-radius:14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--marca-azul),var(--marca-azul-2)); color:var(--marca-ouro); border:1px solid color-mix(in srgb,var(--marca-ouro) 35%,transparent) }
.abas-pag{ margin-bottom:16px; overflow-x:auto; max-width:100%; flex-wrap:nowrap } .abas-pag button{ white-space:nowrap }
/* popup de processamento */
.proc-veu{ position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(6,9,18,.55); backdrop-filter:blur(3px); animation:procIn .2s ease }
.proc-veu.saindo{ opacity:0; transition:opacity .25s }
@keyframes procIn{ from{ opacity:0 } to{ opacity:1 } }
.proc-caixa{ width:min(420px,100%); padding:26px 24px 20px; border-radius:22px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px;
  background:linear-gradient(180deg,#121A2E,#0C1222); color:#F1EDE3; border:1px solid rgba(232,197,106,.35); box-shadow:0 30px 80px rgba(0,0,0,.5) }
.proc-logo{ position:relative; width:86px; height:86px; display:flex; align-items:center; justify-content:center }
.proc-logo img{ width:58px; height:58px; animation:procPulso 1.8s ease-in-out infinite }
.proc-anel{ position:absolute; inset:0; border-radius:50%; border:3px solid rgba(232,197,106,.15); border-top-color:#E8C56A; border-right-color:#D9AE45; animation:procGira 1.1s linear infinite }
@keyframes procGira{ to{ transform:rotate(360deg) } } @keyframes procPulso{ 50%{ transform:scale(1.07); filter:drop-shadow(0 0 12px rgba(232,197,106,.55)) } }
.proc-tit{ font-family:var(--f-marca); letter-spacing:.04em; font-size:1.12em; color:#EFD18A }
.proc-barra{ width:100%; height:8px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden }
.proc-barra i{ display:block; height:100%; width:0; border-radius:6px; background:linear-gradient(90deg,#C9A043,#E8C56A,#EFD18A); transition:width .3s ease; box-shadow:0 0 12px rgba(232,197,106,.5) }
.proc-linha{ width:100%; display:flex; justify-content:space-between; gap:10px; font-size:.86em; color:#BFC6D6; text-align:left }
.proc-etapas{ list-style:none; margin:4px 0 0; padding:0; width:100%; display:grid; gap:5px; text-align:left; font-size:.78em; color:#7D86A0 }
.proc-etapas li{ display:flex; gap:8px; align-items:center } .proc-etapas li::before{ content:""; width:8px; height:8px; flex:none; border-radius:50%; border:1.5px solid #5A6288 }
.proc-etapas li.at{ color:#F1EDE3 } .proc-etapas li.at::before{ border-color:#E8C56A; box-shadow:0 0 0 3px rgba(232,197,106,.2) }
.proc-etapas li.ok{ color:#95DDB6 } .proc-etapas li.ok::before{ background:#7FD1A6; border-color:#7FD1A6 }
.proc-caixa.feito .proc-anel{ animation:none; border-color:#7FD1A6 } .proc-caixa.feito .proc-msg{ color:#95DDB6; font-weight:700 }
.proc-caixa.falhou .proc-anel{ animation:none; border-color:#F08A72 } .proc-caixa.falhou .proc-msg{ color:#F5A592 }
.proc-rod{ width:100% } .proc-rod:empty{ display:none }
/* cards de vitória */
.vit-veu{ position:fixed; inset:0; z-index:95; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(6,9,18,.7); backdrop-filter:blur(4px); animation:procIn .25s ease }
.vit-veu.saindo{ opacity:0; transition:opacity .25s }
.vit-card{ --v1:#E8C56A; --v2:#C9A043; position:relative; width:min(460px,100%); max-height:92vh; overflow:auto; padding:26px 24px 18px; border-radius:26px; text-align:center; color:#F1EDE3;
  background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--v1) 28%,#1B2540) 0%,#0C1222 70%); border:1px solid color-mix(in srgb,var(--v1) 55%,transparent);
  box-shadow:0 0 0 6px color-mix(in srgb,var(--v1) 10%,transparent),0 40px 90px rgba(0,0,0,.55); animation:vitIn .5s cubic-bezier(.2,1.4,.4,1) }
.vit-card.nivel-bronze{ --v1:#E0A070; --v2:#9A5B2E } .vit-card.nivel-prata{ --v1:#D9E1F2; --v2:#8A94AE } .vit-card.nivel-diamante{ --v1:#8FE3FF; --v2:#3A8DDB }
@keyframes vitIn{ from{ transform:scale(.8) translateY(20px); opacity:0 } to{ transform:none; opacity:1 } }
.vit-topo{ display:flex; justify-content:space-between; align-items:center; font-size:.74em; letter-spacing:.16em; text-transform:uppercase; color:color-mix(in srgb,var(--v1) 80%,#fff) }
.vit-medalha{ width:96px; height:96px; margin:14px auto 10px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#0C1222;
  background:radial-gradient(circle at 30% 25%,#fff8,transparent 40%),linear-gradient(145deg,var(--v1),var(--v2)); box-shadow:0 0 0 6px color-mix(in srgb,var(--v1) 20%,transparent),0 10px 40px color-mix(in srgb,var(--v1) 45%,transparent); animation:vitBrilho 2.4s ease-in-out infinite }
.vit-medalha .ic{ width:46px; height:46px } @keyframes vitBrilho{ 50%{ box-shadow:0 0 0 12px color-mix(in srgb,var(--v1) 10%,transparent),0 10px 60px color-mix(in srgb,var(--v1) 60%,transparent) } }
.vit-tit{ font-family:var(--f-marca); font-size:1.45em; line-height:1.2; background:linear-gradient(180deg,#fff,var(--v1)); -webkit-background-clip:text; background-clip:text; color:transparent }
.vit-msg{ margin-top:12px; font-size:1.02em; line-height:1.65; color:#F1EDE3 }
.vit-det{ margin-top:10px; font-size:.84em; color:#A5ADC2 }
.vit-verso{ margin-top:12px; padding:10px 12px; border-radius:12px; font-size:.88em; font-style:italic; line-height:1.55; color:#EFD18A; background:rgba(232,197,106,.08); border:1px solid rgba(232,197,106,.2) }
.vit-tambem{ margin-top:10px; font-size:.82em; color:#BFC6D6 }
.vit-bts{ display:flex; gap:8px; margin-top:18px } .vit-data{ margin-top:10px; color:#7D86A0 }
.vit-brilho{ position:absolute; inset:0; pointer-events:none; overflow:hidden; border-radius:inherit }
.vit-brilho i{ position:absolute; top:-10px; width:6px; height:12px; border-radius:2px; background:var(--v1); opacity:.8; animation:vitCai 3.2s linear infinite }
.vit-brilho i:nth-child(odd){ background:#fff; width:4px } 
.vit-brilho i:nth-child(1){ left:6%; animation-delay:0s } .vit-brilho i:nth-child(2){ left:14%; animation-delay:.6s } .vit-brilho i:nth-child(3){ left:22%; animation-delay:1.3s } .vit-brilho i:nth-child(4){ left:30%; animation-delay:.2s }
.vit-brilho i:nth-child(5){ left:38%; animation-delay:1.9s } .vit-brilho i:nth-child(6){ left:46%; animation-delay:.9s } .vit-brilho i:nth-child(7){ left:54%; animation-delay:2.4s } .vit-brilho i:nth-child(8){ left:62%; animation-delay:.4s }
.vit-brilho i:nth-child(9){ left:70%; animation-delay:1.6s } .vit-brilho i:nth-child(10){ left:78%; animation-delay:.7s } .vit-brilho i:nth-child(11){ left:86%; animation-delay:2.1s } .vit-brilho i:nth-child(12){ left:94%; animation-delay:1.1s }
@keyframes vitCai{ 0%{ transform:translateY(0) rotate(0) } 100%{ transform:translateY(620px) rotate(540deg); opacity:0 } }
:root[data-movimento="reduzido"] .vit-brilho, :root[data-movimento="reduzido"] .vit-medalha{ animation:none } :root[data-movimento="reduzido"] .vit-brilho i{ display:none }
.vit-trilhas{ display:grid; gap:12px; margin-bottom:14px } .vt{ display:flex; flex-direction:column; gap:5px }
.vit-grade{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px }
.vit-mini{ --v1:#E8C56A; display:flex; flex-direction:column; gap:6px; align-items:flex-start; text-align:left; padding:12px; border-radius:14px; background:linear-gradient(160deg,color-mix(in srgb,var(--v1) 16%,var(--sup)),var(--sup)); border:1px solid color-mix(in srgb,var(--v1) 40%,transparent) }
.vit-mini.nivel-bronze{ --v1:#E0A070 } .vit-mini.nivel-prata{ --v1:#BFC6D6 } .vit-mini.nivel-diamante{ --v1:#6FD3F5 }
.vit-mini b{ font-size:.86em; line-height:1.3 } .vit-mini .mini{ color:var(--tx-3) }
.vm-ic{ width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#0C1222; background:linear-gradient(145deg,var(--v1),color-mix(in srgb,var(--v1) 55%,#000)) }
/* planejamento */
.plan-hero{ background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--ouro) 12%,transparent),transparent 60%),var(--sup) }
.plan-metodo summary{ display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none } .plan-metodo summary::-webkit-details-marker{ display:none }
.plan-metodo .mi{ width:40px; height:40px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--ouro-suave); color:var(--ouro) }
.pm-corpo{ display:grid; gap:12px; margin-top:14px } .pm-passo{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border-left:3px solid var(--ouro) }
.pm-passo p{ margin-top:4px; font-size:.9em; line-height:1.6; color:var(--tx-2) } .pm-rank{ display:grid; gap:6px; margin-top:8px }
.plan-discs{ display:grid; grid-template-columns:minmax(0,1fr); gap:8px } .plan-disc{ min-width:0 }
/* roteiro completo das metas (Planejamento) */
.plan-rot .rot-fase{ margin-top:14px } .plan-rot .rot-fase > .rotulo{ margin-bottom:8px }
.rot-grade{ display:grid; grid-template-columns:repeat(auto-fill,minmax(62px,1fr)); gap:6px }
.rot-m{ display:flex; flex-direction:column; align-items:center; gap:1px; padding:8px 4px 7px; border-radius:12px; border:1px solid var(--linha-2); background:var(--fundo-2); color:var(--tx-2); font:inherit; cursor:pointer; transition:border-color .15s, background .15s }
.rot-m b{ font-family:var(--f-mono); font-size:.84em; font-weight:600; color:var(--tx) } .rot-m small{ font-size:.66em; color:var(--tx-3) }
.rot-m:hover{ border-color:var(--ia-borda) }
.rot-m.st-feita{ background:var(--ok-suave); border-color:transparent } .rot-m.st-feita b{ color:var(--ok-tx) }
.rot-m.st-atual{ background:var(--ouro-suave); border-color:var(--ouro-borda) } .rot-m.st-atual b{ color:var(--ouro-tx) }
.rot-m.st-preparo{ background:var(--ia-suave); border-color:var(--ia-borda) }
.rot-m.st-modelo{ border-color:var(--ia-borda) }
.rot-m.st-projecao,.rot-m.st-plano{ border-style:dashed; background:transparent }
.rot-m[aria-pressed="true"]{ outline:2px solid var(--ia); outline-offset:1px }
.rot-legs{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:12px; font-size:.74em; color:var(--tx-3) }
.rot-leg{ display:inline-flex; align-items:center; gap:6px } .rot-leg i{ width:12px; height:12px; border-radius:4px; border:1px solid var(--linha-2); background:var(--fundo-2) }
.rot-leg.st-feita i{ background:var(--ok-suave); border-color:transparent } .rot-leg.st-atual i{ background:var(--ouro-suave); border-color:var(--ouro-borda) } .rot-leg.st-modelo i{ border-color:var(--ia-borda) } .rot-leg.st-projecao i{ border-style:dashed; background:transparent }
.rot-det{ margin-top:14px; padding-top:14px; border-top:1px solid var(--linha) } .rot-det:empty{ display:none }
.rot-cab{ display:flex; align-items:flex-start; gap:12px } .rot-cab h3{ margin:2px 0 4px } .rot-kpis{ margin:6px 0 10px }
.rot-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px }
.rot-lista li{ display:flex; align-items:center; gap:8px; padding:7px 10px; border-radius:10px; background:var(--fundo-2); font-size:.86em; min-width:0 }
.rot-lista li .cresce{ min-width:0; overflow-wrap:anywhere }
.rot-tipo{ flex:none; width:118px; font-size:.78em; color:var(--tx-3) }
.rot-nota{ margin-top:10px }
.plan-rot .bloco-t{ flex-wrap:wrap; row-gap:2px } .plan-rot .bloco-t h2{ white-space:nowrap; flex:1 0 auto }
@media (max-width:620px){ .plan-rot .bloco-t > .peq{ flex-basis:100%; padding-left:28px } }
@media (max-width:560px){
  .rot-lista li{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"tipo tipo min" "sig tit tit"; gap:4px 8px; align-items:start }
  .rot-lista li .rot-tipo{ grid-area:tipo; width:auto } .rot-lista li .sig{ grid-area:sig } .rot-lista li .cresce{ grid-area:tit } .rot-lista li .num{ grid-area:min; text-align:right }
  .rot-grade{ grid-template-columns:repeat(auto-fill,minmax(56px,1fr)) }
}
.plan-disc{ border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.plan-disc > summary{ display:flex; align-items:center; gap:12px; padding:12px 14px; cursor:pointer; list-style:none } .plan-disc > summary::-webkit-details-marker{ display:none }
.plan-disc.st-ativa{ border-color:color-mix(in srgb,var(--tq) 35%,var(--linha)) } .plan-disc.st-feita{ opacity:.85 }
.pd-t{ display:flex; flex-direction:column; gap:6px; min-width:0 } .pd-m{ display:flex; flex-wrap:wrap; gap:2px 12px } .pd-prev{ color:var(--info); font-weight:650 }
.pd-corpo{ padding:0 14px 14px; display:grid; gap:6px }
.plan-tema{ border-radius:12px; background:var(--sup); border:1px solid var(--linha); padding:0 12px }
.plan-tema > summary{ display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; list-style:none } .plan-tema > summary::-webkit-details-marker{ display:none }
.plan-tema > .barra{ margin-bottom:8px } .pt-prev{ min-width:38px; text-align:right }
.plan-itens{ display:grid; gap:4px; padding-bottom:10px }
.plan-item{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; text-align:left; padding:8px 10px; border-radius:10px; background:var(--fundo-2); border:1px solid transparent }
.plan-item:hover{ border-color:var(--ac) } .plan-item .cresce{ min-width:160px; display:flex; flex-direction:column; gap:2px }
.pi-ck{ width:18px; height:18px; flex:none; border-radius:50%; border:1.5px solid var(--linha-2); display:flex; align-items:center; justify-content:center }
.plan-item.ok .pi-ck{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) } .plan-item.meta .pi-ck{ border-color:var(--info); box-shadow:inset 0 0 0 4px var(--info-suave) }
.plan-item.parc .pi-ck{ border-color:var(--ate) } .plan-item.ign{ opacity:.55 } .plan-item.ign .peq{ text-decoration:line-through }
.plan-ins{ margin-top:14px; padding:12px 14px; border-radius:14px; background:var(--ouro-suave); border:1px solid color-mix(in srgb,var(--ouro) 30%,transparent); display:grid; gap:6px }
.plan-ins p{ display:flex; gap:8px; font-size:.9em; line-height:1.5 } .plan-ins .ic{ flex:none; margin-top:3px; color:var(--ouro) }
.ped-lista{ display:grid; gap:8px } .ped{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.ped-resp{ display:flex; gap:8px; margin-top:8px; padding:10px 12px; border-radius:12px; background:var(--sup); font-size:.9em; line-height:1.5 } .ped-resp .ic{ color:var(--ouro); flex:none; margin-top:3px }
/* desempenho */
.dv-grade{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:10px }
.dv{ display:flex; flex-direction:column; gap:3px; padding:12px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) } .dv .r{ font-size:.76em; color:var(--tx-2) } .dv b{ font-size:1.35em }
.dicas{ list-style:none; margin:0; padding:0; display:grid; gap:10px } .dicas li{ display:flex; gap:10px; font-size:.92em; line-height:1.55 } .dicas .ic{ flex:none; margin-top:3px; color:var(--tq) }
/* Nomeia_iA */
.vi-encerrar{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:18px 20px; margin-bottom:14px; border-radius:var(--r-3); color:#F1EDE3;
  background:linear-gradient(120deg,#0C1222,#1B2540); border:1px solid rgba(232,197,106,.45); box-shadow:0 12px 40px rgba(12,18,34,.35) }
.vi-encerrar .rotulo{ color:#E8C56A } .vi-encerrar h2{ font-family:var(--f-marca); font-size:1.25em; margin:4px 0 8px; color:#F1EDE3 }
.vi-e-ic{ width:56px; height:56px; flex:none; border-radius:16px; display:flex; align-items:center; justify-content:center; background:rgba(232,197,106,.14); color:#E8C56A }
.vi-passos{ margin:0; padding-left:18px; display:grid; gap:3px; font-size:.88em; color:#BFC6D6 } .vi-passos li.ok{ color:#95DDB6; text-decoration:line-through }
.vi-e-bt{ min-height:52px; padding:0 22px; font-size:1.02em; box-shadow:0 0 0 4px rgba(232,197,106,.18) }
.vi-encerrar.pronta .vi-e-bt{ animation:procPulso 2.2s ease-in-out infinite }
@media (max-width:620px){ .vi-e-bt{ width:100% } }
/* histórico: prazos */
.prazos{ display:grid; gap:12px; margin-top:14px } .pz{ display:grid; gap:6px }
.pz-dias{ display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:3px }
.pz-dias i{ height:12px; border-radius:4px; background:var(--sup-3) } .pz-dias i.uso{ background:var(--tq) } .pz-dias i.extra{ background:var(--err) } .pz-dias i.hoje{ box-shadow:0 0 0 2px var(--fundo),0 0 0 3.5px var(--ouro) }
/* revisões */
.rev-disc{ border-top:1px solid var(--linha) } .rev-disc > summary{ display:flex; align-items:center; gap:10px; min-height:46px; cursor:pointer; list-style:none } .rev-disc > summary::-webkit-details-marker{ display:none }
.plan-disc > summary > .cresce{ min-width:0 } .pd-t .linha b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap } .pd-t .linha .num{ flex:none }
.kpi .v small{ white-space:normal } .kpi{ min-width:0 } .kpi .v{ overflow-wrap:anywhere }

/* rodada 9: o que ler + TEC por ID */
.leitura-box{ margin-bottom:14px; padding:16px; border-radius:18px; background:linear-gradient(150deg,color-mix(in srgb,var(--s6) 16%,var(--sup)),var(--sup) 70%); border:1px solid color-mix(in srgb,var(--s6) 40%,transparent); display:grid; gap:12px }
.lb-cab{ display:flex; gap:12px; align-items:flex-start } .lb-ic{ width:46px; height:46px; flex:none; border-radius:14px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--s6) 22%,transparent); color:var(--s6) }
.lb-curso{ display:block; font-family:var(--f-disp); font-size:1.08em; margin-top:2px } .lb-fonte{ font-size:.88em; color:var(--tx-2); margin-top:2px }
.lb-bloco{ display:grid; gap:6px } .lb-rot{ font-size:.72em; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:var(--tx-2) }
.lb-tops, .lb-passos{ margin:0; padding-left:20px; display:grid; gap:4px; font-size:.92em; line-height:1.5 } .lb-tops li::marker{ color:var(--s6); font-weight:700 }
.lb-foco{ list-style:none; margin:0; padding:0; display:grid; gap:4px; font-size:.9em } .lb-foco li{ display:flex; gap:6px; align-items:flex-start } .lb-foco .ic{ color:var(--ouro); flex:none; margin-top:3px }
.lb-abrir{ min-height:48px; font-size:1em }
.tec-ids{ display:flex; flex-wrap:wrap; gap:8px }
.tec-id{ padding:8px 12px; border-radius:10px; font:600 .9em/1 var(--f-mono, ui-monospace, monospace); font-variant-numeric:tabular-nums; background:var(--fundo-2); border:1.5px solid var(--linha-2); color:var(--tx) }
.tec-id:hover{ border-color:var(--ac) } .tec-id.err{ background:var(--err-suave); border-color:var(--err); color:var(--err-tx); text-decoration:line-through }
.mh-resumo{ margin-top:14px; padding:14px 16px; border-radius:14px; background:linear-gradient(135deg,rgba(143,180,255,.12),rgba(232,197,106,.08)); border:1px solid rgba(143,180,255,.3) }
.mh-resumo .rotulo{ display:flex; align-items:center; gap:6px; color:var(--tx) } .mh-resumo .mia-txt{ margin-top:6px; line-height:1.65; font-size:.95em }

/* marcações no resumo */
mark.rsm-marca{ color:inherit; border-radius:3px; padding:0 1px; cursor:pointer; box-decoration-break:clone; -webkit-box-decoration-break:clone }
mark.rsm-marca.c-am, .rsm-leg .c-am, .rbs-cor.c-am{ background:rgba(255,214,64,.55) } mark.rsm-marca.c-vd, .rsm-leg .c-vd, .rbs-cor.c-vd{ background:rgba(92,214,140,.5) }
mark.rsm-marca.c-az, .rsm-leg .c-az, .rbs-cor.c-az{ background:rgba(96,170,255,.5) } mark.rsm-marca.c-rs, .rsm-leg .c-rs, .rbs-cor.c-rs{ background:rgba(255,120,170,.5) }
.rsm--escuro mark.rsm-marca{ color:#fff }
.rsm-barra-sel{ position:fixed; z-index:120; display:flex; align-items:center; gap:6px; padding:6px 8px; border-radius:14px; background:#0C1222; border:1px solid rgba(143,180,255,.45); box-shadow:0 12px 30px rgba(0,0,0,.4) }
.rbs-cor{ width:26px; height:26px; border-radius:50%; border:2px solid rgba(255,255,255,.7) } .rbs-sep{ width:1px; height:22px; background:rgba(255,255,255,.2) }
.rbs-bt{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; color:#F1EDE3; font-weight:650; font-size:.85em } .rbs-bt:hover{ background:rgba(255,255,255,.08) }
.rsm-trecho{ margin:0; padding:12px 14px; border-left:3px solid var(--s5); border-radius:10px; background:var(--fundo-2); font-size:.92em; line-height:1.55 }
.rsm-leg{ display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; font-size:.86em } .rsm-leg span{ display:inline-flex; gap:6px; align-items:center } .rsm-leg i{ width:16px; height:16px; border-radius:4px }
.rsm-bt-cheia{ min-height:34px; padding:0 10px; gap:6px } @media (max-width:560px){ .rsm-bt-cheia span{ display:none } }
body.modo-leitura .nav-inf, body.modo-leitura #crono-flutuante{ display:none }
.folha.resumo-leitor .f-corpo{ flex:1 1 auto; min-height:0 } .folha.resumo-leitor .f-rodape{ flex:none }
body.modo-leitura .veu{ padding:0 !important; background:var(--fundo) }
body.modo-leitura .folha.resumo-leitor{ position:fixed; inset:0; width:100vw; max-width:none !important; height:100vh; height:100dvh !important; max-height:none !important; border-radius:0 !important; z-index:95 }
.err-leg{ display:flex; align-items:center; gap:8px; margin:-4px 0 6px } .err-leg-chips{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 8px; margin:0 0 12px }
.rel-ass{ display:grid; gap:2px; margin:0 0 6px 30px } .rel-al{ display:flex; align-items:center; gap:8px; font-size:.86em; padding:3px 0; color:var(--tx-2) }
/* ---------- Instruções (rodada 9) */
.ins-hero h1{ font-family:var(--serif, inherit); font-size:1.45em; line-height:1.25; margin:6px 0 8px; text-wrap:balance }
.ins-hero > p{ color:var(--tx-2); line-height:1.65; max-width:70ch }
.ins-frase{ display:flex; gap:10px; align-items:flex-start; margin-top:14px; padding:12px 14px; border-radius:14px; background:var(--ouro-suave); border-left:3px solid var(--marca-eletrico, var(--ouro)) }
.ins-frase > span{ color:var(--ouro); margin-top:2px } .ins-frase p{ font-size:.92em; line-height:1.6 }
.ins-indice{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px } .ins-indice .chip{ cursor:pointer; gap:6px } .ins-indice .chip .num{ opacity:.6; font-size:.85em }
.ins-sec{ scroll-margin-top:72px } .ins-cab{ display:flex; gap:12px; align-items:flex-start; margin-bottom:12px }
.ins-cab .mi{ width:40px; height:40px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--ouro-suave); color:var(--ouro) }
.ins-cab h2{ font-size:1.12em; text-wrap:balance } .ins-cab p{ margin-top:2px }
.ins-passos li > span{ line-height:1.6; font-size:.93em }
.ins-h3{ font-size:.95em; margin:16px 0 8px }
.ins-tab td{ vertical-align:top; line-height:1.5 } .ins-tab td:first-child{ white-space:nowrap } .ins-tab .tipo-chip{ white-space:nowrap }
.ins-janelas{ display:grid; gap:8px }
.ins-jan{ border:1px solid var(--linha); border-radius:14px; background:var(--fundo-2) }
.ins-jan summary{ display:flex; align-items:center; gap:10px; padding:12px 14px; cursor:pointer; list-style:none } .ins-jan summary::-webkit-details-marker{ display:none }
.ins-jan summary .mi{ width:32px; height:32px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac-tx) }
.ins-jan .ins-seta{ transition:transform .2s; color:var(--tx-3, var(--tx-2)) } .ins-jan[open] .ins-seta{ transform:rotate(180deg) }
.ins-jan-c{ padding:0 14px 14px; display:grid; gap:8px } .ins-jan-c p{ font-size:.9em; line-height:1.6; color:var(--tx-2) }
.ins-jan-c .rotulo{ display:block; margin-bottom:2px } .ins-jan-c .bt{ justify-self:start }
.ins-dica{ display:flex; gap:8px; align-items:flex-start } .ins-dica .ic{ color:var(--ouro); flex:none; margin-top:3px }
.ins-2col{ display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)) }
@media (max-width:560px){ .ins-tab td:first-child{ white-space:normal } }
/* ---------- Início premium (rodada 10) */
.ini-hero{ position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); gap:18px; padding:22px; border-radius:var(--r-3, 20px);
  background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--marca-eletrico, #6E9BFF) 22%, transparent), transparent 55%),
    radial-gradient(90% 120% at 100% 100%, color-mix(in srgb, var(--ouro) 16%, transparent), transparent 60%), var(--sup);
  border:1px solid var(--linha-2); box-shadow:0 18px 40px -24px rgba(0,0,0,.55) }
.ini-hero h1{ font-size:1.7em; line-height:1.15; letter-spacing:-.02em; margin-top:4px; text-wrap:balance }
.ih-esq{ display:flex; flex-direction:column; gap:10px; min-width:0 }
.ih-lead{ color:var(--tx-2); line-height:1.6; max-width:62ch } .ih-lead b{ color:var(--tx) }
.ih-prova{ color:var(--ouro) }
.ih-dir{ min-width:0 } .ih-card{ display:flex; flex-direction:column; gap:12px; padding:16px; border-radius:18px; background:color-mix(in srgb, var(--fundo) 55%, transparent); border:1px solid var(--linha); backdrop-filter:blur(6px) }
.ih-lin{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; font-size:.9em } .ih-lin span{ color:var(--tx-2) } .ih-lin small{ font-weight:500; color:var(--tx-2); font-size:.85em }
@media (min-width:900px){ .ini-hero{ grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); align-items:center } }
.ini-prox{ margin-top:14px; display:flex; gap:16px; align-items:center; flex-wrap:wrap; padding:18px 20px; border-radius:var(--r-3, 20px); background:var(--sup);
  border:1px solid color-mix(in srgb, var(--ac) 40%, var(--linha)); box-shadow:inset 4px 0 0 var(--ac) }
.ini-prox.ok{ box-shadow:inset 4px 0 0 var(--ok); border-color:color-mix(in srgb, var(--ok) 40%, var(--linha)) }
.ip-ic{ width:54px; height:54px; border-radius:16px; flex:none; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac) }
.ip-tit{ font-weight:700; font-size:1.08em; margin-top:3px; line-height:1.35 }
.ip-foco{ margin-top:8px; font-size:.86em; color:var(--tx-2); line-height:1.5 } .ip-foco b{ color:var(--tx) }
.ip-bt{ padding:12px 22px; font-size:1em } @media (max-width:560px){ .ip-bt{ width:100%; justify-content:center } }
.ini-kpis{ margin-top:14px; display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)) } @media (min-width:900px){ .ini-kpis{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.ik{ display:grid; grid-template-columns:auto 1fr; grid-template-areas:"ic r" "v v" "s s"; align-items:center; gap:4px 10px; padding:14px 16px; border-radius:16px; text-align:left;
  background:var(--sup); border:1px solid var(--linha); min-width:0; cursor:pointer; transition:border-color .15s, transform .15s } .ik:hover{ border-color:var(--linha-2); transform:translateY(-1px) }
.ik-ic{ grid-area:ic; width:30px; height:30px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--fundo-2); color:var(--ouro) }
.ik-r{ grid-area:r; font-size:.78em; color:var(--tx-2); display:flex; align-items:center; gap:6px; min-width:0 } .ik-v{ grid-area:v; font-size:1.65em; font-weight:750; letter-spacing:-.02em; margin-top:4px }
.ik-s{ grid-area:s; font-size:.76em; color:var(--tx-3, var(--tx-2)); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.msgs-lista{ gap:8px } .msg-item{ border-radius:14px; border:1px solid var(--linha); padding:4px 12px } .msg-item .msg{ background:transparent; border:0; padding:10px 2px } .msg-item.nova{ border-color:color-mix(in srgb, var(--ac) 45%, var(--linha)); background:var(--ac-suave) }
/* ================================================================== rodada 11 */
/* ---------- nível por assunto: Iniciante (teal) · Intermediário (azul-violeta) · Avançado (dourado) */
.n-ini{ --nv:var(--tq) } .n-int{ --nv:var(--ac) } .n-ava{ --nv:var(--ouro) }
.nv-bars{ display:inline-flex; align-items:flex-end; gap:1.5px; flex:none }
.nv-bars i{ display:block; width:3px; border-radius:1.5px; background:color-mix(in srgb,var(--nv,var(--tx-3)) 28%,transparent) }
.nv-bars i:nth-child(1){ height:5px } .nv-bars i:nth-child(2){ height:8px } .nv-bars i:nth-child(3){ height:11px }
.nv-bars i.on{ background:var(--nv,var(--tx-2)) }
.niv-chip{ display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px 0 8px; border-radius:11px; font-size:.74em; font-weight:700; letter-spacing:.01em; white-space:nowrap; flex:none;
  background:color-mix(in srgb,var(--nv) 14%,transparent); color:color-mix(in srgb,var(--nv) 72%,var(--tx)); border:1px solid color-mix(in srgb,var(--nv) 34%,transparent) }
.niv-chip.abrev .nv-c{ display:none }
@media (max-width:480px){ .niv-chip.abrev .nv-l{ display:none } .niv-chip.abrev .nv-c{ display:inline } }
.tag-ajust{ display:inline-flex; align-items:center; gap:4px; height:20px; padding:0 8px; border-radius:10px; font-size:.7em; font-weight:700; letter-spacing:.02em; white-space:nowrap;
  background:var(--info-suave); color:var(--info); border:1px dashed color-mix(in srgb,var(--info) 45%,transparent) }
.tag-ajust .ic{ width:12px; height:12px }
.pe-m .niv-chip,.e-tipo .niv-chip{ height:22px }
/* família nova: Manutenção */
.f-man{ --fam:var(--info) } .trilha i.f-man{ --fam:var(--info) }

/* ---------- Metas: "Atualizar meta", ações do ciclo, estudo extra, boletim */
.ciclo-acoes{ display:flex; gap:8px; flex-wrap:wrap; margin-left:auto }
.seg-meta .seg-c{ display:none }
@media (max-width:640px){
  .ciclo-barra .seg{ width:100% } .ciclo-barra .seg-meta button{ flex:1 1 auto }
  .ciclo-acoes{ margin-left:0; width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }
  .ciclo-acoes .bt{ width:100%; justify-content:center }
  .ciclo-acoes .atu-bt.destaque,.ciclo-acoes.ult-largo .bt:last-child{ grid-column:1 / -1 }
}
@media (max-width:480px){ .seg-meta .seg-l{ display:none } .seg-meta .seg-c{ display:inline } .seg-meta button{ padding:7px 9px } }
@media (max-width:380px){ .seg-meta button{ padding:7px 7px; font-size:.84em } }
.atu-bt.destaque{ background:linear-gradient(135deg,var(--ac-forte),color-mix(in srgb,var(--ac-forte) 70%,var(--info))); color:#fff; box-shadow:0 0 0 3px var(--ac-suave),0 6px 18px color-mix(in srgb,var(--ac-forte) 35%,transparent) }
.atu-selo{ min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:#fff; color:var(--ac-forte); font-size:.78em; font-weight:800; display:inline-flex; align-items:center; justify-content:center; font-variant-numeric:tabular-nums }
.atu-aviso,.ini-atu{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; margin:0 0 12px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 11%,var(--sup)),var(--sup) 80%); border:1px solid color-mix(in srgb,var(--ac) 30%,var(--linha)) }
.atu-aviso p,.ini-atu p{ font-size:.86em; line-height:1.45; color:var(--tx-2) }
.atu-ic{ width:30px; height:30px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac) }
.ini-atu{ margin:14px 0 0 }
.ini-atu .bt{ flex:none; white-space:nowrap }
.bt-link{ display:inline-flex; align-items:center; gap:5px; min-height:32px; margin-top:4px; padding:0; color:var(--ac-tx); font-size:.8em; font-weight:650 }
.bt-link:hover{ text-decoration:underline; text-underline-offset:3px }
.xt-box{ border-color:color-mix(in srgb,var(--ouro) 35%,var(--linha)) }
.xt-bt{ margin-top:12px }
.xt-lista{ display:flex; flex-direction:column; gap:8px; margin-top:14px }
.xt-tot{ margin:0 2px 2px }
.xt-vazio{ padding:6px 2px }
.xt-item{ border-radius:14px; border:1px solid var(--linha); background:var(--fundo-2) }
.xt-item > summary{ display:flex; align-items:center; gap:10px; padding:10px 12px; cursor:pointer; list-style:none; min-height:52px }
.xt-item > summary::-webkit-details-marker{ display:none }
.xt-item[open] > summary{ border-bottom:1px solid var(--linha) }
.xt-dia{ flex:none; min-width:42px; font-size:.78em; font-weight:750; color:var(--tx-2) }
.xt-it{ display:flex; flex-direction:column; gap:3px; min-width:0 }
.xt-it-t{ display:flex; align-items:center; gap:8px; min-width:0 } .xt-it-t b{ font-size:.9em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.xt-it-t .sig{ height:20px; width:40px; font-size:.66em }
.xt-ch{ flex:none }
@media (max-width:420px){ .xt-item > summary{ flex-wrap:wrap } .xt-ch{ margin-left:52px } }
.xt-item-c{ padding:12px; display:flex; flex-direction:column; gap:8px; line-height:1.55 }
.xt-ia{ padding:8px 12px; border-left:3px solid var(--ac); background:var(--ac-suave); border-radius:0 10px 10px 0 } .xt-ia .rotulo{ display:flex; align-items:center; gap:6px; color:var(--ac-tx) }
.xt-rem{ align-self:flex-start; color:var(--err-tx) }
/* boletim */
.bol{ display:flex; flex-direction:column; gap:14px }
.bol-topo{ display:flex; align-items:center; gap:16px }
.bol-ind{ font-size:1.6em; font-weight:800; letter-spacing:-.02em }
.bol-tit{ font-family:var(--f-disp); font-size:1.15em; margin-top:2px }
.bol-frase{ margin-top:4px; color:var(--tx-2); font-size:.92em; line-height:1.5 }
.bol-kpis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px }
@media (min-width:600px){ .bol-kpis{ grid-template-columns:repeat(4,minmax(0,1fr)) } }
.bk{ display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:13px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.bk .r{ font-size:.74em; color:var(--tx-2); font-weight:600 } .bk b{ font-size:1.25em; font-weight:750; letter-spacing:-.01em; white-space:nowrap }
.bk .mini{ line-height:1.35 }
.bol-grade{ display:grid; gap:10px; grid-template-columns:1fr }
@media (min-width:700px){ .bol-grade{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
.bol-sec{ padding:12px 14px; border-radius:14px; border:1px solid var(--linha) }
.bol-sec.ok{ background:color-mix(in srgb,var(--ok) 8%,var(--sup)); border-color:color-mix(in srgb,var(--ok) 30%,var(--linha)) }
.bol-sec.ate{ background:color-mix(in srgb,var(--ate) 8%,var(--sup)); border-color:color-mix(in srgb,var(--ate) 30%,var(--linha)) }
.bol-sec h4{ display:flex; align-items:center; gap:6px; margin:0 0 8px; font-size:.78em; text-transform:uppercase; letter-spacing:.07em; font-weight:750 }
.bol-sec.ok h4{ color:var(--ok-tx) } .bol-sec.ate h4{ color:var(--ate) }
.bol-l{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; font-size:.9em; line-height:1.5 }
.bol-l li{ position:relative; padding-left:22px }
.bol-l li::before{ position:absolute; left:2px; top:0; font-weight:800 }
.bol-sec.ok .bol-l li::before,.bol-l.ok li::before{ content:"✓"; color:var(--ok) }
.bol-sec.ate .bol-l li::before,.bol-l.ate li::before{ content:"•"; color:var(--ate); font-size:1.3em; line-height:1.1 }
.bol-foco{ display:flex; gap:12px; align-items:flex-start; padding:13px 15px; border-radius:15px;
  background:linear-gradient(120deg,color-mix(in srgb,var(--ouro) 20%,var(--sup)),color-mix(in srgb,var(--ouro) 6%,var(--sup)) 85%); border:1px solid color-mix(in srgb,var(--ouro) 48%,transparent) }
.bf-ic{ width:34px; height:34px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--ouro) 22%,transparent); color:var(--ouro) }
.bol-foco .rotulo{ color:color-mix(in srgb,var(--ouro) 75%,var(--tx)) } .bol-foco p{ margin-top:3px; font-weight:650; line-height:1.5 }
.bol-ia{ padding:12px 14px; border-radius:0 14px 14px 0; border-left:3px solid var(--ac); background:color-mix(in srgb,var(--ac) 8%,var(--sup)); display:flex; flex-direction:column; gap:8px }
.bol-ia .rotulo{ display:flex; align-items:center; gap:6px; color:var(--ac-tx) } .bol-ia-frase{ font-weight:600; line-height:1.55 }
.bol-card{ margin-top:10px; border-radius:14px; border:1px solid color-mix(in srgb,var(--ouro) 30%,var(--linha)); background:color-mix(in srgb,var(--fundo) 45%,transparent) }
.bol-card > summary{ display:flex; align-items:center; gap:10px; padding:10px 14px; cursor:pointer; list-style:none; min-height:52px }
.bol-card > summary::-webkit-details-marker{ display:none }
.bol-mi{ width:32px; height:32px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--ouro-suave); color:var(--ouro) }
.bol-card-t{ display:flex; flex-direction:column; gap:1px; min-width:0 } .bol-card-t b{ font-size:.92em }
.bol-card-t .mini{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.bol-card[open] .bol-card-t .mini{ white-space:normal }
.bol-pill{ flex:none; padding:3px 9px; border-radius:999px; font-weight:800; font-size:.9em; background:var(--sup-2); border:1px solid var(--linha) }
.bol-pill small{ font-size:.7em; font-weight:650; opacity:.75 }
.bol-pill.ok{ background:var(--ok-suave); color:var(--ok-tx); border-color:transparent } .bol-pill.ac{ background:var(--ac-suave); color:var(--ac-tx); border-color:transparent } .bol-pill.ate{ background:var(--ate-suave); color:var(--ate); border-color:transparent }
.bol-seta{ color:var(--tx-3); transition:transform .2s } .bol-card[open] .bol-seta{ transform:rotate(180deg) }
.bol-card-c{ padding:4px 14px 14px }
/* "Atualizar meta" e "O que mudou" */
.atu-conf{ display:flex; gap:14px; align-items:flex-start } .atu-conf p{ line-height:1.6 }
.atu-conf-ic{ width:48px; height:48px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac) }
.atu-tops{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px }
.atu-tops li{ display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.9em }
.om-resumo{ display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:16px; background:color-mix(in srgb,var(--ac) 10%,var(--sup)); border:1px solid color-mix(in srgb,var(--ac) 30%,var(--linha)) }
.om-resumo.ok{ background:color-mix(in srgb,var(--ok) 10%,var(--sup)); border-color:color-mix(in srgb,var(--ok) 32%,var(--linha)) }
.om-resumo p{ line-height:1.55; font-weight:500; font-size:.94em }
.om-ic{ width:36px; height:36px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac) }
.om-resumo.ok .om-ic{ background:var(--ok-suave); color:var(--ok) }
.om-sec{ margin-top:18px } .om-sec h3{ display:flex; align-items:center; gap:8px; font-size:.95em; margin-bottom:10px } .om-sec h3 .ic{ color:var(--tx-2) }
.om-tops,.om-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px }
.om-tops li{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.om-tops li > .cresce{ display:flex; flex-direction:column; gap:2px; min-width:160px } .om-tops b{ font-size:.92em }
.om-de{ display:inline-flex; align-items:center; gap:6px } .om-seta{ color:var(--tx-3); display:inline-flex }
.om-lista li{ padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.om-t{ font-weight:650; font-size:.92em; line-height:1.4; overflow-wrap:anywhere }
.om-m{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 12px; margin-top:5px; font-size:.8em; color:var(--tx-2) } .om-m > span{ display:inline-flex; align-items:center; gap:5px }
.om-tempo{ font-variant-numeric:tabular-nums }
.om-mot{ margin-top:4px; font-size:.78em; color:var(--tx-3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.om-novas li{ display:flex; gap:10px; align-items:flex-start; border-color:color-mix(in srgb,var(--ok) 30%,var(--linha)) }
.om-mais{ width:26px; height:26px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ok-suave); color:var(--ok) }
.om-adiadas li{ border-style:dashed }

/* ---------- estudo extra: formulário e pertinência */
.xt-intro{ margin-bottom:6px; line-height:1.55 }
.xt-passo{ padding:14px 0 12px; border-top:1px solid var(--linha) } .xt-form > .xt-passo:first-of-type{ border-top:0 }
.xt-rot{ display:flex; align-items:center; gap:9px; margin-bottom:9px; font-size:.88em; font-weight:650; color:var(--tx) }
.xt-rot label{ color:inherit; font-weight:inherit }
.xt-n{ width:22px; height:22px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac-tx); font-size:.78em; font-weight:800 }
.xt-chips{ display:flex; flex-wrap:wrap; gap:6px }
.xt-c{ height:auto; min-height:40px; padding:0 14px; border-radius:20px }
@media (pointer:coarse){ .xt-c{ min-height:44px } }
.xt-c[aria-pressed="true"]{ background:var(--ac-forte); color:var(--on-fill); border-color:var(--ac-forte) }
.xt-dica{ display:block; margin-top:6px }
.xt-tempo{ display:flex; flex-wrap:wrap; align-items:center; gap:10px }
.xt-min{ position:relative; width:118px; flex:none } .xt-min .entrada{ padding-right:44px; font-weight:700; font-size:1.05em }
.xt-min span{ position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:.82em; color:var(--tx-3); pointer-events:none }
.xt-qd > summary{ cursor:pointer; list-style:none; margin-bottom:0 } .xt-qd > summary::-webkit-details-marker{ display:none }
.xt-qd[open] > summary{ margin-bottom:10px }
.xt-qc{ gap:10px }
.xt-fb{ display:flex; flex-direction:column; gap:14px }
.xt-fb-topo{ display:flex; align-items:center; gap:16px }
.xt-nota{ font-size:1.75em; font-weight:800; letter-spacing:-.02em }
.xt-ver{ font-size:1.45em; line-height:1.15; margin-top:4px }
.xt-fb.ok .xt-ver{ color:var(--ok-tx) } .xt-fb.azul .xt-ver{ color:var(--info) } .xt-fb.ate .xt-ver{ color:var(--ate) }
.chip.azul{ background:var(--info-suave); color:var(--info); border-color:transparent }
.xt-exp{ line-height:1.65 }
.xt-sug{ display:flex; gap:12px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:color-mix(in srgb,var(--ouro) 13%,var(--sup)); border:1px solid color-mix(in srgb,var(--ouro) 42%,transparent) }
.xt-sug-ic{ width:30px; height:30px; flex:none; border-radius:9px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--ouro) 22%,transparent); color:var(--ouro) }
.xt-sug p{ margin-top:3px; line-height:1.55; font-weight:600 }
.xt-fat{ border-radius:12px; border:1px solid var(--linha); padding:0 12px }
.xt-fat > summary{ min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; list-style:none; font-size:.86em; font-weight:650; color:var(--tx-2) }
.xt-fat > summary::-webkit-details-marker{ display:none }
.xt-fat ul{ list-style:none; margin:0 0 10px; padding:0 } .xt-fat li{ display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-top:1px solid var(--linha) }
.xt-fat li b{ font-size:.88em } .xt-fat li p{ font-size:.84em; color:var(--tx-2); line-height:1.5; margin-top:1px }
.xt-pts{ flex:none; min-width:40px; padding:3px 6px; border-radius:8px; text-align:center; font-weight:800; font-size:.84em; background:var(--sup-2); color:var(--tx-2) }
.xt-pts.pos{ background:var(--ok-suave); color:var(--ok-tx) } .xt-pts.neg{ background:var(--err-suave); color:var(--err-tx) }

/* ---------- atividade: ler, entender, executar */
.atv-chips{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-bottom:8px }
.atv-chips .chip{ height:22px; font-size:.74em; padding:0 8px } .atv-est{ display:inline-flex; align-items:center; padding:0 2px }
.atv-nivel{ margin-bottom:16px; padding:12px 14px; border-radius:16px; border:1px solid color-mix(in srgb,var(--nv) 36%,var(--linha));
  background:linear-gradient(120deg,color-mix(in srgb,var(--nv) 15%,var(--sup)),var(--sup) 88%) }
.an-l{ display:flex; gap:12px; align-items:center } .an-l p{ font-size:.92em; line-height:1.5 }
.an-l b{ color:color-mix(in srgb,var(--nv) 72%,var(--tx)) }
.an-ic{ width:36px; height:36px; flex:none; border-radius:11px; display:flex; align-items:center; justify-content:center; background:color-mix(in srgb,var(--nv) 18%,transparent) }
.an-ic .nv-bars i{ width:4px } .an-ic .nv-bars i:nth-child(1){ height:8px } .an-ic .nv-bars i:nth-child(2){ height:12px } .an-ic .nv-bars i:nth-child(3){ height:16px }
.an-aj{ display:inline-flex; align-items:center; gap:4px; color:var(--info); font-weight:650; white-space:nowrap } .an-aj .ic{ width:13px; height:13px }
.an-comp{ margin-top:10px; padding-top:8px; border-top:1px solid color-mix(in srgb,var(--nv) 20%,var(--linha)) }
.an-comp > summary{ cursor:pointer; font-size:.82em; font-weight:650; color:var(--tx-2); min-height:36px; display:flex; align-items:center; gap:8px; list-style:none }
.an-comp > summary::-webkit-details-marker{ display:none }
.an-comp ul{ list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:4px }
.an-comp li{ display:flex; align-items:center; gap:8px; padding:7px 10px; border-radius:10px; font-size:.84em; border:1px solid transparent }
.an-comp li .cresce{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--tx-2) } .an-comp li b{ flex:none; font-size:.95em }
.an-comp li.atual{ background:color-mix(in srgb,var(--nv) 10%,transparent); border-color:color-mix(in srgb,var(--nv) 30%,transparent) } .an-comp li.atual .cresce{ color:var(--tx) }
.atv-bloco{ margin-bottom:18px }
.ab-t{ display:flex; gap:10px; align-items:center; margin-bottom:12px } .ab-t h3{ margin:0; font-size:1.04em } .ab-t p{ margin-top:2px }
.ab-ic{ width:32px; height:32px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--ac-suave); color:var(--ac-tx); border:1px solid color-mix(in srgb,var(--ac) 22%,transparent) }
.atv-fazer .passos-como{ gap:12px } .atv-fazer .passos-como li{ font-size:.97em; line-height:1.5 }
.atv-fazer .passos-como li::before{ width:26px; height:26px; background:var(--ac-forte); color:var(--on-fill) }
.ab-orient{ margin-top:14px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px dashed var(--linha-2) }
.ab-orient .rotulo{ display:block; margin-bottom:3px } .ab-orient p{ font-size:.9em; line-height:1.55 }
.atv-pq{ margin-bottom:18px; padding:12px 14px; border-radius:14px; background:color-mix(in srgb,var(--fam) 8%,var(--sup)); border:1px solid color-mix(in srgb,var(--fam) 28%,var(--linha)) }
.atv-pq > .rotulo{ display:flex; align-items:center; gap:6px; color:color-mix(in srgb,var(--fam) 70%,var(--tx)) }
.pq-t{ margin-top:5px; line-height:1.55 }
.pq-ia{ display:flex; gap:10px; align-items:flex-start; margin-top:10px; padding-top:10px; border-top:1px solid color-mix(in srgb,var(--fam) 18%,var(--linha)) }
.pq-ia .gt-av{ width:28px; height:28px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#D9AE45,#E8C56A); color:#0C1222 }
.pq-ia p{ font-size:.87em; line-height:1.55; color:var(--tx-2) } .pq-ia b{ color:var(--tx) }
.atv-pq > .rotulo + .pq-ia{ border-top:0; padding-top:0; margin-top:8px }
.atv-fim{ display:flex; gap:12px; align-items:flex-start; margin:0 0 18px; padding:12px 14px; border-radius:14px; background:var(--ok-suave); border:1px solid color-mix(in srgb,var(--ok) 30%,transparent) }
.atv-fim p{ margin-top:2px; line-height:1.5; font-weight:600 } .atv-fim .rotulo{ color:var(--ok-tx) }
.af-ic{ width:28px; height:28px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ok); color:var(--on-fill) }
.atv-mais{ margin-top:18px; border:1px solid var(--linha); border-radius:14px; background:var(--sup) }
.atv-mais > summary{ display:flex; align-items:center; gap:8px; min-height:48px; padding:10px 14px; cursor:pointer; list-style:none; font-size:.92em }
.atv-mais > summary::-webkit-details-marker{ display:none }
.am-seta{ color:var(--tx-3); transition:transform .2s } details[open] > summary .am-seta{ transform:rotate(180deg) }
.atv-mais-c{ padding:2px 14px 14px; display:flex; flex-direction:column; gap:12px } .atv-mais-c > *{ margin:0 !important }

/* ---------- nível de partida (onboarding) */
.onb{ position:relative; margin-bottom:14px; padding:20px; border-radius:var(--r-3); box-shadow:var(--sombra);
  background:radial-gradient(110% 130% at 0% 0%,color-mix(in srgb,var(--ouro) 16%,transparent),transparent 55%),radial-gradient(90% 120% at 100% 100%,color-mix(in srgb,var(--marca-eletrico) 14%,transparent),transparent 60%),var(--sup);
  border:1px solid color-mix(in srgb,var(--ouro) 42%,var(--linha)) }
.onb-cab{ display:flex; gap:14px; align-items:center; margin-bottom:14px } .onb-cab h2{ font-size:1.3em; margin-top:2px }
.onb-ic{ width:50px; height:50px; flex:none; border-radius:15px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--marca-azul),var(--marca-azul-2)); color:var(--marca-ouro); border:1px solid color-mix(in srgb,var(--marca-ouro) 40%,transparent) }
.onb-ops{ display:grid; grid-template-columns:1fr; gap:10px }
@media (min-width:1000px){ .onb .onb-ops{ grid-template-columns:repeat(3,minmax(0,1fr)) } }
.onb-op{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:14px; width:100%; min-height:68px; padding:14px 16px; border-radius:16px; text-align:left; color:var(--tx);
  background:var(--fundo-2); border:1.5px solid var(--linha-2); transition:border-color .15s, box-shadow .15s, background .15s }
.onb-op:hover{ border-color:color-mix(in srgb,var(--nv) 55%,var(--linha-2)) }
.onb-op .nv-bars{ gap:2px } .onb-op .nv-bars i{ width:5px } .onb-op .nv-bars i:nth-child(1){ height:10px } .onb-op .nv-bars i:nth-child(2){ height:16px } .onb-op .nv-bars i:nth-child(3){ height:22px }
.onb-op-t{ display:flex; flex-direction:column; gap:2px; min-width:0 } .onb-op-t b{ font-size:1.02em } .onb-op-t span{ font-size:.85em; color:var(--tx-2); line-height:1.4 }
.onb-marca{ width:26px; height:26px; flex:none; border-radius:50%; border:1.5px solid var(--linha-2); display:flex; align-items:center; justify-content:center; color:transparent }
.onb-op[aria-checked="true"]{ border-color:var(--nv); background:color-mix(in srgb,var(--nv) 12%,var(--fundo-2)); box-shadow:0 0 0 3px color-mix(in srgb,var(--nv) 20%,transparent) }
.onb-op[aria-checked="true"] .onb-marca{ background:var(--nv); border-color:var(--nv); color:var(--on-fill) }
:root[data-tema="manha"] .onb-op.n-ava[aria-checked="true"] .onb-marca{ color:#fff }
.onb-apoio{ display:flex; gap:8px; align-items:flex-start; margin-top:12px; font-size:.85em; line-height:1.5; color:var(--tx-2) } .onb-apoio .ic{ margin-top:2px; flex:none; color:var(--info) }
.onb-rod{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:14px }
.onb-ok{ min-width:220px }
@media (max-width:560px){ .onb{ padding:16px } .onb-rod{ flex-direction:column-reverse; align-items:stretch } .onb-ok{ width:100% } }
.onb-discs{ margin-top:14px; border:1px solid var(--linha); border-radius:14px }
.onb-discs > summary{ display:flex; align-items:center; gap:8px; min-height:48px; padding:10px 14px; cursor:pointer; list-style:none; font-size:.92em } .onb-discs > summary::-webkit-details-marker{ display:none }
.onb-discs-c{ padding:0 14px 12px }
.onb-disc{ display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid var(--linha) }
.onb-disc-n{ display:flex; align-items:center; gap:8px; min-width:0 } .onb-disc-n span{ font-size:.88em; line-height:1.3 } .onb-disc.proprio .onb-disc-n span{ font-weight:700 }
.onb-seg{ flex:none } .onb-seg button{ padding:8px 10px; min-width:58px }
.onb-seg button[aria-pressed="true"]{ background:color-mix(in srgb,var(--nv) 22%,var(--sup-3)); color:color-mix(in srgb,var(--nv) 62%,var(--tx)); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nv) 50%,transparent) }
@media (max-width:460px){ .onb-disc{ flex-wrap:wrap } .onb-seg{ width:100% } .onb-seg button{ flex:1 } }

/* ---------- Início: atualizar e estudo extra */
.ini-extra{ margin-top:14px; display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:16px; background:var(--sup); border:1px dashed color-mix(in srgb,var(--ouro) 50%,var(--linha)) }
.ie-ic{ width:38px; height:38px; flex:none; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--ouro-suave); color:var(--ouro) }
.ini-extra .cresce{ display:flex; flex-direction:column; gap:2px } .ini-extra b{ font-size:.95em }
@media (max-width:420px){ .ini-extra{ flex-wrap:wrap } .ini-extra .bt{ width:100% } }

/* ---------- teste de nível adaptativo */
.tn-cab{ display:flex; flex-direction:column; gap:8px }
.tn-prec{ display:flex; align-items:center; gap:10px } .tn-prec .barra{ flex:1 } .tn-prec-r{ display:inline-flex; align-items:center; gap:4px; white-space:nowrap; color:var(--tx-2) }
.tn-prec .info{ width:18px; height:18px; font-size:11px }
.tn-encerrar{ min-height:32px; padding:0; color:var(--ac-tx); font-size:.84em; font-weight:700; text-decoration:underline; text-underline-offset:3px }
.tn-espera{ position:fixed; left:50%; bottom:calc(84px + var(--seg-b)); transform:translateX(-50%); z-index:75; display:flex; align-items:center; gap:10px; padding:10px 18px; border-radius:999px;
  background:var(--sup-3); border:1px solid var(--linha-2); box-shadow:var(--sombra-2); font-weight:650; font-size:.9em; white-space:nowrap; animation:aparecer .2s ease }
.tn-giro{ width:18px; height:18px; flex:none; border-radius:50%; border:2.5px solid color-mix(in srgb,var(--ac) 28%,transparent); border-top-color:var(--ac); animation:procGira .8s linear infinite }
.tn-ocupado .alts,.tn-ocupado .confianca,.tn-ocupado .q-enun{ opacity:.55; pointer-events:none; transition:opacity .2s }
.tn-fim{ display:flex; flex-direction:column; gap:16px }
.tn-res{ text-align:center; padding:20px 16px 18px; border-radius:20px; border:1px solid color-mix(in srgb,var(--nv) 36%,var(--linha));
  background:radial-gradient(90% 120% at 50% 0%,color-mix(in srgb,var(--nv) 18%,transparent),transparent 70%),var(--sup) }
.tn-nivel{ display:flex; align-items:center; justify-content:center; gap:12px; margin:8px 0 6px }
.tn-nivel .nv-bars{ gap:3px } .tn-nivel .nv-bars i{ width:7px; border-radius:2px } .tn-nivel .nv-bars i:nth-child(1){ height:14px } .tn-nivel .nv-bars i:nth-child(2){ height:22px } .tn-nivel .nv-bars i:nth-child(3){ height:30px }
.tn-nivel h1{ font-size:2.05em; color:color-mix(in srgb,var(--nv) 70%,var(--tx)) }
.tn-conf{ font-size:.9em; color:var(--tx-2); margin-bottom:14px; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap }
.tn-probs{ display:flex; gap:3px; height:14px; border-radius:7px; overflow:hidden; background:var(--sup-3); max-width:520px; margin:0 auto }
.tn-probs i{ display:block; height:100%; background:var(--nv); min-width:0 } .tn-probs i:first-child{ border-radius:7px 0 0 7px } .tn-probs i:last-child{ border-radius:0 7px 7px 0 }
.tn-leg{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 16px; margin-top:10px; font-size:.84em; color:var(--tx-2) }
.tn-leg span{ display:inline-flex; align-items:center; gap:6px } .tn-leg i{ width:10px; height:10px; border-radius:3px; background:var(--nv) } .tn-leg span.on{ color:var(--tx); font-weight:700 }
.tn-obs{ margin-top:10px }
.tn-sug{ display:flex; gap:14px; align-items:flex-start; padding:14px 16px; border-radius:16px; background:linear-gradient(120deg,color-mix(in srgb,var(--ac) 14%,var(--sup)),var(--sup) 88%); border:1px solid color-mix(in srgb,var(--ac) 36%,var(--linha)) }
.tn-sug p{ margin:4px 0 10px; line-height:1.55; font-size:.93em }
.tn-caminho h3{ margin-bottom:8px } .tn-caminho > p{ margin-bottom:12px; line-height:1.55 }

/* ---------- linha de base (primeira meta) */
.lb-discs{ display:flex; flex-direction:column; gap:10px }
.lb-disc{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.lb-d-cab{ display:flex; align-items:center; gap:8px; flex-wrap:wrap } .lb-d-cab b{ font-size:.94em; min-width:120px }
.lb-d-num{ display:flex; flex-wrap:wrap; gap:4px 16px; margin:8px 0 7px; font-size:.86em; color:var(--tx-2) } .lb-d-num b{ color:var(--tx); font-size:1.05em }
.lb-ac.ok b{ color:var(--ok-tx) } .lb-ac.ac b{ color:var(--ac-tx) } .lb-ac.ate b{ color:var(--ate) }
.lb-barra.ok > i{ background:var(--ok) } .lb-barra.ac > i{ background:var(--ac) } .lb-barra.ate > i{ background:var(--ate) }
.lb-fracos{ margin-top:7px; line-height:1.45 }

/* ---------- Instruções: o ciclo de cada assunto */
.ins-ciclo{ list-style:none; counter-reset:ci; margin:0; padding:0; display:grid; gap:8px; grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr)) }
.ins-ciclo li{ counter-increment:ci; position:relative; display:flex; flex-direction:column; gap:2px; padding:10px 12px 10px 42px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.ins-ciclo li::before{ content:counter(ci); position:absolute; left:11px; top:11px; width:22px; height:22px; border-radius:50%; background:var(--ouro-suave); color:var(--ouro); font-weight:800; font-size:.76em; display:flex; align-items:center; justify-content:center }
.ins-ciclo b{ font-size:.9em; line-height:1.3 } .ins-ciclo span{ font-size:.8em; color:var(--tx-2); line-height:1.35 }
/* ================================================================== rodada 12 · identidade premium (v1.5)
   Marfim + safira + ouro sobre o céu. Duas vozes: OURO = do aluno (metas, avanço, conquistas);
   AZUL = da Nomeia_iA (leituras, decisões, recomendações). "O azul se move, o ouro confirma."
   Cor com propósito: cada área tem o seu tom (ícones, faixas finas, tintas suaves) — nada de néon. */

/* ---------- marca vetorial (logotipo premium) */
:root{
  --wm-n1:#FFFDF6; --wm-n2:#E3DAC6; --wm-i1:#CFE0FF; --wm-i2:#6E9BFF; --wm-s1:#FFFFFF; --wm-s2:#E6EEFF; --wm-s3:#9DBCFF; --wm-sh:#8FB4FF; --wm-tag:#E8C56A;
  --area:var(--c-sinal);
}
:root[data-tema="manha"]{ --wm-n1:#1B2540; --wm-n2:#0C1222; --wm-i1:#5C8BF0; --wm-i2:#2457C4; --wm-s1:#8FB4FF; --wm-s2:#4C7FEA; --wm-s3:#2457C4; --wm-sh:#2B62D9; --wm-tag:#8A5E00 }
/* superfícies que são sempre escuras (abertura, login, momentos da IA) usam a marca escura nos dois temas */
.sempre-escuro{ --wm-n1:#FFFDF6; --wm-n2:#E3DAC6; --wm-i1:#CFE0FF; --wm-i2:#6E9BFF; --wm-s1:#FFFFFF; --wm-s2:#E6EEFF; --wm-s3:#9DBCFF; --wm-sh:#8FB4FF; --wm-tag:#E8C56A }
.logo-svg{ display:block; width:100%; height:auto; overflow:visible }
.logo-svg .wm-faisca{ transform-box:fill-box; transform-origin:center; animation:wmFaisca 4.8s ease-in-out infinite }
.logo-svg .wm-halo{ opacity:.9; transform-box:fill-box; transform-origin:center; animation:wmHalo 4.8s ease-in-out infinite }
@keyframes wmFaisca{ 0%,100%{ transform:scale(1) } 46%{ transform:scale(1) } 52%{ transform:scale(1.14) rotate(8deg) } 60%{ transform:scale(.96) } 68%{ transform:scale(1) } }
@keyframes wmHalo{ 0%,100%{ opacity:.55 } 52%{ opacity:1 } }
:root[data-tema="manha"] .logo-svg .wm-halo{ opacity:.35 }

/* ---------- área atual: cada janela tem o seu tom (ícone do menu, cabeçalho, luz de fundo) */
:root[data-area="inicio"]{ --area:var(--c-ouro) } :root[data-area="metas"]{ --area:var(--c-ambar) } :root[data-area="planejamento"]{ --area:var(--c-lilas) }
:root[data-area="desempenho"]{ --area:var(--c-aqua) } :root[data-area="revisoes"]{ --area:var(--c-aurora) } :root[data-area="cards"]{ --area:var(--c-rosa) }
:root[data-area="erros"]{ --area:var(--c-coral) } :root[data-area="veredito"],:root[data-area="assistente"],:root[data-area="mensagens"]{ --area:var(--c-sinal) }
:root[data-area="historico"]{ --area:var(--c-gelo) } :root[data-area="conquistas"]{ --area:var(--c-ouro) } :root[data-area="mentor"]{ --area:var(--c-lilas) }

/* ---------- base */
body{ font-feature-settings:"tnum" 0; background:var(--fundo) }
::selection{ background:color-mix(in srgb,var(--ia) 34%,transparent); color:var(--tx) }
/* luz ambiente: céu com grade de pontos e dois brilhos suaves (azul da IA e ouro do aluno) + o tom da área */
body::before{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(60% 45% at 100% 0%, color-mix(in srgb,var(--area) 13%,transparent) 0%, transparent 70%),
    radial-gradient(55% 40% at 0% 0%, rgba(143,180,255,.10) 0%, transparent 70%),
    radial-gradient(50% 40% at 0% 100%, rgba(183,163,255,.07) 0%, transparent 70%),
    radial-gradient(45% 35% at 100% 100%, rgba(232,197,106,.06) 0%, transparent 70%);
  transition:background .6s ease }
body::after{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.55;
  background-image:radial-gradient(rgba(143,170,230,.10) 1px, transparent 1.3px); background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 40%,transparent 75%); mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.35) 40%,transparent 75%) }
:root[data-tema="manha"] body::before{ background:
    radial-gradient(60% 45% at 100% 0%, color-mix(in srgb,var(--area) 10%,transparent) 0%, transparent 70%),
    radial-gradient(55% 40% at 0% 0%, rgba(43,98,217,.07) 0%, transparent 70%),
    radial-gradient(45% 35% at 100% 100%, rgba(201,150,42,.08) 0%, transparent 70%) }
:root[data-tema="manha"] body::after{ background-image:radial-gradient(rgba(12,18,34,.07) 1px, transparent 1.3px) }
h1,h2,h3{ font-optical-sizing:auto }
h1{ font-weight:800; letter-spacing:-.025em }
h2{ font-weight:700; letter-spacing:-.015em }
.num,.kpi .v,.ik-v,.mk b{ font-variant-numeric:tabular-nums }
.rotulo{ font-family:var(--f-mono); font-size:.68em; font-weight:500; letter-spacing:.12em; color:var(--tx-3) }
.mono{ font-family:var(--f-mono); font-variant-numeric:tabular-nums }
a{ color:var(--ia-tx) }
:focus-visible{ outline:2px solid var(--ia); outline-offset:2px }
.ouro-tx{ color:var(--ouro-tx) } .ia-tx{ color:var(--ia-tx) } .ok-tx{ color:var(--ok-tx) } .err-tx{ color:var(--err-tx) }
b.ouro,strong.ouro{ color:var(--ouro-tx); font-weight:750 } b.ia,strong.ia{ color:var(--ia-tx); font-weight:750 }
/* barra de rolagem discreta (computador) */
@media (min-width:900px){ *{ scrollbar-width:thin; scrollbar-color:var(--sup-4) transparent } }

/* ---------- casca: menu lateral (computador) */
@media (min-width:900px){
  .lateral{ width:252px; padding:20px 14px 16px; gap:2px; background:color-mix(in srgb,var(--fundo-2) 88%,transparent); border-right:1px solid var(--linha);
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); overflow-y:auto; scrollbar-width:none }
  .lateral::-webkit-scrollbar{ display:none }
  .lateral button{ gap:12px; padding:9px 12px; border-radius:12px; font-weight:600; font-size:.95em; color:var(--tx-2); transition:background .15s, color .15s }
  .lateral button .ic{ color:color-mix(in srgb,var(--nav-c,var(--tx-3)) 88%,var(--tx-2)); transition:transform .2s }
  .lateral button:hover{ background:var(--sup); color:var(--tx) }
  .lateral button:hover .ic{ transform:scale(1.06) }
  .lateral button[aria-current="page"]{ background:color-mix(in srgb,var(--nav-c,var(--ia)) 13%,var(--sup)); color:var(--tx);
    box-shadow:inset 3px 0 0 var(--nav-c,var(--ia)),inset 0 0 0 1px color-mix(in srgb,var(--nav-c,var(--ia)) 22%,transparent) }
  .lateral button[aria-current="page"] .ic{ color:var(--nav-c,var(--ia)) }
  .lateral .sep{ margin:10px 8px; background:var(--linha) }
  .lateral .rodape{ padding:12px 10px 0; font-family:var(--f-mono); font-size:.66em; letter-spacing:.06em; color:var(--tx-3) }
  .topo .marca{ display:none }
}
[data-rota="inicio"]{ --nav-c:var(--c-ouro) } [data-rota="metas"]{ --nav-c:var(--c-ambar) } [data-rota="planejamento"]{ --nav-c:var(--c-lilas) }
[data-rota="desempenho"],[data-rota="analises"]{ --nav-c:var(--c-aqua) } [data-rota="revisoes"]{ --nav-c:var(--c-aurora) } [data-rota="cards"]{ --nav-c:var(--c-rosa) }
[data-rota="erros"]{ --nav-c:var(--c-coral) } [data-rota="veredito"],[data-rota="mensagens"]{ --nav-c:var(--c-sinal) } [data-rota="historico"]{ --nav-c:var(--c-gelo) }
[data-rota="conquistas"]{ --nav-c:var(--c-ouro) } [data-rota="mentor"]{ --nav-c:var(--c-lilas) } [data-rota="ajustes"],[data-rota="mais"]{ --nav-c:var(--nevoa-2) }
.marca-lat{ margin:0 2px 16px; padding:6px 8px 4px; border-radius:0; background:none!important; box-shadow:none!important }
.marca-lat .logo-svg{ width:178px }
.badge{ min-width:20px; height:19px; padding:0 6px; border-radius:7px; font-family:var(--f-mono); font-size:.66rem; font-weight:600; background:var(--sup-3); color:var(--tx-2); border:1px solid var(--linha) }
.badge.alerta,[data-badge="erros"],[data-badge="mensagens"]{ background:var(--err-suave); color:var(--err-tx); border-color:color-mix(in srgb,var(--err) 30%,transparent) }
.badge.ac{ background:var(--ia-suave); color:var(--ia-tx); border-color:var(--ia-borda) }
.lateral .badge{ margin-left:auto }
/* presença da Nomeia_iA no menu: "lendo agora" */
.ia-presenca{ display:flex; align-items:center; gap:11px; margin:6px 0 4px; padding:11px 12px!important; border-radius:14px!important; text-align:left;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ia) 16%,var(--sup)) 0%,var(--sup) 80%)!important; border:1px solid var(--ia-borda)!important; color:var(--tx)!important; position:relative; overflow:hidden }
.ia-presenca::after{ content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 30%,rgba(143,180,255,.14) 50%,transparent 70%); transform:translateX(-100%); animation:iaScanX 5.5s ease-in-out infinite }
.ia-presenca b{ display:block; font-size:.95em; line-height:1.2 }
.ia-presenca .ip-st{ display:flex; align-items:center; gap:6px; font-family:var(--f-mono); font-size:.66em; letter-spacing:.04em; color:var(--ia-tx) }
.ia-presenca .ip-av{ width:32px; height:32px; flex:none; border-radius:10px; display:flex; align-items:center; justify-content:center; background:var(--ceu); border:1px solid var(--ia-borda); color:var(--sinal); position:relative }
.ia-presenca .ip-av::before{ content:""; position:absolute; inset:-5px; border-radius:14px; background:radial-gradient(circle,rgba(143,180,255,.35),transparent 70%); animation:iaAura 3.6s ease-in-out infinite; z-index:-1 }
@keyframes iaScanX{ 0%,55%{ transform:translateX(-100%) } 85%,100%{ transform:translateX(100%) } }
/* usuário no pé do menu */
.eu-card{ display:flex; align-items:center; gap:11px; margin-top:8px; padding:10px 12px!important; border-radius:14px!important; background:var(--sup)!important; border:1px solid var(--linha)!important; text-align:left; color:var(--tx)!important }
.eu-card b{ display:block; font-size:.92em; line-height:1.2 } .eu-card .mono{ font-size:.66em; color:var(--ouro-tx); letter-spacing:.03em }
.avatar{ background:var(--ceu); color:var(--ouro-m); border:1.5px solid color-mix(in srgb,var(--ouro-m) 70%,transparent); box-shadow:0 0 0 3px color-mix(in srgb,var(--ouro-m) 12%,transparent); font-family:var(--f-disp); font-weight:800 }

/* ---------- casca: topo (celular) e navegação inferior */
header.topo{ gap:10px; background:color-mix(in srgb,var(--fundo) 78%,transparent); backdrop-filter:saturate(1.5) blur(16px); -webkit-backdrop-filter:saturate(1.5) blur(16px) }
.topo .titulo{ font-family:var(--f-disp); font-weight:750; font-size:1.12em; letter-spacing:-.01em }
.marca img{ width:32px; height:32px; border-radius:9px; box-shadow:0 4px 14px rgba(3,5,12,.45) }
.chip-topo{ height:30px; padding:0 10px; border-radius:10px; gap:6px; font-family:var(--f-mono); font-weight:500; font-size:.76em; background:var(--sup); border:1px solid var(--linha) }
.chip-topo.fogo{ color:var(--ouro-tx); border-color:var(--ouro-borda); background:var(--ouro-suave) } .chip-topo.fogo .ic{ color:var(--ouro) }
.chip-topo.xp .ic{ color:var(--ouro) }
.chip-topo.ia{ color:var(--ia-tx); border-color:var(--ia-borda); background:var(--ia-suave) }
.ponto-vivo{ width:7px; height:7px; flex:none; border-radius:50%; background:var(--ia); box-shadow:0 0 0 0 rgba(143,180,255,.6); animation:pontoVivo 2.4s ease-out infinite }
@keyframes pontoVivo{ 0%{ box-shadow:0 0 0 0 rgba(143,180,255,.55) } 70%{ box-shadow:0 0 0 7px rgba(143,180,255,0) } 100%{ box-shadow:0 0 0 0 rgba(143,180,255,0) } }
.nav-inf{ background:color-mix(in srgb,var(--fundo-2) 86%,transparent); backdrop-filter:saturate(1.5) blur(18px); -webkit-backdrop-filter:saturate(1.5) blur(18px); border-top:1px solid var(--linha) }
.nav-inf button{ font-size:.7em; font-weight:650; color:var(--tx-3); gap:4px }
.nav-inf button .ic{ width:22px; height:22px; transition:transform .2s ease }
.nav-inf button[aria-current="page"]{ color:var(--tx) }
.nav-inf button[aria-current="page"] .ic{ color:var(--nav-c,var(--ia)); transform:translateY(-1px) }
.nav-inf button[aria-current="page"]::before{ content:""; position:absolute; top:0; left:50%; width:28px; height:3px; margin-left:-14px; border-radius:0 0 3px 3px; background:var(--nav-c,var(--ia)); box-shadow:0 0 12px color-mix(in srgb,var(--nav-c,var(--ia)) 60%,transparent) }
.nav-inf .badge{ top:6px }
/* menu lateral mais compacto (cabe em 768 px de altura) e cartão do aluno com "sair" ao lado */
@media (min-width:900px){
  .lateral{ padding:16px 12px 12px }
  .lateral button{ padding:7px 11px; font-size:.93em }
  .marca-lat{ margin:0 2px 10px }
  .lateral .sep{ margin:7px 8px }
  .ia-presenca{ margin:4px 0 2px }
}
.eu-lin{ display:flex; align-items:stretch; gap:6px; margin-top:8px }
.eu-lin .eu-card{ flex:1; min-width:0; margin:0 }
.eu-sair{ width:42px; flex:none; display:flex!important; align-items:center; justify-content:center; padding:0!important; border-radius:14px!important; background:var(--sup)!important; border:1px solid var(--linha)!important; color:var(--tx-3)!important }
.eu-sair:hover{ color:var(--err-tx)!important; border-color:color-mix(in srgb,var(--err) 35%,transparent)!important }

/* ---------- cartões: céu 2 com filete de luz no topo; "tons" dão cor com elegância */
.bloco{ border-radius:var(--r); background:linear-gradient(180deg,color-mix(in srgb,var(--sup) 94%,#fff 6%) 0%,var(--sup) 42px); border:1px solid var(--linha); box-shadow:var(--sombra) }
:root[data-tema="manha"] .bloco{ background:var(--sup) }
.bloco-t h2,.bloco-t h3{ font-family:var(--f-disp); font-weight:700; letter-spacing:-.012em }
.bloco-t .rotulo{ flex:none }
[class*="tom-"]{ --tom-s:color-mix(in srgb,var(--tom) 13%,transparent) }
.tom-ia{ --tom:var(--ia) } .tom-ouro{ --tom:var(--ouro) } .tom-ok{ --tom:var(--ok) } .tom-coral{ --tom:var(--c-coral) } .tom-lilas{ --tom:var(--c-lilas) }
.tom-aqua{ --tom:var(--c-aqua) } .tom-ambar{ --tom:var(--c-ambar) } .tom-rosa{ --tom:var(--c-rosa) } .tom-gelo{ --tom:var(--c-gelo) }
.bloco[class*="tom-"],.cartao[class*="tom-"]{ position:relative; overflow:hidden; border-color:color-mix(in srgb,var(--tom) 26%,var(--linha));
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--tom) 11%,transparent) 0%,transparent 55%),var(--sup) }
.bloco[class*="tom-"]::before,.cartao[class*="tom-"]::before{ content:""; position:absolute; left:0; right:0; top:0; height:2px; background:linear-gradient(90deg,var(--tom),color-mix(in srgb,var(--tom) 0%,transparent) 85%); opacity:.9 }
.ic-tile{ width:36px; height:36px; flex:none; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; color:var(--tom,var(--ia));
  background:linear-gradient(145deg,color-mix(in srgb,var(--tom,var(--ia)) 26%,transparent),color-mix(in srgb,var(--tom,var(--ia)) 10%,transparent)); border:1px solid color-mix(in srgb,var(--tom,var(--ia)) 30%,transparent) }
.ic-tile .ic{ width:19px; height:19px }

/* ---------- botões: ação do aluno em OURO; ação da IA em AZUL; sem cromo */
.bt{ min-height:46px; padding:6px 20px; border-radius:13px; font-weight:750; letter-spacing:.005em; background:var(--ouro); color:#1A1405;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 22px -10px color-mix(in srgb,var(--ouro) 70%,transparent); transition:transform .12s ease, filter .15s ease, box-shadow .15s ease }
.bt:hover{ filter:brightness(1.05) } .bt:active{ transform:scale(.985) }
:root[data-tema="manha"] .bt:not(.b2):not(.fant):not(.ia):not(.ok):not(.perigo):not(.err-bt){ background:#E0B24A; color:#1A1405 }
.bt.ia{ background:var(--ia); color:#07122B; box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 22px -10px color-mix(in srgb,var(--ia) 75%,transparent) }
:root[data-tema="manha"] .bt.ia{ background:var(--ia); color:#fff }
.bt.b2{ background:var(--sup-2); color:var(--tx); border:1px solid var(--linha-2); box-shadow:none }
.bt.b2:hover{ background:var(--sup-3); filter:none }
.bt.fant{ background:transparent; color:var(--tx-2); box-shadow:none } .bt.fant:hover{ background:var(--sup-2); color:var(--tx) }
.bt.ok{ background:var(--ok); color:var(--on-fill); box-shadow:none } .bt.perigo{ background:var(--err); color:var(--on-fill); box-shadow:none }
.bt.peq{ min-height:36px; padding:0 13px; border-radius:10px; font-size:.86em }
.bt-ouro{ background:var(--ouro)!important; color:#1A1405!important }
.bt-ic:hover{ background:var(--sup-2) }
.bt[disabled]{ opacity:.45; filter:saturate(.6) }

/* ---------- chips, etiquetas de telemetria, segmentos, campos */
.chip{ border-radius:9px; font-weight:650 }
.chip.ouro{ color:var(--ouro-tx) } .chip.ate{ color:var(--ate-tx) } .chip.info{ color:var(--ia-tx) }
.tag{ display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 8px; border-radius:6px; font-family:var(--f-mono); font-size:.66em; font-weight:500; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap;
  background:color-mix(in srgb,var(--tg,var(--tx-3)) 14%,transparent); color:color-mix(in srgb,var(--tg,var(--tx-2)) 85%,var(--tx)); border:1px solid color-mix(in srgb,var(--tg,var(--tx-3)) 26%,transparent) }
.tag.ia{ --tg:var(--ia) } .tag.ouro{ --tg:var(--ouro) } .tag.ok{ --tg:var(--ok) } .tag.err{ --tg:var(--err) } .tag.ate{ --tg:var(--ate) } .tag.lilas{ --tg:var(--c-lilas) } .tag.aqua{ --tg:var(--c-aqua) }
:root[data-tema="manha"] .tag{ color:color-mix(in srgb,var(--tg,var(--tx-2)) 92%,#000) }
.tag .ic{ width:12px; height:12px }
.seg{ background:var(--fundo-2); border-radius:13px }
.seg button[aria-pressed="true"]{ background:var(--sup-3); color:var(--tx); box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 2px 8px rgba(0,0,0,.18) }
:root[data-tema="manha"] .seg button[aria-pressed="true"]{ background:var(--sup); box-shadow:0 1px 3px rgba(12,18,34,.12) }
.entrada,select.entrada,textarea.entrada{ border-radius:12px; background:var(--fundo-2); border-color:var(--linha-2) }
.entrada:focus{ border-color:var(--ia); box-shadow:0 0 0 3px var(--ia-suave) }
.campo label,.campo .rot{ color:var(--tx-2) }

/* ---------- progresso: barras e anéis (o aluno avança em ouro; a IA lê em azul) */
.barra{ height:8px; border-radius:6px; background:color-mix(in srgb,var(--sup-3) 80%,transparent) }
.barra > i{ border-radius:6px; background:var(--ouro) }
.barra.ouro > i{ background:var(--ouro) } .barra.tq > i,.barra.ok > i{ background:var(--ok) } .barra.ia > i{ background:var(--ia) } .barra.coral > i{ background:var(--c-coral) }
.barra.fina{ height:6px }
.anel svg circle:first-child{ stroke:color-mix(in srgb,var(--sup-3) 85%,transparent) }
.anel .centro b{ font-family:var(--f-disp); font-weight:800; letter-spacing:-.02em }
.kpi .v{ font-family:var(--f-disp); font-weight:800; letter-spacing:-.025em }
.kpi .r{ color:var(--tx-2) }

/* ---------- cabeçalho das janelas: ícone no tom da área */
.pag-cab{ gap:14px; margin-bottom:18px }
.pag-cab h1{ font-size:1.7em; letter-spacing:-.03em }
.pag-ic{ width:48px; height:48px; border-radius:15px; color:var(--area); background:linear-gradient(145deg,color-mix(in srgb,var(--area) 26%,var(--sup)),color-mix(in srgb,var(--area) 8%,var(--sup)));
  border:1px solid color-mix(in srgb,var(--area) 36%,transparent); box-shadow:0 10px 28px -12px color-mix(in srgb,var(--area) 60%,transparent) }
.pag-ic .ic{ width:23px; height:23px }

/* ---------- folhas (bottom sheet / janela) */
.veu{ background:rgba(4,7,15,.62); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px) }
.folha{ background:var(--sup); border-color:var(--linha-2); border-radius:24px 24px 0 0 }
@media (min-width:760px){ .folha{ border-radius:24px } }
.folha .f-cab h2{ font-family:var(--f-disp); font-weight:750 }
.folha .alca{ background:var(--sup-4) }

/* ---------- blocos de apoio */
.material{ border-radius:14px; background:var(--fundo-2) }
.material .mi{ border-radius:11px; background:var(--sup-2); color:var(--tx-2) }
.material.destaque{ border-color:var(--ia-borda); background:linear-gradient(100deg,var(--ia-suave),var(--fundo-2) 70%) }
.material.destaque .mi{ background:var(--ia); color:#07122B }
:root[data-tema="manha"] .material.destaque .mi{ color:#fff }
.aviso{ border-radius:14px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 22%,transparent) }
.aviso .ic{ color:var(--ia) }
.aviso.ate{ background:var(--ate-suave); border-color:color-mix(in srgb,var(--ate) 26%,transparent) } .aviso.ate .ic{ color:var(--ate) }
.aviso.ok{ background:var(--ok-suave); border-color:color-mix(in srgb,var(--ok) 26%,transparent) } .aviso.ok .ic{ color:var(--ok) }
.toast{ border-radius:14px; background:color-mix(in srgb,var(--sup-3) 92%,transparent); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px) }
.toast.xp{ border-color:var(--ouro-borda) } .toast.xp .ic{ color:var(--ouro) }
.esq{ background:linear-gradient(90deg,var(--sup) 0%,color-mix(in srgb,var(--sup-2) 70%,var(--ia) 4%) 50%,var(--sup) 100%); background-size:200% 100% }
#barra-rede::after{ background:linear-gradient(90deg,transparent,var(--ia),var(--ouro),transparent) }
.info{ font:600 11px/1 var(--f-mono); border-color:var(--linha-2) }
.info:hover,.info[aria-expanded="true"]{ color:var(--ia-tx); border-color:var(--ia) }
.pop{ border-radius:14px; background:color-mix(in srgb,var(--sup-3) 96%,transparent); backdrop-filter:blur(10px) }
.pop b{ color:var(--ia-tx) }
.sig{ border-radius:7px; font-family:var(--f-mono); font-weight:600; font-size:.66em; letter-spacing:.06em }

/* ---------- linguagem visual da IA: aura · leitura (scan) · vidro sobre pontos · gráfico que se desenha ·
   anéis que sobem · frase a frase com cursor · faísca que pisca · confirmação em ouro que nunca pisca */
.faisca{ width:18px; height:18px; flex:none; color:var(--ia); overflow:visible; animation:faiscaPisca 3.6s ease-in-out infinite; transform-origin:center }
.faisca.g{ width:22px; height:22px } .faisca.p{ width:14px; height:14px }
@keyframes faiscaPisca{ 0%,70%,100%{ transform:scale(1); opacity:1 } 78%{ transform:scale(1.22) rotate(10deg); opacity:.75 } 86%{ transform:scale(.94); opacity:1 } }
/* rótulo de voz da IA: ● NOMEIA_IA · LEITURA DE HOJE */
.ia-rot{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:.68em; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ia-tx) }
.ia-rot .hora{ margin-left:auto; color:var(--tx-3); letter-spacing:.06em }
.aluno-rot{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:.68em; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ouro-tx) }
.aluno-rot::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--ouro) }
/* caixa da voz da IA ("Por que agora", leituras, explicações) */
.ia-voz{ position:relative; display:flex; gap:11px; align-items:flex-start; padding:12px 14px; border-radius:14px; line-height:1.55; font-size:.93em;
  background:linear-gradient(135deg,color-mix(in srgb,var(--ia) 12%,var(--sup)) 0%,color-mix(in srgb,var(--ia) 5%,var(--sup)) 100%); border:1px solid var(--ia-borda); color:var(--tx) }
.ia-voz > .faisca{ margin-top:2px }
.ia-voz b.ia-l,.ia-voz .ia-l{ color:var(--ia-tx); font-weight:750 }
.ia-voz b{ color:var(--tx) } .ia-voz .ouro{ color:var(--ouro-tx); font-weight:750 }
.ia-voz.suave{ background:color-mix(in srgb,var(--ia) 6%,transparent); border-color:color-mix(in srgb,var(--ia) 20%,transparent) }
/* aura: o brilho que respira atrás da IA */
.ia-aura{ position:relative; isolation:isolate }
.ia-aura::before{ content:""; position:absolute; z-index:-1; inset:-18%; border-radius:50%; pointer-events:none; background:radial-gradient(circle,rgba(143,180,255,.42) 0%,rgba(143,180,255,.10) 42%,transparent 68%); animation:iaAura 3.6s ease-in-out infinite }
@keyframes iaAura{ 0%,100%{ transform:scale(.92); opacity:.7 } 50%{ transform:scale(1.06); opacity:1 } }
/* leitura: faixa de luz que varre o painel enquanto a IA lê */
.ia-scan{ position:relative; overflow:hidden }
.ia-scan::after{ content:""; position:absolute; left:0; right:0; top:-40%; height:40%; pointer-events:none;
  background:linear-gradient(180deg,transparent 0%,rgba(143,180,255,.0) 20%,rgba(143,180,255,.16) 50%,rgba(143,180,255,.0) 80%,transparent 100%); animation:iaScan 2.4s cubic-bezier(.45,.05,.55,.95) infinite }
.ia-scan.parado::after{ display:none }
@keyframes iaScan{ from{ transform:translateY(0) } to{ transform:translateY(350%) } }
/* vidro sobre grade de pontos */
.vidro{ background:color-mix(in srgb,var(--sup) 72%,transparent); backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3); border:1px solid var(--linha-2) }
.pontos{ background-image:radial-gradient(color-mix(in srgb,var(--ia) 16%,transparent) 1px,transparent 1.3px); background-size:18px 18px }
/* frase a frase, com cursor azul */
.digitando::after{ content:""; display:inline-block; width:2px; height:1.05em; margin-left:3px; vertical-align:-.15em; background:var(--ia); animation:cursorPisca .9s steps(1) infinite }
@keyframes cursorPisca{ 50%{ opacity:0 } }
.frase-chega{ animation:fraseChega .45s ease both }
@keyframes fraseChega{ from{ opacity:0; filter:blur(3px); transform:translateY(3px) } }
/* ouro confirma: aparece uma vez, firme, e fica (nunca pisca) */
.ouro-ok{ animation:ouroOk .55s cubic-bezier(.2,1.3,.4,1) both }
@keyframes ouroOk{ from{ opacity:0; transform:scale(.7) } }
.xp-chega{ display:inline-flex; align-items:center; gap:5px; font-family:var(--f-mono); font-weight:600; color:var(--ouro-tx); animation:ouroOk .6s cubic-bezier(.2,1.3,.4,1) both }
/* gráfico que se desenha e anéis que sobem */
.desenha{ stroke-dasharray:var(--len,1200); stroke-dashoffset:0; animation:desenha 1.4s cubic-bezier(.3,.7,.3,1) both }
@keyframes desenha{ from{ stroke-dashoffset:var(--len,1200) } }
.area-sobe{ animation:areaSobe 1.2s ease both .3s }
@keyframes areaSobe{ from{ opacity:0 } }
.anel-vivo .arco{ transition:stroke-dasharray 1.3s cubic-bezier(.25,.8,.25,1) }
.sobe{ animation:sobe .6s cubic-bezier(.2,.8,.2,1) both } .sobe.d1{ animation-delay:.08s } .sobe.d2{ animation-delay:.16s } .sobe.d3{ animation-delay:.24s } .sobe.d4{ animation-delay:.32s } .sobe.d5{ animation-delay:.4s }
@keyframes sobe{ from{ opacity:0; transform:translateY(10px) } }
/* avatar da Nomeia_iA (faísca na placa de céu) */
.ia-av{ width:34px; height:34px; flex:none; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:var(--ceu); color:var(--sinal); border:1px solid rgba(143,180,255,.35); box-shadow:0 0 18px -4px rgba(110,155,255,.55) }
.ia-av .faisca{ color:var(--sinal) }
:root[data-tema="manha"] .ia-av{ box-shadow:0 6px 16px -8px rgba(43,98,217,.6) }

/* ---------- abertura (1,6 s): aura → logotipo sobe → faísca acende → linha azul que termina em ouro */
.abertura{ position:relative; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; padding:24px; overflow:hidden;
  background:radial-gradient(90% 70% at 50% 38%,#16203D 0%,#0C1222 55%,#080C18 100%) }
.abertura::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; background-image:radial-gradient(rgba(143,170,230,.12) 1px,transparent 1.3px); background-size:24px 24px;
  -webkit-mask-image:radial-gradient(60% 55% at 50% 45%,#000,transparent); mask-image:radial-gradient(60% 55% at 50% 45%,#000,transparent) }
.ab-aura{ position:absolute; left:50%; top:44%; width:min(640px,120vw); aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(circle,rgba(110,155,255,.30) 0%,rgba(110,155,255,.10) 38%,transparent 66%); animation:abAura 1.6s ease-out both, abAuraResp 4s ease-in-out 1.6s infinite }
@keyframes abAuraResp{ 0%,100%{ transform:translate(-50%,-50%) scale(.95); opacity:.85 } 50%{ transform:translate(-50%,-50%) scale(1.05); opacity:1 } }
@keyframes abAura{ from{ opacity:0; transform:translate(-50%,-50%) scale(.6) } }
.ab-logo{ position:relative; z-index:1; width:min(430px,78vw); animation:abLogo .9s cubic-bezier(.2,.8,.2,1) .2s both }
@keyframes abLogo{ from{ opacity:0; transform:translateY(14px) scale(.97); filter:blur(4px) } }
.ab-logo .wm-faisca{ animation:abFaisca .7s cubic-bezier(.2,1.4,.4,1) .75s both, wmFaisca 4.8s ease-in-out 1.6s infinite }
.ab-logo .wm-halo{ animation:abHalo 1s ease-out .8s both, wmHalo 4.8s ease-in-out 1.8s infinite }
.ab-logo .wm-tag{ animation:abTag .6s ease 1s both }
@keyframes abFaisca{ from{ opacity:0; transform:scale(.2) rotate(-40deg) } }
@keyframes abHalo{ 0%{ opacity:0 } 45%{ opacity:1 } }
@keyframes abTag{ from{ opacity:0; transform:translateY(6px) } }
.ab-linha{ position:relative; z-index:1; width:150px; height:2px; border-radius:2px; background:rgba(143,170,230,.14); overflow:hidden }
.ab-linha i{ display:block; height:100%; width:100%; border-radius:2px; background:#E8C56A; animation:abLinha 1s cubic-bezier(.5,0,.2,1) .55s both }
@keyframes abLinha{ 0%{ width:0; background:#8FB4FF } 75%{ background:#8FB4FF } 100%{ width:100%; background:#E8C56A } }
.ab-txt{ position:relative; z-index:1; margin:0; font-family:var(--f-mono); font-size:.72em; letter-spacing:.34em; text-transform:uppercase; color:#A5ADC2; animation:abTag .6s ease 1.1s both }

/* ---------- login (rodada 13): barra com o logotipo · palco em 2 colunas de MESMA altura (narrativa + console | acesso) · rodapé com o método */
.lg{ position:relative; overflow:hidden; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; color:#F1EDE3;
  background:radial-gradient(55% 60% at 12% 18%,rgba(110,155,255,.17),transparent 62%),radial-gradient(40% 45% at 92% 88%,rgba(232,197,106,.10),transparent 65%),radial-gradient(45% 45% at 70% 30%,rgba(183,163,255,.06),transparent 70%),#0B1120 }
.lg::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.55; background-image:linear-gradient(rgba(143,170,230,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(143,170,230,.055) 1px,transparent 1px); background-size:48px 48px;
  -webkit-mask-image:radial-gradient(70% 60% at 30% 35%,#000,transparent 75%); mask-image:radial-gradient(70% 60% at 30% 35%,#000,transparent 75%) }
.lg > *{ position:relative; z-index:1 }
.lg-barra,.lg-palco,.lg-rodape{ width:100%; max-width:1200px; margin:0 auto; padding-left:48px; padding-right:48px }
.lg-barra{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:26px; padding-bottom:6px }
.lg-marca{ width:184px; line-height:0 }
.lg-status{ display:inline-flex; align-items:center; gap:9px; margin:0; font-family:var(--f-mono); font-size:.68em; letter-spacing:.1em; text-transform:uppercase; color:#A9C5FF }
.lg-ver{ padding:3px 8px; border-radius:6px; border:1px solid rgba(143,170,230,.2); color:#7D86A0; letter-spacing:.06em }
.lg-palco{ flex:1; display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:64px; align-items:center; align-content:center; padding-top:26px; padding-bottom:30px }
.lg-narr{ display:flex; flex-direction:column; gap:18px; min-width:0 }
.lg-kicker{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0; font-family:var(--f-mono); font-size:.68em; letter-spacing:.16em; text-transform:uppercase; color:#E8C56A }
.lg-kicker span + span{ color:#7D86A0 } .lg-kicker .lg-k-novo{ color:#5FD3C6 } .lg-kicker span + span::before{ content:"/"; margin-right:10px; color:rgba(143,170,230,.35) }
.lg-tit{ margin:0; font-family:var(--f-disp); font-weight:800; font-size:clamp(2.2em,3.35vw,3.05em); line-height:1.05; letter-spacing:-.035em; color:#F1EDE3; max-width:17ch }
.lg-tit span{ display:block; margin-top:.08em; color:#8FB4FF }
@supports (-webkit-background-clip:text) or (background-clip:text){ .lg-tit span{ background:linear-gradient(180deg,#A9C5FF 0%,#7FA6FF 100%); -webkit-background-clip:text; background-clip:text; color:transparent } }
.lg-sub{ margin:0; font-size:1em; line-height:1.68; color:#A5ADC2; max-width:60ch }
/* console da Nomeia_iA (exemplo gerado) */
.lg-console{ margin-top:6px; border-radius:20px; overflow:hidden; background:linear-gradient(180deg,rgba(21,29,52,.88),rgba(12,18,34,.92)); border:1px solid rgba(143,170,230,.18);
  box-shadow:0 34px 80px -28px rgba(2,4,10,.85),inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px) }
.lgc-barra{ display:flex; align-items:center; gap:14px; min-height:44px; padding:0 10px 0 16px; border-bottom:1px solid rgba(143,170,230,.12); background:rgba(6,10,20,.35) }
.lgc-luzes{ display:flex; gap:6px; flex:none } .lgc-luzes i{ width:9px; height:9px; border-radius:50%; background:rgba(143,170,230,.2) }
.lgc-luzes i:first-child{ background:rgba(232,197,106,.55) }
.lgc-tit{ display:inline-flex; align-items:center; gap:7px; font-family:var(--f-mono); font-size:.68em; letter-spacing:.06em; color:#A5ADC2; white-space:nowrap }
.lgc-tit .faisca{ width:12px; height:12px; color:#8FB4FF }
.lgc-abas{ margin-left:auto; display:flex; gap:2px; overflow-x:auto; scrollbar-width:none } .lgc-abas::-webkit-scrollbar{ display:none }
/* 5 áreas no console (com a Praticagem): as abas descem para uma linha própria, como no celular, e nenhuma fica escondida */
.lgc-barra{ flex-wrap:wrap; row-gap:0; padding-top:4px } .lgc-abas{ margin-left:0; width:100%; order:3; margin-bottom:2px }
.lgc-abas button{ position:relative; flex:none; padding:8px 10px 10px; border-radius:8px; font-family:var(--f-mono); font-size:.62em; letter-spacing:.1em; text-transform:uppercase; color:#6F7894; transition:color .2s, background .2s }
.lgc-abas button:hover{ color:#DCD8CE }
.lgc-abas button.on{ color:#F1EDE3; background:rgba(143,180,255,.10) }
.lgc-abas button i{ position:absolute; left:10px; right:10px; bottom:4px; height:2px; border-radius:2px; background:linear-gradient(90deg,#8FB4FF,#E8C56A); transform:scaleX(0); transform-origin:left center }
.lgc-abas button:not(.on) i{ transform:scaleX(0)!important }
.lgc-corpo{ display:flex; flex-direction:column; gap:12px; padding:16px 20px 16px; transition:opacity .28s ease, transform .28s ease }
.lgc-corpo.sai{ opacity:0; transform:translateY(6px) }
.lgc-entrada{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; font-size:.9em; color:#A5ADC2; min-height:1.4em }
.lgc-entrada b{ color:#F1EDE3; font-weight:750 }
.lgc-seta{ font-family:var(--f-mono); color:#8FB4FF; font-weight:700 }
.lgc-alvo{ color:#A5ADC2 }
.lgc-meta{ margin-left:auto; font-family:var(--f-mono); font-size:.76em; letter-spacing:.08em; text-transform:uppercase; color:#E8C56A }
.lgc-sinais{ display:flex; flex-wrap:wrap; gap:6px; min-height:24px }
.lgc-sinais span{ display:inline-flex; align-items:baseline; gap:6px; padding:3px 9px; border-radius:7px; background:rgba(143,170,230,.07); border:1px solid rgba(143,170,230,.12); font-family:var(--f-mono); font-size:.68em; letter-spacing:.03em; color:#8C95AE }
.lgc-sinais b{ color:#F1EDE3; font-weight:600 }
.lgc-pensa{ display:flex; align-items:center; gap:8px; min-height:20px; font-family:var(--f-mono); font-size:.72em; letter-spacing:.02em; color:#7D86A0 }
.lgc-pensa .faisca{ width:13px; height:13px; color:#8FB4FF; animation:lgcGira 1.1s linear infinite }
.lgc-brilho{ background:linear-gradient(90deg,#6F7894 0%,#DCE6FF 45%,#6F7894 90%); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:lgcBrilho 1.3s linear infinite }
.lgc-pensa.feito{ color:#7FD1A6 } .lgc-pensa.feito .ic{ width:14px; height:14px; stroke-width:2.2 }
@keyframes lgcGira{ to{ transform:rotate(360deg) } }
@keyframes lgcBrilho{ from{ background-position:120% 0 } to{ background-position:-120% 0 } }
.lgc-resp{ display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; align-items:start }
.lgc-resp .ia-av{ width:30px; height:30px; border-radius:10px } .lgc-resp .ia-av .faisca{ width:15px; height:15px }
.lgc-txtw{ display:grid } .lgc-txtw > p{ grid-area:1 / 1; margin:0; font-size:.95em; line-height:1.62; color:#DCD8CE }
.lgc-fantasma{ visibility:hidden }
.lgc-b{ color:#F1EDE3; font-weight:700 } .lgc-txtw .ia-l{ color:#8FB4FF; font-weight:700 }
.lgc-chips{ display:flex; flex-wrap:wrap; gap:6px; padding-left:42px }
.lgc-chips .tag{ opacity:0; transform:translateY(5px); transition:opacity .35s ease, transform .35s cubic-bezier(.2,1.2,.4,1) }
.lgc-chips.on .tag{ opacity:1; transform:none } .lgc-chips.on .tag:nth-child(2){ transition-delay:.12s } .lgc-chips.on .tag:nth-child(3){ transition-delay:.24s }
.lgc-ex{ margin-left:2px; padding:2px 6px; border-radius:5px; border:1px solid rgba(143,170,230,.18); font-size:.86em; letter-spacing:.08em; text-transform:uppercase; color:#6F7894 }
/* acesso */
.lg-acesso{ position:relative; display:flex; flex-direction:column; gap:14px; min-width:0 }
.lg-acesso::before{ content:""; position:absolute; left:50%; top:45%; width:520px; height:520px; max-width:100vw; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(110,155,255,.15),transparent 66%); pointer-events:none }
.lg-caixa{ position:relative; display:flex; flex-direction:column; gap:16px; padding:28px 28px 20px; border-radius:24px; color:#F1EDE3;
  background:linear-gradient(180deg,rgba(24,33,58,.88),rgba(16,23,42,.9)); backdrop-filter:blur(18px) saturate(1.3); -webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(143,170,230,.20); box-shadow:0 40px 90px -30px rgba(2,4,10,.8),inset 0 1px 0 rgba(255,255,255,.07) }
.lg-caixa::before{ content:""; position:absolute; left:28px; right:28px; top:-1px; height:2px; border-radius:2px; background:linear-gradient(90deg,transparent,#E8C56A 30%,#8FB4FF 70%,transparent); opacity:.85 }
.lg-caixa-cab{ display:flex; gap:14px; align-items:center; margin-bottom:4px }
.lg-ic{ width:52px; height:52px; flex:none; border-radius:15px; box-shadow:0 12px 26px -8px rgba(110,155,255,.45) }
.lg-ic-ic{ display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#1B2747,#111a31); border:1px solid rgba(143,180,255,.3); color:#8FB4FF }
.lg-ic-ic .ic{ width:24px; height:24px }
.lg-caixa h2{ font-family:var(--f-disp); font-weight:800; font-size:1.5em; letter-spacing:-.03em; color:#F1EDE3; line-height:1.1 }
.lg-caixa-cab p{ font-size:.86em; line-height:1.45; color:#A5ADC2; margin-top:4px } .lg-caixa-cab p b{ color:#F1EDE3; word-break:break-all }
.lg-caixa .campo label{ color:#DCD8CE; font-weight:650 }
.lg-rot{ display:flex; align-items:baseline; justify-content:space-between; gap:10px }
.lg-esqueci{ font-size:.82em; color:#A9C5FF; font-weight:600 } .lg-esqueci:hover{ color:#F1EDE3; text-decoration:underline; text-underline-offset:4px }
.lg-caixa .entrada{ min-height:50px; font-size:1em; background:rgba(8,12,24,.55); border-color:rgba(143,170,230,.22); color:#F1EDE3 }
.lg-caixa .entrada::placeholder{ color:#6B7594 }
.lg-caixa .entrada:focus{ border-color:#8FB4FF; box-shadow:0 0 0 3px rgba(143,180,255,.2) }
.lg-otp{ font-family:var(--f-mono); font-size:1.35em!important; letter-spacing:.5em; text-align:center; padding-left:.5em }
.lg-senha{ position:relative } .lg-senha .entrada{ padding-right:52px; letter-spacing:.02em }
.lg-olho{ position:absolute; right:6px; top:25px; transform:translateY(-50%); width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:#A5ADC2 }
.lg-olho:hover{ background:rgba(143,170,230,.12); color:#F1EDE3 }
.lg-dica{ display:block; margin-top:6px; font-size:.78em; color:#7D86A0 } .lg-dica.ok{ color:#7FD1A6 } .lg-dica.err{ color:#F5A592 }
.lg-caixa .aviso{ color:#F1EDE3 }
.lg-bt{ min-height:54px; font-size:1.05em; margin-top:2px; background:#E8C56A!important; color:#1A1405!important; box-shadow:0 14px 34px -12px rgba(232,197,106,.6),inset 0 1px 0 rgba(255,255,255,.4)!important }
.lg-bt .gira{ width:16px; height:16px; margin-right:8px; border-radius:50%; border:2px solid rgba(26,20,5,.25); border-top-color:#1A1405; animation:lgcGira .8s linear infinite }
.lg-prim{ display:flex; gap:10px; align-items:flex-start; margin:0; padding:11px 13px; border-radius:14px; background:rgba(143,180,255,.06); border:1px solid rgba(143,180,255,.14); font-size:.82em; line-height:1.5; color:#A5ADC2 }
.lg-prim .ic{ width:17px; height:17px; color:#8FB4FF; margin-top:1px } .lg-prim b{ color:#DCD8CE }
.lg-links{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap }
.lg-links button,.lg-links a{ display:inline-flex; align-items:center; gap:4px; font-size:.84em; color:#A5ADC2; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(165,173,194,.4) }
.lg-links button:hover,.lg-links a:hover{ color:#F1EDE3 } .lg-links button:disabled{ opacity:.55; text-decoration:none; cursor:default }
.lg-links .ic{ width:15px; height:15px }
.lg-rod{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:auto; padding-top:14px; border-top:1px solid rgba(143,170,230,.12); font-family:var(--f-mono); font-size:.64em; letter-spacing:.05em; color:#7D86A0 }
.lg-rod span{ display:inline-flex; align-items:center; gap:7px } .lg-rod .ic{ width:14px; height:14px; color:#7FD1A6 }
.lg-rod a{ color:#A5ADC2; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(165,173,194,.4); letter-spacing:.02em; font-family:var(--f-txt); font-size:1.28em }
.lg-rod a:hover{ color:#F1EDE3 }
.lg-demo-contas{ position:relative; width:100%; background:rgba(18,26,46,.7)!important; border-color:rgba(143,170,230,.16)!important; color:#F1EDE3; box-shadow:none!important }
.lg-demo-contas .demo-contas button{ background:rgba(255,255,255,.04); border-color:rgba(143,170,230,.16); color:#F1EDE3 }
.lg-demo-contas .mut,.lg-demo-contas .rotulo{ color:#A5ADC2 }
/* rodapé: o método em 4 passos + áreas */
.lg-rodape{ display:flex; flex-direction:column; gap:14px; padding-top:4px; padding-bottom:26px }
.lg-metodo{ list-style:none; margin:0; padding:16px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; border-top:1px solid rgba(143,170,230,.12) }
.lg-metodo li{ display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:10px; row-gap:3px; align-items:baseline }
.lg-metodo b{ grid-row:1 / 3; font-family:var(--f-mono); font-size:.7em; font-weight:500; letter-spacing:.1em; color:var(--pc) }
.lg-metodo li:nth-child(1){ --pc:#E8C56A } .lg-metodo li:nth-child(2){ --pc:#8FB4FF } .lg-metodo li:nth-child(3){ --pc:#B7A3FF } .lg-metodo li:nth-child(4){ --pc:#7FD1A6 }
.lg-metodo span{ font-weight:750; color:#F1EDE3; font-size:.9em; line-height:1.25 }
.lg-metodo small{ color:#8C95AE; font-size:.76em; line-height:1.45 }
.lg-areas{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:0; font-family:var(--f-mono); font-size:.62em; letter-spacing:.14em; text-transform:uppercase; color:#A5ADC2 }
.lg-areas > b{ font-weight:500; color:#6F7894 }
.lg-areas span{ display:inline-flex; align-items:center; gap:7px }
.lg-areas span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--ac-a,#8FB4FF) }
.lg-areas span:nth-of-type(1){ --ac-a:#E8C56A } .lg-areas span:nth-of-type(2){ --ac-a:#7FD1A6 } .lg-areas span:nth-of-type(3){ --ac-a:#8FB4FF } .lg-areas span:nth-of-type(4){ --ac-a:#B7A3FF } .lg-areas span:nth-of-type(5){ --ac-a:#5FD3C6 } .lg-areas span:nth-of-type(6){ --ac-a:#F2A65A }
@media (max-width:1180px){ .lg-palco{ grid-template-columns:minmax(0,1fr) 380px; gap:44px } .lg-metodo{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:980px){
  .lg-barra,.lg-palco,.lg-rodape{ padding-left:20px; padding-right:20px; max-width:620px }
  .lg-barra{ padding-top:20px }
  .lg-marca{ width:156px }
  .lg-status .lg-ver{ display:none }
  .lg-palco{ display:flex; flex-direction:column; gap:18px; padding-top:16px; padding-bottom:22px }
  .lg-narr{ display:contents }
  .lg-kicker{ order:1; font-size:.6em; letter-spacing:.12em }
  .lg-tit{ order:2; font-size:2.02em; max-width:none }
  .lg-sub{ order:3; font-size:.94em; line-height:1.6 }
  .lg-acesso{ order:4; margin-top:4px }
  .lg-console{ order:5; margin-top:8px }
  .lg-caixa{ padding:24px 18px 18px; gap:14px; flex:none }
  .lgc-barra{ flex-wrap:wrap; gap:6px 12px; padding:10px 8px 6px 14px }
  .lgc-abas{ margin-left:0; width:100%; order:3 }
  .lgc-corpo{ padding:14px 14px 14px }
  .lgc-meta{ margin-left:0 }
  .lgc-chips{ padding-left:0 }
  .lgc-resp{ grid-template-columns:26px minmax(0,1fr); gap:10px } .lgc-resp .ia-av{ width:26px; height:26px; border-radius:9px }
  .lgc-txtw > p{ font-size:.92em }
  .lg-metodo{ grid-template-columns:1fr; gap:14px }
}
@media (max-width:420px){ .lg-tit{ font-size:1.82em } .lg-status{ font-size:.6em; letter-spacing:.06em } }
@media (prefers-reduced-motion:reduce){ .lgc-pensa .faisca,.lgc-brilho{ animation:none } .lgc-brilho{ color:#A5ADC2; background:none } }

/* ---------- "A Nomeia_iA está lendo": popup de processamento (vidro, aura, leitura, etapas que acendem) */
.proc-veu{ background:rgba(4,7,15,.66); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px) }
.proc-caixa{ position:relative; overflow:hidden; width:min(440px,100%); padding:26px 24px 20px; border-radius:26px; gap:12px; color:#F1EDE3; text-align:left; align-items:stretch;
  background:radial-gradient(90% 60% at 50% 0%,rgba(110,155,255,.18),transparent 70%),linear-gradient(180deg,rgba(24,33,58,.92),rgba(14,20,38,.94));
  border:1px solid rgba(143,180,255,.26); box-shadow:0 40px 100px rgba(2,4,10,.65),inset 0 1px 0 rgba(255,255,255,.07) }
.proc-caixa::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.55; background-image:radial-gradient(rgba(143,180,255,.14) 1px,transparent 1.3px); background-size:18px 18px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 60%); mask-image:linear-gradient(180deg,#000,transparent 60%) }
.proc-caixa::after{ content:""; position:absolute; left:0; right:0; top:-35%; height:35%; pointer-events:none; background:linear-gradient(180deg,transparent,rgba(143,180,255,.14),transparent); animation:iaScan 2.2s cubic-bezier(.45,.05,.55,.95) infinite }
.proc-caixa.feito::after,.proc-caixa.falhou::after{ display:none }
.proc-cab{ position:relative; display:flex; align-items:center; gap:14px }
.proc-logo{ width:64px; height:64px; flex:none } .proc-logo img{ width:56px; height:56px; border-radius:16px; animation:none; position:relative; z-index:1; box-shadow:0 14px 30px -10px rgba(110,155,255,.6) }
.proc-logo::before{ content:""; position:absolute; inset:-14px; border-radius:50%; background:radial-gradient(circle,rgba(143,180,255,.45),transparent 68%); animation:iaAura 2.4s ease-in-out infinite }
.proc-anel{ inset:-3px; border-radius:19px; border:1.5px solid rgba(143,180,255,.22); border-top-color:#8FB4FF; border-right-color:rgba(143,180,255,.22); animation:procGira 1.6s linear infinite; z-index:2 }
.proc-caixa .ia-rot{ font-size:.64em; color:#A9C5FF }
.proc-tit{ display:block; font-family:var(--f-disp); font-weight:800; font-size:1.18em; letter-spacing:-.02em; color:#F1EDE3; margin-top:3px }
.proc-barra{ position:relative; height:6px; background:rgba(143,170,230,.14) }
.proc-barra i{ background:#8FB4FF; box-shadow:0 0 14px rgba(143,180,255,.55) }
.proc-caixa.feito .proc-barra i{ background:#E8C56A; box-shadow:0 0 14px rgba(232,197,106,.45) }
.proc-linha{ color:#BFC6D6; font-size:.86em } .proc-pct{ font-family:var(--f-mono); color:#A9C5FF }
.proc-etapas{ gap:7px; font-size:.84em; color:#7D86A0 }
.proc-etapas li::before{ width:9px; height:9px; border-color:#4A5577 }
.proc-etapas li.at{ color:#F1EDE3 } .proc-etapas li.at::before{ border-color:#8FB4FF; background:#8FB4FF; box-shadow:0 0 0 4px rgba(143,180,255,.2); animation:pontoVivo 1.6s ease-out infinite }
.proc-etapas li.ok{ color:#BFC6D6 } .proc-etapas li.ok::before{ background:#E8C56A; border-color:#E8C56A; box-shadow:none }
.proc-caixa.feito .proc-anel{ animation:none; border-color:#E8C56A } .proc-caixa.feito .proc-msg{ color:#EFD18A; font-weight:750 }
.proc-caixa.falhou .proc-anel{ animation:none; border-color:#F08A72 } .proc-caixa.falhou .proc-msg{ color:#F5A592 }
.proc-caixa.feito .proc-logo::before{ background:radial-gradient(circle,rgba(232,197,106,.4),transparent 68%); animation:none }

/* ---------- Início (rodada 12): uma coluna no celular (ordem por prioridade), duas no computador */
.lateral > *{ flex-shrink:0 }
.ini2 .ini-grade{ display:flex; flex-direction:column; gap:14px }
.ini2 .col-a,.ini2 .col-b{ display:contents }
@media (min-width:1100px){
  .ini2 .ini-grade{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(310px,1fr); align-items:start; gap:16px }
  .ini2 .col-a,.ini2 .col-b{ display:flex; flex-direction:column; gap:16px; min-width:0 }
}
.ini2 .bloco{ padding:18px }
.ini2 .bloco-t{ margin-bottom:14px; flex-wrap:wrap; row-gap:4px }
.ini2 .bloco-t h2{ font-size:1.14em }
.ia-mini{ font-family:var(--f-mono); font-size:.68em; letter-spacing:.08em; text-transform:uppercase; color:var(--ia-tx); text-decoration:none }
.ia-mini:hover{ color:var(--tx) }
.bloco-t .ia-mini{ margin-left:auto }

/* saudação */
.ini2 .ini-hero{ display:flex; flex-direction:column; gap:10px; padding:22px 22px 20px; border-radius:var(--r-3); position:relative; overflow:hidden; grid-template-columns:none;
  background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--ia) 17%,transparent),transparent 58%),radial-gradient(70% 110% at 0% 100%,color-mix(in srgb,var(--ouro) 11%,transparent),transparent 60%),var(--sup);
  border:1px solid var(--linha-2); box-shadow:var(--sombra) }
.ini2 .ini-hero::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background-image:radial-gradient(color-mix(in srgb,var(--ia) 20%,transparent) 1px,transparent 1.3px); background-size:20px 20px;
  -webkit-mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent 70%); mask-image:radial-gradient(70% 90% at 100% 0%,#000,transparent 70%) }
.ini2 .ini-hero > *{ position:relative; z-index:1 }
.ini2 .ini-hero h1{ font-size:clamp(1.95em,4.4vw,2.7em); line-height:1.02; letter-spacing:-.04em; margin:4px 0 0 }
.ini2 .ih-lead{ font-size:1.02em; line-height:1.62; color:var(--tx-2); max-width:64ch; min-height:3.2em }
.ini2 .ih-lead b{ color:var(--tx); font-weight:750 } .ini2 .ih-lead b.ouro{ color:var(--ouro-tx) } .ini2 .ih-lead .ia-l{ color:var(--ia-tx); font-weight:700 }
.tel-lin{ display:flex; flex-wrap:wrap; gap:6px }
.tel{ display:inline-flex; align-items:center; gap:6px; height:28px; padding:0 10px; border-radius:9px; font-family:var(--f-mono); font-size:.68em; letter-spacing:.02em; white-space:nowrap;
  color:var(--tx-2); background:color-mix(in srgb,var(--sup-3) 55%,transparent); border:1px solid var(--linha) }
.tel .ic{ width:14px; height:14px }
.tel.ia{ color:var(--ia-tx); background:var(--ia-suave); border-color:var(--ia-borda) }
.tel.ouro{ color:var(--ouro-tx); background:var(--ouro-suave); border-color:var(--ouro-borda) } .tel.ouro .ic{ color:var(--ouro) }
.tel.coral{ color:var(--err-tx); background:var(--err-suave); border-color:color-mix(in srgb,var(--err) 26%,transparent) }
.ini2 .frase-dia{ margin:6px 0 0; padding:11px 14px 11px 38px; border-radius:14px; max-width:64ch; background:color-mix(in srgb,var(--ouro) 7%,transparent); border:1px solid color-mix(in srgb,var(--ouro) 22%,transparent) }
.ini2 .frase-dia p{ font-size:.98em; font-weight:600; line-height:1.5 }
.ini2 .frase-dia .fd-aspas{ color:var(--ouro); font-family:var(--f-disp); top:4px }
.ini2 .frase-dia .fd-rot{ font-family:var(--f-mono); letter-spacing:.12em; font-size:.62em }

/* ajuste sugerido pela IA */
.ini2 .ini-atu{ display:flex; align-items:center; gap:12px; padding:13px 16px; border-radius:16px; margin:0;
  background:linear-gradient(110deg,color-mix(in srgb,var(--ia) 14%,var(--sup)),var(--sup) 75%); border:1px solid var(--ia-borda) }
.ini2 .ini-atu p{ font-size:.92em; line-height:1.5; color:var(--tx) } .ini2 .ini-atu .ia-rot{ display:flex; margin-bottom:2px; font-size:.62em }
@media (max-width:560px){ .ini2 .ini-atu{ flex-wrap:wrap } .ini2 .ini-atu .bt{ width:100% } }

/* AGORA: o próximo passo */
.ini2 .ini-agora{ display:flex; flex-direction:column; gap:14px; flex-wrap:nowrap; align-items:stretch; margin:0; padding:18px 20px 20px; border-radius:var(--r-3);
  background:radial-gradient(110% 120% at 0% 0%,color-mix(in srgb,var(--fam,var(--ouro)) 15%,transparent),transparent 55%),var(--sup);
  border:1px solid color-mix(in srgb,var(--fam,var(--ouro)) 32%,var(--linha)); box-shadow:var(--sombra); position:relative; overflow:hidden }
.ini2 .ini-agora::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--fam,var(--ouro)),transparent) }
.ini2 .ini-agora.ok{ --fam:var(--ok) }
.ag-topo{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px }
.ag-meta{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap } .ag-meta .mono{ color:var(--tx-2) }
.ag-corpo{ display:flex; gap:14px; align-items:center }
.ag-ic{ width:52px; height:52px; flex:none; border-radius:16px; display:flex; align-items:center; justify-content:center; color:var(--fam,var(--ouro));
  background:linear-gradient(145deg,color-mix(in srgb,var(--fam,var(--ouro)) 26%,transparent),color-mix(in srgb,var(--fam,var(--ouro)) 8%,transparent)); border:1px solid color-mix(in srgb,var(--fam,var(--ouro)) 34%,transparent) }
.ini2 .ip-tit{ font-family:var(--f-disp); font-size:1.42em; font-weight:750; line-height:1.14; letter-spacing:-.025em; margin:0 }
.ag-bts{ display:flex; gap:10px; flex-wrap:wrap } .ag-bts .bt{ min-height:48px; padding:0 22px } .ag-bts .ip-bt{ font-size:1.02em }
@media (max-width:560px){ .ag-bts .bt{ flex:1 1 auto } .ag-ic{ width:44px; height:44px; border-radius:13px } .ini2 .ip-tit{ font-size:1.26em } }

/* índices do dia */
.ind-aneis{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.ind{ display:flex; flex-direction:column; align-items:center; gap:7px; text-align:center; min-width:0 }
.ind .anel .centro b{ font-size:1.55em; letter-spacing:-.03em }
.ind-r{ font-family:var(--f-mono); font-size:.62em; letter-spacing:.14em; text-transform:uppercase; color:var(--tx-2) }
.ind-s{ font-size:.76em; color:var(--tx-3); line-height:1.3; margin-top:-3px }
.ind-nomeia{ margin-top:16px; padding-top:14px; border-top:1px solid var(--linha) }
.ind-nomeia .rotulo{ margin-right:8px }
.ind-v{ font-family:var(--f-disp); font-size:2em; font-weight:800; letter-spacing:-.035em; line-height:1; margin-right:auto }
.ind-pat{ font-weight:750; color:var(--ouro-tx); font-size:.88em; text-align:right }
.ind-barra{ height:7px; border-radius:5px; background:var(--sup-3); margin-top:10px; overflow:hidden }
.ind-barra i{ display:block; height:100%; border-radius:5px; background:linear-gradient(90deg,var(--ouro-forte),var(--ouro)); animation:barraEnche 1.3s cubic-bezier(.25,.8,.25,1) both .2s }
@keyframes barraEnche{ from{ width:0 } }
@media (max-width:380px){ .ind .anel{ transform:scale(.9) } }

/* feed: o que a Nomeia_iA leu */
.ini-feed .bloco-t{ align-items:center } .ini-feed .bloco-t > .faisca{ margin-right:2px }
.feed{ list-style:none; margin:2px 0 0; padding:0; display:flex; flex-direction:column; position:relative }
.fd{ display:grid; grid-template-columns:50px minmax(0,1fr); gap:4px 12px; padding:13px 0; border-top:1px solid var(--linha) }
.fd:first-child{ border-top:0; padding-top:2px }
.fd-h{ font-size:.72em; color:var(--ia-tx); padding-top:4px; display:flex; flex-direction:column; gap:2px } .fd-h small{ color:var(--tx-3); font-size:.92em }
.fd-t{ font-size:.94em; line-height:1.62; color:var(--tx) }
.fd-t b{ font-weight:750 } .fd-t b.ouro{ color:var(--ouro-tx) } .fd-t .ia-l{ color:var(--ia-tx); font-weight:700 }
.fd-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px }
.feed-vazio{ display:flex; gap:12px; align-items:flex-start } .feed-vazio p{ color:var(--tx-2); line-height:1.6; font-size:.94em } .feed-vazio .ia-l{ color:var(--ia-tx); font-weight:650 }
@media (max-width:420px){ .fd{ grid-template-columns:42px minmax(0,1fr); gap:4px 10px } }

/* meta: quadros por etapa */
.quadros{ display:grid; gap:4px; margin:2px 0 16px }
.quadros i{ display:block; height:12px; border-radius:3px; background:var(--sup-3) }
.quadros i.ok{ background:var(--ouro) } .quadros i.ign{ background:transparent; border:1px dashed var(--linha-2) }
.quadros i.agora{ background:var(--ia); box-shadow:0 0 0 2px color-mix(in srgb,var(--ia) 30%,transparent); animation:quadroAgora 2.2s ease-in-out infinite }
@keyframes quadroAgora{ 50%{ box-shadow:0 0 0 4px color-mix(in srgb,var(--ia) 12%,transparent) } }
.mk2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px }
.mk2 > div{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 6px; min-width:0 }
.mk2 b{ font-family:var(--f-disp); font-size:1.75em; font-weight:800; letter-spacing:-.035em; line-height:1 }
.mk2 small{ color:var(--tx-2); font-size:.86em }
.mk2 .mono{ flex-basis:100%; font-size:.62em; letter-spacing:.08em; text-transform:uppercase; color:var(--tx-3); margin-top:3px }
.mk2 .mono.ok-tx{ color:var(--ok-tx) } .mk2 .mono.err-tx{ color:var(--err-tx) }

/* hoje: missões e sequência */
.mis{ padding:10px 0 11px } .mis + .mis{ border-top:1px solid var(--linha) }
.mis .linha > span:first-child{ font-weight:650; font-size:.95em } .mis .mono{ color:var(--tx-2); white-space:nowrap }
.mis .barra{ margin-top:8px } .mis.ok .linha > span:first-child{ color:var(--ok-tx) } .mis.ok .mono{ color:var(--ok-tx) }
.seq{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding-top:13px; border-top:1px solid var(--linha) }
.seq-d{ display:flex; gap:7px }
.seq-d i{ width:13px; height:13px; border-radius:50%; background:var(--sup-3); border:1px solid var(--linha-2) }
.seq-d i.ok{ background:var(--ouro); border-color:var(--ouro) }
.seq-d i.hoje{ box-shadow:0 0 0 2px var(--sup),0 0 0 3.5px var(--ouro) }
.seq-d i.hoje:not(.ok){ background:transparent; border:1.5px solid var(--ouro) }

/* estudo extra */
.ini2 .ini-extra{ margin:0; display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:16px; background:linear-gradient(110deg,color-mix(in srgb,var(--c-lilas) 12%,var(--sup)),var(--sup) 80%); border:1px solid color-mix(in srgb,var(--c-lilas) 28%,var(--linha)) }
.ini2 .ini-extra .ie-ic{ width:38px; height:38px; flex:none; border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--c-lilas); background:color-mix(in srgb,var(--c-lilas) 16%,transparent) }
.ini2 .ini-extra b{ display:block; font-size:.95em } .ini2 .ini-extra .mini{ display:block; margin-top:1px }
@media (max-width:420px){ .ini2 .ini-extra{ flex-wrap:wrap } .ini2 .ini-extra .bt{ width:100% } }

/* pontos fracos em tratamento */
.fr-lista{ display:flex; flex-direction:column }
.fr{ display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:8px 12px; padding:11px 0; border-top:1px solid var(--linha) }
.fr:first-child{ border-top:0; padding-top:2px }
.fr b{ font-size:.94em; font-weight:650 }
.fr-barra{ position:relative; height:5px; border-radius:3px; background:var(--sup-3); margin-top:8px }
.fr-barra i{ display:block; height:100%; max-width:100%; border-radius:3px; background:linear-gradient(90deg,var(--c-coral),color-mix(in srgb,var(--c-coral) 40%,var(--ouro))); animation:barraEnche 1.1s cubic-bezier(.25,.8,.25,1) both .3s }
.fr.fechando .fr-barra i{ background:linear-gradient(90deg,var(--ate),var(--ouro)) } .fr.fechado .fr-barra i{ background:var(--ok) } .fr.observacao .fr-barra i{ background:var(--ia) }
.fr-barra em{ position:absolute; top:-3px; width:2px; height:11px; margin-left:-1px; border-radius:1px; background:var(--tx-3) }
.fr-barra::after{ content:""; position:absolute; right:0; top:-4px; width:2px; height:13px; border-radius:1px; background:var(--ok) }
.fr-num{ font-size:.78em; color:var(--tx-2); text-align:right; white-space:nowrap; line-height:1.2 } .fr-num b{ color:var(--tx); font-size:1.15em } .fr-num small{ display:block; color:var(--tx-3); font-size:.85em; margin-top:2px }
.fr.fechado .fr-num b{ color:var(--ok-tx) }
@media (max-width:560px){ .fr{ grid-template-columns:auto minmax(0,1fr) auto } .fr > .tag{ grid-column:2 / -1; justify-self:start } }

/* a leitura dos últimos 14 dias */
.l14-nums{ display:flex; flex-wrap:wrap; gap:4px 16px; font-size:.7em; color:var(--tx-2); margin:-4px 0 14px } .l14-nums b{ color:var(--tx); font-weight:600 }
.g14{ position:relative; height:150px; margin:0 4px 26px }
.g14 svg{ position:absolute; inset:0; width:100%; height:100%; overflow:visible }
.g14 .traco{ fill:none; stroke:var(--ia); stroke-width:2.2; vector-effect:non-scaling-stroke; stroke-linejoin:round; stroke-linecap:round }
.g14 .m{ position:absolute; width:9px; height:9px; margin:-4.5px 0 0 -4.5px; border-radius:50%; background:var(--sup); border:2px solid var(--ia); animation:sobe .5s ease both 1s }
.g14 .m.zero{ border-color:var(--c-coral) } .g14 .m.rec{ width:12px; height:12px; margin:-6px 0 0 -6px; background:var(--ouro); border-color:var(--ouro); box-shadow:0 0 0 4px var(--ouro-suave) }
.g14 .m.hoje{ width:12px; height:12px; margin:-6px 0 0 -6px; background:var(--sup); border-color:var(--ia); box-shadow:0 0 0 4px var(--ia-suave) }
.g14-rot{ position:absolute; left:0; right:0; bottom:-24px; height:16px } .g14-rot span{ position:absolute; transform:translateX(-50%); font-family:var(--f-mono); font-size:.62em; color:var(--tx-3); white-space:nowrap }
@media (max-width:560px){ .g14-rot span.alt{ display:none } }
.g-leg{ display:flex; flex-wrap:wrap; gap:4px 14px; color:var(--tx-3) } .g-leg span{ display:inline-flex; align-items:center; gap:6px }
.g-leg i{ width:9px; height:9px; border-radius:50%; border:2px solid var(--ia) } .g-leg i.zero{ border-color:var(--c-coral) } .g-leg i.rec{ background:var(--ouro); border-color:var(--ouro) } .g-leg i.hoje{ background:var(--ia) }

/* turma, marcos, plano */
.ini2 .turma-pos{ margin:0 0 4px } .ini2 .turma-pos b{ font-family:var(--f-disp); font-size:2.3em; font-weight:800; letter-spacing:-.04em; color:var(--c-lilas) }
.conquistas{ gap:12px; padding:2px 2px 6px }
.conq{ width:88px; font-size:.72em }
.conq .med{ width:56px; height:56px; border-radius:50%; font-size:1em; color:var(--ouro); background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--ouro) 18%,var(--sup)),var(--sup) 70%);
  border:1.5px solid var(--ouro); box-shadow:0 0 0 4px var(--ouro-suave),inset 0 0 0 4px color-mix(in srgb,var(--ouro) 10%,transparent) }
.conq .med .ic,.conq .med .faisca{ width:22px; height:22px; animation:none; color:var(--ouro) }
.conq.bloq .med{ filter:none; opacity:1; color:var(--tx-3); background:var(--sup-2); border:1.5px dashed var(--linha-2); box-shadow:none }
.conq.bloq .med .ic,.conq.bloq .med .faisca{ color:var(--tx-3) }
.conq.bloq b{ color:var(--tx-2)!important }
/* ajustes finos (rodada 12) */
.ini2 .ini-hero{ align-items:stretch }
@media (max-width:899px){ .so-pc{ display:none!important } }
.ind-top{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px }
.ind-top > div{ display:flex; flex-direction:column; gap:4px }
.ind-top .ind-v{ margin:0 }
.ind-pat{ display:flex; flex-direction:column; align-items:flex-end; line-height:1.2; font-size:.92em }
.ind-pat small{ font-family:var(--f-mono); font-weight:500; font-size:.7em; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3) }
.bloco-t h2{ min-width:0 }
@media (max-width:620px){ .ini2 .bloco-t .bt-sub{ order:5; flex-basis:100%; margin-top:-2px } .ini2 .bloco-t{ row-gap:2px } }
@media (min-width:900px){ .so-cel{ display:none!important } }
@media (max-width:560px){
  .ini2 .ini-hero{ padding:18px 16px 16px; gap:9px }
  .ini2 .frase-dia{ padding:9px 12px 9px 32px } .ini2 .frase-dia p{ font-size:.9em } .ini2 .frase-dia .fd-aspas{ font-size:2em; left:10px }
  .ini2 .ih-lead{ font-size:.98em }
}

/* ---------- famílias de etapa: uma cor distinta para cada tipo (chips, trilha, ícones, número da etapa) */
.f-teo{ --fam:var(--c-lilas) } .f-qpdf{ --fam:var(--c-aqua) } .f-qtec{ --fam:var(--c-ambar) } .f-rev{ --fam:var(--c-aurora) }
.f-sim{ --fam:var(--c-rosa) } .f-per{ --fam:var(--c-coral) } .f-man{ --fam:var(--c-gelo) }
.trilha i.f-teo{ --fam:var(--c-lilas) } .trilha i.f-qpdf{ --fam:var(--c-aqua) } .trilha i.f-qtec{ --fam:var(--c-ambar) } .trilha i.f-rev{ --fam:var(--c-aurora) }
.trilha i.f-sim{ --fam:var(--c-rosa) } .trilha i.f-per{ --fam:var(--c-coral) } .trilha i.f-man{ --fam:var(--c-gelo) }
.tipo-chip{ border-radius:8px; font-weight:700 }
:root[data-tema="manha"] .tipo-chip{ color:color-mix(in srgb,var(--fam) 88%,#000) }
/* níveis: Iniciante (aqua) · Intermediário (azul) · Avançado (ouro) */
.n-ini{ --nv:var(--c-aqua) } .n-int{ --nv:var(--ia) } .n-ava{ --nv:var(--ouro) }
.niv-chip{ border-radius:8px }

/* ---------- Metas */
.meta-hero{ border-radius:var(--r-3); border-color:var(--linha-2);
  background:radial-gradient(100% 130% at 100% 0%,color-mix(in srgb,var(--ouro) 12%,transparent) 0%,transparent 55%),radial-gradient(80% 120% at 0% 100%,color-mix(in srgb,var(--ia) 12%,transparent) 0%,transparent 60%),var(--sup) }
.mh-tit h1{ font-size:2.1em; letter-spacing:-.035em }
.mh-resumo.ia-voz{ margin-top:14px; padding:14px 16px; background:linear-gradient(135deg,color-mix(in srgb,var(--ia) 13%,var(--sup)),color-mix(in srgb,var(--ia) 4%,var(--sup))); border:1px solid var(--ia-borda) }
.mh-resumo.ia-voz .ia-rot{ display:flex; margin-bottom:6px } .mh-resumo.ia-voz .mia-txt{ margin-top:0; color:var(--tx) }
.mh-foco .ic{ color:var(--ouro) }
.mk{ background:color-mix(in srgb,var(--fundo) 35%,transparent) } .mk b{ font-family:var(--f-disp); font-weight:800; letter-spacing:-.025em }
.prox-etapa{ border-radius:var(--r-3) }
.pe-tit{ font-family:var(--f-disp); font-weight:750; letter-spacing:-.015em }
.e-card{ border-radius:16px } .e-tit{ font-weight:700 }
.etapa.feita .e-num{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) }
.etapa.atual .e-num{ border-color:var(--ia); color:var(--ia-tx); box-shadow:0 0 0 4px var(--ia-suave); animation:etapaAtual 2.6s ease-in-out infinite }
@keyframes etapaAtual{ 50%{ box-shadow:0 0 0 7px color-mix(in srgb,var(--ia) 8%,transparent) } }
.etapa.atual .e-card{ border-color:color-mix(in srgb,var(--ia) 45%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--ia) 25%,transparent),var(--sombra) }
.e-tipo .agora{ color:var(--ia-tx); font-family:var(--f-mono); font-weight:500; letter-spacing:.1em }
.atu-bt.destaque{ background:var(--ia); color:#07122B; box-shadow:0 0 0 3px var(--ia-suave),0 8px 22px -10px color-mix(in srgb,var(--ia) 70%,transparent) }
:root[data-tema="manha"] .atu-bt.destaque{ color:#fff }
.atu-selo{ background:#07122B; color:var(--sinal) }
:root[data-tema="manha"] .atu-selo{ background:#fff; color:var(--ia) }

/* ---------- atividade: "Por que agora" é a voz da IA */
.atv-pq.ia-voz{ margin:0 0 16px; padding:14px 16px; display:flex; gap:11px; align-items:flex-start; border-radius:16px; border:1px solid var(--ia-borda);
  background:linear-gradient(135deg,color-mix(in srgb,var(--ia) 12%,var(--sup)),color-mix(in srgb,var(--ia) 4%,var(--sup))) }
.atv-pq.ia-voz .ia-rot{ display:flex; margin-bottom:6px }
.atv-pq.ia-voz .pq-t{ line-height:1.6; font-size:.95em; color:var(--tx) } .atv-pq.ia-voz .pq-t + .pq-t{ margin-top:6px }
.atv-pq.ia-voz .pq-dados{ color:var(--tx-2) }
.guia-tipo{ border-color:var(--ia-borda); background:linear-gradient(135deg,color-mix(in srgb,var(--ia) 11%,var(--sup)),var(--sup) 75%) }
.guia-tipo .ia-rot{ display:flex; margin-bottom:2px } .guia-tipo b{ font-family:var(--f-disp) }
.atv-n{ background:var(--ouro); color:#1A1405 }
.cronometro .tempo{ font-family:var(--f-disp); font-weight:800 } .cronometro.rodando .tempo{ color:var(--ia-tx) }

/* ---------- Nomeia_iA: cabeçalho vivo */
.ia-hero2{ position:relative; overflow:hidden; display:flex; gap:18px; align-items:flex-start; margin-bottom:18px; padding:22px 22px 20px; border-radius:var(--r-3);
  background:radial-gradient(80% 120% at 0% 0%,color-mix(in srgb,var(--ia) 20%,transparent),transparent 60%),radial-gradient(60% 100% at 100% 100%,color-mix(in srgb,var(--c-lilas) 10%,transparent),transparent 60%),var(--sup);
  border:1px solid var(--ia-borda); box-shadow:var(--sombra) }
.ia-hero2::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; background-image:radial-gradient(color-mix(in srgb,var(--ia) 22%,transparent) 1px,transparent 1.3px); background-size:18px 18px;
  -webkit-mask-image:radial-gradient(70% 100% at 0% 0%,#000,transparent 75%); mask-image:radial-gradient(70% 100% at 0% 0%,#000,transparent 75%) }
.ia-hero2 > *{ position:relative; z-index:1 }
.ih2-av{ width:64px; height:64px; flex:none; border-radius:20px; display:flex; align-items:center; justify-content:center; background:var(--ceu); border:1px solid rgba(143,180,255,.4); color:var(--sinal); box-shadow:0 12px 34px -10px rgba(110,155,255,.6) }
.ih2-av .faisca{ width:30px; height:30px; color:var(--sinal) }
.ia-hero2 h1{ font-size:2em; letter-spacing:-.035em; margin:4px 0 4px }
.ih2-sub{ color:var(--tx-2); line-height:1.6; max-width:66ch; font-size:.95em }
.ih2-dig{ margin-top:10px; padding-top:10px; border-top:1px solid color-mix(in srgb,var(--ia) 20%,transparent); line-height:1.6; min-height:1.6em; color:var(--tx) }
.ih2-dig b.ouro{ color:var(--ouro-tx) } .ih2-dig .ia-l{ color:var(--ia-tx); font-weight:700 }
@media (max-width:560px){ .ia-hero2{ padding:18px 16px; gap:14px } .ih2-av{ width:52px; height:52px; border-radius:16px } .ia-hero2 h1{ font-size:1.7em } }
.material .mi[class*="tom-"]{ color:var(--tom); background:linear-gradient(145deg,color-mix(in srgb,var(--tom) 24%,transparent),color-mix(in srgb,var(--tom) 8%,transparent)); border:1px solid color-mix(in srgb,var(--tom) 28%,transparent) }
.vi-atalhos .material{ padding:14px; border-radius:16px; background:var(--sup) } .vi-atalhos .material:hover{ border-color:var(--linha-2); transform:translateY(-1px) }
.vi-encerrar{ color:var(--tx); background:radial-gradient(90% 140% at 0% 0%,color-mix(in srgb,var(--ouro) 14%,transparent),transparent 60%),var(--sup); border:1px solid var(--ouro-borda); box-shadow:var(--sombra) }
.vi-encerrar .rotulo{ color:var(--ouro-tx) } .vi-encerrar h2{ color:var(--tx); font-family:var(--f-disp); font-weight:800 }
.vi-e-ic{ background:var(--ouro-suave); color:var(--ouro) } .vi-passos{ color:var(--tx-2) } .vi-passos li.ok{ color:var(--ok-tx) }
.vi-e-bt{ box-shadow:0 0 0 4px var(--ouro-suave) } .vi-encerrar.pronta .vi-e-bt{ animation:none }

/* ---------- cards de vitória (conquista): ouro que confirma, sem brilho de cassino */
.vit-card{ background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--v1) 20%,#121A2E) 0%,#0C1222 70%); box-shadow:0 0 0 6px color-mix(in srgb,var(--v1) 8%,transparent),0 40px 90px rgba(0,0,0,.55) }
.vit-medalha{ animation:none }
.vit-tit{ font-family:var(--f-disp); font-weight:800; background:none; color:#F1EDE3; -webkit-background-clip:border-box; background-clip:border-box }

/* ---------- processamento: órbita redonda em volta do ícone */
.proc-anel{ inset:-7px; border-radius:50% }

/* ---------- janelas de apoio: desempenho, histórico, revisões, caderno, cards */
.dv{ border-radius:14px } .dv b{ font-family:var(--f-disp); font-weight:800; letter-spacing:-.02em }
.turma-hero{ border-color:color-mix(in srgb,var(--liga) 35%,var(--linha)) }
.err-hero{ background:radial-gradient(100% 140% at 0% 0%,color-mix(in srgb,var(--err) 14%,transparent),transparent 55%),var(--sup); border-color:color-mix(in srgb,var(--err) 26%,var(--linha)) }
.eh-kpis b{ font-family:var(--f-disp); font-weight:800 }
.err-q{ border-left-color:var(--ia) } .err-q.reinc{ border-left-color:var(--err) } .err-q.dom{ border-left-color:var(--ok) }
.eq-ouro{ background:var(--ceu-2); color:var(--luz); border:1px solid var(--ouro-borda) } .eq-ouro span{ color:var(--ouro-m) }
:root[data-tema="manha"] .eq-ouro{ background:#FBF6E7; color:var(--tx) } :root[data-tema="manha"] .eq-ouro span{ color:var(--ouro-tx) }
.plan-hero{ background:radial-gradient(100% 140% at 0% 0%,color-mix(in srgb,var(--c-lilas) 14%,transparent),transparent 55%),var(--sup); border-color:color-mix(in srgb,var(--c-lilas) 26%,var(--linha)) }
.mia-card{ border-radius:18px } .mia-n{ background:var(--ia-suave); color:var(--ia-tx); font-family:var(--f-mono); font-weight:600 }
.frase-dia{ border-color:color-mix(in srgb,var(--ouro) 24%,transparent); background:color-mix(in srgb,var(--ouro) 7%,transparent) } .frase-dia .fd-aspas{ color:var(--ouro) }
.q-enun::before{ background:linear-gradient(var(--ia),var(--c-lilas)) }
.alt.marcada{ border-color:var(--ia); background:var(--ia-suave) } .alt.marcada .l{ background:var(--ia); border-color:var(--ia); color:var(--on-fill) }
.onb{ border-color:var(--ia-borda) }
.rsm-barra-sel{ background:var(--ceu); border-color:rgba(143,180,255,.45) }
/* avatar com a cor do aluno (painel do mentor): letra clara, sem o anel de ouro */
.avatar[style*="background"]{ color:#fff; border-color:transparent; box-shadow:0 0 0 2px color-mix(in srgb,var(--sup) 60%,transparent) }

/* ================================================================== rodada 13 (v1.6): cadastro, ficha, fila da Nomeia_iA, dúvidas, conta */
.gira{ display:inline-block; width:14px; height:14px; flex:none; border-radius:50%; border:2px solid currentColor; border-right-color:transparent; opacity:.85; animation:lgcGira .8s linear infinite; vertical-align:-2px }
@keyframes lgcGira{ to{ transform:rotate(360deg) } }
.chip.ia{ background:var(--ia-suave); color:var(--ia-tx); border-color:transparent }
/* .chip.info também recebe a regra do botão "i" (.info): devolve o formato de chip */
.chip.info{ width:auto; height:26px; border-radius:9px; padding:0 10px; font:inherit; font-size:.78em; font-weight:650; font-style:normal; border:1px solid transparent }
.chip-area{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 9px; border-radius:8px; font-size:.74em; font-weight:650; white-space:nowrap;
  background:color-mix(in srgb,var(--ca) 13%,transparent); color:color-mix(in srgb,var(--ca) 78%,var(--tx)); border:1px solid color-mix(in srgb,var(--ca) 30%,transparent) }
.chip-area::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--ca) }
:root[data-tema="manha"] .chip-area{ color:color-mix(in srgb,var(--ca) 55%,#111) }
.ponto-area{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--ca); margin-right:7px; vertical-align:1px }

/* ---------- alunos */
.m13-topo{ display:flex; align-items:stretch; gap:12px; margin-bottom:14px; flex-wrap:wrap }
.m13-kpis{ flex:1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; min-width:0 }
.m13-kpi{ display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; align-items:center; text-align:left; padding:12px 14px; border-radius:14px; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra); color:var(--tx); min-width:0 }
.m13-kpi:hover{ border-color:var(--linha-2) }
.m13-kpi-ic{ grid-row:1 / 3; width:36px; height:36px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:var(--sup-2); color:var(--tx-2) }
.m13-kpi-n{ font-family:var(--f-disp); font-weight:800; font-size:1.45em; line-height:1 }
.m13-kpi-r{ font-size:.78em; color:var(--tx-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
.m13-kpi.on .m13-kpi-ic{ background:var(--ia-suave); color:var(--ia-tx) } .m13-kpi.ate .m13-kpi-ic{ background:var(--ate-suave); color:var(--ate) } .m13-kpi.ok .m13-kpi-ic{ background:var(--ok-suave); color:var(--ok-tx) }
.m13-novo{ align-self:center }
.m13-av{ margin-bottom:12px; align-items:center } .m13-av > span{ flex:1 }
.m13-alunos{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) }
.m13-aluno{ display:flex; flex-direction:column; gap:11px }
.m13-al-cab{ display:flex; align-items:center; gap:10px } .m13-al-cab > .chip{ cursor:pointer }
.m13-al-tags{ display:flex; flex-wrap:wrap; gap:6px } .m13-al-tags .chip{ height:24px; font-size:.74em }
.m13-al-st{ align-items:center }
.m13-al-bts{ margin-top:auto; padding-top:4px; align-items:center }
.m13-al-bts .bt.ia .faisca,.fi-acoes .bt.ia .faisca,.bt.ia .faisca{ width:15px; height:15px; color:currentColor; animation:none }
.m13-reservas{ margin-top:14px }
.m13-res{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
@media (max-width:760px){ .m13-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)) } .m13-novo{ width:100% } .m13-alunos{ grid-template-columns:1fr } }

/* ---------- gerar meta (folha) */
.gm{ display:flex; flex-direction:column; gap:14px }
.gm-passos{ display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:14px; background:var(--ia-suave); border:1px solid var(--ia-borda,color-mix(in srgb,var(--ia) 25%,transparent)) }
.gm-p{ display:flex; gap:10px; align-items:flex-start; font-size:.9em; line-height:1.5 } .gm-p > b:first-child{ flex:none; width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.8em; background:var(--ia); color:#07122B }
.gm-p code{ font-size:.9em }
.gm-ok{ display:flex; gap:12px; padding:14px; border-radius:14px; background:var(--ok-suave); border:1px solid color-mix(in srgb,var(--ok) 30%,transparent) }
.gm-ok-ic{ width:34px; height:34px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--ok); color:var(--on-fill) }
.gm-ok p{ margin-top:4px; line-height:1.55 }

/* ---------- cadastro */
.cad{ max-width:920px; display:flex; flex-direction:column; gap:14px }
.cad-cab h1{ font-family:var(--f-disp); font-weight:800; font-size:1.7em; letter-spacing:-.02em; margin:2px 0 6px }
.cad-cab p{ max-width:70ch; line-height:1.55 }
.cad-vaga{ align-items:center } .cad-vaga > span{ flex:1 }
.cad-sec{ display:flex; flex-direction:column; gap:14px; padding:18px }
.cad-sec-t{ display:flex; gap:12px; align-items:flex-start }
.cad-sec-t h2{ font-family:var(--f-disp); font-weight:750; font-size:1.12em; letter-spacing:-.01em }
.cad-sec-t p{ margin-top:2px; line-height:1.5 }
.cad-n{ width:28px; height:28px; flex:none; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.82em; font-weight:600; background:var(--ia-suave); color:var(--ia-tx); border:1px solid color-mix(in srgb,var(--ia) 30%,transparent) }
.cad .campo > .rot,.fi .campo > .rot{ display:block; font-weight:650; font-size:.9em; margin-bottom:6px }
.cad-gen button,.cad-areas button{ flex:1 1 auto }
.cad-areas{ width:100%; flex-wrap:wrap }
.cad-cores{ display:flex; gap:8px; flex-wrap:wrap }
.cad-cor{ width:30px; height:30px; border-radius:50%; background:var(--c); border:2px solid transparent; box-shadow:0 0 0 1px var(--linha-2) }
.cad-cor[aria-pressed="true"]{ border-color:var(--sup); box-shadow:0 0 0 2px var(--c) }
.cad-dias{ display:flex; gap:5px; flex-wrap:wrap }
.cad-dias button{ min-width:44px; height:36px; padding:0 8px; border-radius:10px; font-size:.84em; font-weight:650; background:var(--fundo-2); border:1px solid var(--linha); color:var(--tx-2) }
.cad-dias button[aria-pressed="true"]{ background:var(--ia-suave); color:var(--ia-tx); border-color:color-mix(in srgb,var(--ia) 40%,transparent) }
.cad-niveis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px }
.cad-nv{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px; border-radius:14px; text-align:left; background:var(--fundo-2); border:1.5px solid var(--linha); color:var(--tx); min-width:0 }
.cad-nv b{ font-size:.98em } .cad-nv > span:last-child{ font-size:.8em; line-height:1.45; color:var(--tx-2) }
.cad-nv[aria-pressed="true"]{ border-color:var(--ia); background:color-mix(in srgb,var(--ia) 8%,var(--sup)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ia) 15%,transparent) }
.cad-nv.aberto[aria-pressed="true"]{ border-color:var(--ouro); background:color-mix(in srgb,var(--ouro) 8%,var(--sup)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ouro) 15%,transparent) }
.cad-nv-ic{ color:var(--ouro) } .cad-nv-ic .ic{ width:22px; height:22px }
.cad-senha .entrada{ font-family:var(--f-mono); letter-spacing:.04em; padding-right:52px }
.cad-senha .bt-ic{ position:absolute; right:5px; top:50%; transform:translateY(-50%) }
#cd-senha-dica.ok,#cs-dica.ok{ color:var(--ok-tx) } #cd-senha-dica.err{ color:var(--err-tx) }
.cad-checks{ display:flex; flex-direction:column; gap:8px }
.cad-check{ display:flex; gap:10px; align-items:flex-start; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.9em; line-height:1.45; cursor:pointer }
.cad-check input{ width:18px; height:18px; margin-top:1px; accent-color:var(--ia); flex:none }
.tec-zona{ display:flex; align-items:center; gap:14px; padding:16px; border-radius:14px; border:1.5px dashed color-mix(in srgb,var(--ia) 45%,var(--linha)); background:color-mix(in srgb,var(--ia) 5%,var(--fundo-2)); cursor:pointer }
.tec-zona:hover{ background:color-mix(in srgb,var(--ia) 9%,var(--fundo-2)) }
.tec-zona-ic{ width:44px; height:44px; flex:none; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx) }
.tec-lista{ display:flex; flex-direction:column; gap:8px; margin-top:10px } .tec-lista:empty{ display:none }
.tec-lin{ display:grid; grid-template-columns:auto minmax(0,1fr) auto; grid-template-areas:"ic info x" "campos campos campos"; gap:8px 10px; align-items:center; padding:10px 12px; border-radius:12px; background:var(--sup-2); border:1px solid var(--linha) }
.tec-ic{ grid-area:ic; width:32px; height:32px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; background:var(--fundo-2); color:var(--tx-2) }
.tec-info{ grid-area:info; display:flex; flex-direction:column; min-width:0 } .tec-lin > .bt-ic{ grid-area:x }
.tec-campos{ grid-area:campos; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); gap:8px }
.tec-c{ display:flex; flex-direction:column; gap:3px; font-size:.76em; color:var(--tx-2); font-weight:600; min-width:0 } .tec-c .entrada{ min-height:38px; padding:6px 10px; font-size:1.2em; min-width:0; width:100% }
.cad-rod{ position:sticky; bottom:calc(var(--nav-h,0px) + var(--seg-b,0px) + 8px); z-index:5; display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:16px; background:color-mix(in srgb,var(--sup) 92%,transparent);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border:1px solid var(--linha-2); box-shadow:var(--sombra-2) }
.cad-rod .ic{ color:var(--ia-tx); vertical-align:-3px; margin-right:4px }
.cad-bt{ min-height:50px; padding:0 22px; flex:none }
.cad-prog ol{ list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:8px }
.cad-prog li{ display:flex; align-items:center; gap:10px; font-size:.92em; color:var(--tx-2) }
.cad-prog li.at{ color:var(--tx); font-weight:650 } .cad-prog li.ok{ color:var(--tx) } .cad-prog li.ok .ic{ color:var(--ok) } .cad-prog li.err{ color:var(--err-tx) } .cad-prog li.at .gira{ color:var(--ia) }
.cad-pt{ width:14px; height:14px; border-radius:50%; border:2px solid var(--linha-2); flex:none }
.cad-fim{ margin-top:12px; display:flex; flex-direction:column; gap:12px; border-color:color-mix(in srgb,var(--ok) 35%,var(--linha)) }
.cad-fim-cab{ display:flex; gap:12px; align-items:center } .cad-fim-cab h2{ font-family:var(--f-disp); font-size:1.25em }
.cad-fim-ic{ width:44px; height:44px; border-radius:14px; flex:none; display:inline-flex; align-items:center; justify-content:center; background:var(--ok); color:var(--on-fill) }
.cad-senha-box{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha) }
.cad-senha-box b{ flex:1; font-family:var(--f-mono); font-size:1.25em; letter-spacing:.06em }
.cad-fim-l{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.9em } .cad-fim-l li{ display:flex; gap:8px; align-items:flex-start } .cad-fim-l .ic{ margin-top:2px; color:var(--ok) } .cad-fim-l li.err{ color:var(--err-tx) } .cad-fim-l li.err .ic{ color:var(--err) }
@media (max-width:760px){ .cad-niveis{ grid-template-columns:1fr 1fr } }
@media (max-width:640px){ .cad .grade.g2,.cad .grade.g3,.fi .grade.g2,.fi .grade.g3{ grid-template-columns:1fr } .cad .grade.g3 > :last-child{ grid-column:auto } .tec-campos{ grid-template-columns:1fr 1fr } .tec-campos .tec-c:first-child{ grid-column:1 / -1 }
  .cad-rod{ flex-direction:column; align-items:stretch } .cad-bt{ width:100% } .cad-sec{ padding:16px 14px } }

/* ---------- ficha */
.fi{ display:flex; flex-direction:column; gap:14px }
.fi-hero{ position:relative; display:flex; align-items:center; gap:16px; padding:20px; border-radius:var(--r); border:1px solid var(--linha); box-shadow:var(--sombra); flex-wrap:wrap;
  background:radial-gradient(70% 120% at 0% 0%,color-mix(in srgb,var(--ia) 12%,transparent),transparent 60%),var(--sup) }
.fi-volta{ position:absolute; top:10px; right:10px }
.fi-av{ width:64px; height:64px; font-size:1.6em; border-radius:20px; flex:none }
.fi-quem{ min-width:220px } .fi-quem h1{ font-family:var(--f-disp); font-weight:800; font-size:1.55em; letter-spacing:-.02em; margin:2px 0 4px }
.fi-tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px } .fi-tags .chip{ height:24px; font-size:.74em }
.fi-acoes{ display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.fi-st{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:10px }
.fi-st-i{ display:flex; flex-direction:column; gap:4px; align-items:flex-start; padding:12px 14px; border-radius:14px; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra) }
.fi-st-i .r{ font-size:.72em; font-family:var(--f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--tx-3) } .fi-st-i b{ font-size:1.02em }
.fi-niv{ width:100%; flex-wrap:wrap } .fi-niv button{ flex:1 1 auto }
.fi-tec{ display:flex; flex-direction:column; gap:6px }
.fi-tec-i,.fi-job{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0; flex-wrap:wrap }
.fi-tec-i .tec-ic{ grid-area:auto }
.fi-tec-i > .cresce{ display:flex; flex-direction:column }
.fi-pacote{ background:color-mix(in srgb,var(--ia) 5%,var(--sup)); border-color:color-mix(in srgb,var(--ia) 22%,var(--linha)) }
.fi-pac-l{ list-style:none; margin:0; padding:0; display:grid; gap:6px; font-size:.9em } .fi-pac-l li{ display:flex; gap:8px; align-items:flex-start } .fi-pac-l .ic{ color:var(--ia-tx); margin-top:2px }
@media (max-width:640px){ .fi-hero{ padding:16px; padding-top:44px } .fi-acoes{ width:100% } .fi-acoes .bt{ flex:1 1 auto } }

/* ---------- fila da Nomeia_iA */
.fl-hero{ display:flex; flex-direction:column; gap:14px; margin-bottom:14px; background:radial-gradient(60% 90% at 100% 0%,color-mix(in srgb,var(--ia) 11%,transparent),transparent 65%),var(--sup) }
.fl-hero h2{ font-family:var(--f-disp); font-weight:800; font-size:1.35em; margin:4px 0 4px }
.fl-etapas{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; counter-reset:fl }
.fl-etapas li{ position:relative; display:flex; flex-direction:column; gap:3px; padding:12px 12px 10px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.fl-etapas li b{ font-size:.86em; line-height:1.25 } .fl-etapas li .mini{ line-height:1.35 }
.fl-n{ font-family:var(--f-mono); font-size:.7em; color:var(--tx-3) }
.fl-c{ position:absolute; top:10px; right:12px; font-family:var(--f-disp); font-weight:800; font-size:1.1em; color:var(--tx-3) }
.fl-etapas li.tem{ border-color:color-mix(in srgb,var(--ia) 45%,var(--linha)); background:color-mix(in srgb,var(--ia) 8%,var(--fundo-2)) } .fl-etapas li.tem .fl-c{ color:var(--ia-tx) }
.fl-etapas li:not(:last-child)::after{ content:""; position:absolute; right:-7px; top:50%; width:6px; height:2px; background:var(--linha-2) }
.fl-info{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.fl-info-i{ display:flex; flex-direction:column; gap:4px; align-items:flex-start; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.fl-info-i .r{ font-size:.7em; font-family:var(--f-mono); letter-spacing:.08em; text-transform:uppercase; color:var(--tx-3) }
.fl-info-i b.ok{ color:var(--ok-tx) } .fl-info-i b.err{ color:var(--err-tx) }
.fl-cam{ max-width:100%; overflow-wrap:anywhere; font-size:.78em; padding:4px 8px; border-radius:8px; background:var(--sup-2) }
.fl-como{ display:flex; gap:12px; align-items:center; padding:12px 14px; border-radius:14px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 28%,transparent); font-size:.9em; line-height:1.55 }
.fl-bts{ align-items:center }
.fl-lista{ gap:10px }
.fl-item{ border-left:3px solid var(--linha-2) }
.fl-item.st-na-fila{ border-left-color:var(--ate) } .fl-item.st-em-processamento,.fl-item.st-resposta-entregue,.fl-item.st-resposta-recebida{ border-left-color:var(--ia) } .fl-item.st-aguardando-aprovacao,.fl-item.st-aplicado{ border-left-color:var(--ok) } .fl-item.st-com-erro{ border-left-color:var(--err) } .fl-item.st-preparando{ border-left-color:var(--info) }
.fl-item-t{ display:flex; align-items:center; gap:10px; flex-wrap:wrap } .fl-item-t .mono{ font-family:var(--f-mono); font-size:.9em }
.fl-item-m{ margin-top:6px }
.fl-arq{ display:flex; align-items:center; gap:6px; margin-top:8px; font-size:.85em; font-family:var(--f-mono); overflow-wrap:anywhere } .fl-arq a{ color:var(--ia-tx) }
.fl-erro{ margin-top:10px }
.fl-item-b{ margin-top:10px }
@media (max-width:980px){ .fl-etapas{ grid-template-columns:repeat(3,minmax(0,1fr)) } .fl-etapas li:nth-child(3n)::after{ display:none } .fl-info{ grid-template-columns:1fr } }
@media (max-width:520px){ .fl-etapas{ grid-template-columns:repeat(2,minmax(0,1fr)) } .fl-etapas li::after{ display:none } .fl-como{ flex-direction:column; align-items:flex-start } }

/* ---------- dúvidas: mentor */
.dvm-topo{ margin-bottom:14px } .dvm-topo h2{ font-family:var(--f-disp); font-weight:800; font-size:1.3em; margin:4px 0 6px } .dvm-topo p{ max-width:80ch; line-height:1.55 }
.dvm-aluno{ display:grid; grid-template-columns:280px minmax(0,1fr); gap:14px; align-items:start; margin-bottom:18px }
.dvm-perfil{ position:sticky; top:calc(var(--topo-h,60px) + 10px) }
.dvm-fracos{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px } .dvm-fracos .rotulo{ width:100% }
.dvm-lista{ gap:10px }
.dvm-q{ display:flex; flex-direction:column; gap:10px } .dvm-q.aberta{ border-color:color-mix(in srgb,var(--ate) 40%,var(--linha)) }
.dvm-q-t{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0 }
.dvm-q-txt{ font-size:.98em; line-height:1.6; padding:12px 14px; border-radius:14px 14px 14px 4px; background:var(--fundo-2); border:1px solid var(--linha); white-space:pre-wrap }
.dvm-resp{ display:flex; flex-direction:column; gap:8px; padding:12px; border-radius:14px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 26%,transparent) }
.dvm-resp-cab{ display:flex; align-items:center; gap:8px; flex-wrap:wrap } .dvm-resp-cab .ia-av{ width:28px; height:28px; border-radius:9px } .dvm-resp-cab .bt.fant{ font-family:var(--f-mono); font-size:.78em }
.dvm-resp textarea{ min-height:110px }
.dvm-prev{ padding:8px 10px; border-radius:10px; background:var(--sup); border:1px dashed var(--linha-2); white-space:pre-wrap }
.dvm-feita{ display:flex; gap:10px; align-items:flex-start } .dvm-feita p{ margin-top:4px; line-height:1.55; white-space:pre-wrap }
@media (max-width:900px){ .dvm-aluno{ grid-template-columns:1fr } .dvm-perfil{ position:static } }

/* ---------- dúvidas: aluno */
.duv-topo{ position:relative; width:40px; justify-content:center; padding:0 } .duv-topo .ic{ width:19px; height:19px; color:var(--ia-tx) }
.duv-topo .badge{ position:absolute; top:-4px; right:-4px }
.duv{ display:flex; flex-direction:column; gap:14px; max-width:860px }
.duv-nova{ display:flex; flex-direction:column; gap:12px; border-color:color-mix(in srgb,var(--ia) 30%,var(--linha)); background:radial-gradient(80% 100% at 0% 0%,color-mix(in srgb,var(--ia) 9%,transparent),transparent 60%),var(--sup) }
.duv-nova-cab{ display:flex; gap:12px; align-items:center } .duv-nova-cab .cresce{ display:flex; flex-direction:column; gap:2px }
.duv-nova textarea{ min-height:110px }
.duv-l{ gap:12px }
.duv-item{ display:flex; flex-direction:column; gap:8px; padding-bottom:12px; border-bottom:1px solid var(--linha) } .duv-item:last-child{ border-bottom:0; padding-bottom:0 }
.duv-perg{ align-self:flex-end; max-width:88%; padding:10px 14px; border-radius:16px 16px 4px 16px; background:color-mix(in srgb,var(--ac) 12%,var(--sup-2)); border:1px solid color-mix(in srgb,var(--ac) 22%,var(--linha)) }
.duv-perg p{ margin-top:6px; line-height:1.55; white-space:pre-wrap }
.duv-meta{ display:flex; gap:8px; align-items:center; flex-wrap:wrap } .duv-meta .chip{ height:22px; font-size:.72em; max-width:100%; overflow:hidden; text-overflow:ellipsis }
.duv-resp{ display:flex; gap:10px; align-items:flex-start; max-width:92%; padding:12px 14px; border-radius:16px 16px 16px 4px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 26%,transparent) }
.duv-resp p{ margin-top:4px; line-height:1.6 } .duv-resp .ia-av{ width:30px; height:30px; border-radius:10px }
.duv-esp{ display:flex; gap:8px; align-items:center; font-size:.84em; color:var(--tx-2); padding-left:4px } .duv-esp .ic{ color:var(--ate) }
.duv-atv{ display:flex; gap:10px; align-items:center; margin-top:14px; padding:12px; border-radius:14px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 26%,transparent); flex-wrap:wrap }
.duv-atv .ia-av{ width:30px; height:30px; border-radius:10px }

/* ---------- ajustes: segurança e ranking */
.aj-lin{ display:flex; align-items:center; gap:12px; flex-wrap:wrap } .aj-lin .mi{ width:40px; height:40px; border-radius:12px; flex:none; display:inline-flex; align-items:center; justify-content:center; background:var(--ok-suave); color:var(--ok-tx) }
.cs-ic{ width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx); margin-bottom:12px }
#cs-c p{ line-height:1.6 }
.cs-otp{ font-family:var(--f-mono); font-size:1.35em; letter-spacing:.5em; text-align:center }
.cs-olho{ top:50%!important }

/* ---------- início: meta sendo preparada (linha do tempo da fila) */
.ini-prep{ display:flex; flex-direction:column; gap:14px; border-color:color-mix(in srgb,var(--ia) 30%,var(--linha)); background:radial-gradient(70% 100% at 0% 0%,color-mix(in srgb,var(--ia) 11%,transparent),transparent 60%),var(--sup) }
.ip2-cab{ display:flex; gap:12px; align-items:flex-start } .ip2-cab h2{ font-family:var(--f-disp); font-weight:800; font-size:1.25em; letter-spacing:-.02em; margin:4px 0 4px } .ip2-cab p{ line-height:1.55 }
.ip2-linha{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px }
.ip2-linha li{ position:relative; display:flex; flex-direction:column; gap:4px; padding:12px 10px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); color:var(--tx-2); min-width:0 }
.ip2-linha li b{ font-size:.84em; line-height:1.3; color:var(--tx-2) }
.ip2-pt{ width:24px; height:24px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.72em; background:var(--sup-2); border:1px solid var(--linha-2); color:var(--tx-3) }
.ip2-pt .ic{ width:14px; height:14px; stroke-width:2.4 }
.ip2-linha li.ok{ background:color-mix(in srgb,var(--ok) 7%,var(--fundo-2)) } .ip2-linha li.ok .ip2-pt{ background:var(--ok); border-color:var(--ok); color:var(--on-fill) } .ip2-linha li.ok b{ color:var(--tx) }
.ip2-linha li.at{ border-color:color-mix(in srgb,var(--ia) 55%,var(--linha)); background:color-mix(in srgb,var(--ia) 10%,var(--fundo-2)) } .ip2-linha li.at b{ color:var(--tx) }
.ip2-linha li.at .ip2-pt{ background:var(--ia); border-color:var(--ia); color:#07122B; box-shadow:0 0 0 0 color-mix(in srgb,var(--ia) 60%,transparent); animation:ip2Pulso 2s ease-out infinite }
@keyframes ip2Pulso{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb,var(--ia) 55%,transparent) } 70%{ box-shadow:0 0 0 10px transparent } 100%{ box-shadow:0 0 0 0 transparent } }
.ip2-rod{ margin-top:-4px } .ip2-bts{ align-items:center }
@media (max-width:720px){ .ip2-linha{ grid-template-columns:1fr; gap:6px } .ip2-linha li{ flex-direction:row; align-items:center; gap:10px; padding:10px 12px } .ip2-linha li .mini{ margin-left:auto; text-align:right } }
@media (prefers-reduced-motion:reduce){ .ip2-linha li.at .ip2-pt{ animation:none } }
:root[data-movimento="reduzido"] .ip2-linha li.at .ip2-pt{ animation:none }

/* ---------- ranking: área de cada aluno */
.rk-area{ display:inline-flex; align-items:center; gap:6px; font-size:.82em; white-space:nowrap } .rk-area::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--ca,#8FB4FF) }
.rk-eu{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:10px; font-size:.86em; color:var(--tx-2) } .rk-eu b{ color:var(--tx) }
.rk-areas{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px }

a.bt{ text-decoration:none }


/* rodada 14 · "Nomeia_iA" com a faísca no pingo do i (igual ao logotipo) */
:root{ --nm-f:#8FB4FF }
:root[data-tema="manha"]{ --nm-f:#2457C4 }
.sempre-escuro{ --nm-f:#8FB4FF }
.bt .nm-ia, .chip .nm-ia, .tag .nm-ia{ --nm-f:currentColor }
.nm-ia, .nm-ia .nm-v{ display:inline!important; white-space:nowrap; margin:0!important; padding:0!important }
.nm-ia .nm-i{ display:inline-block!important; margin:0!important; padding:0!important }
.nm-sr{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0 }
.nm-v{ -webkit-user-select:none; user-select:none }
.nm-i{ position:relative; display:inline-block; line-height:1 }
.nm-f{ position:absolute; left:50%; bottom:.66em; width:.4em; height:.4em; transform:translateX(-50%); fill:var(--nm-f); overflow:visible; pointer-events:none;
  filter:drop-shadow(0 0 .12em color-mix(in srgb, var(--nm-f) 55%, transparent)) }
@media print{ .nm-f{ filter:none } }

/* =====================================================================================================
   RODADA 14 (v1.7) · painel do mentor reorganizado, fila por aluno, interessados, página inicial,
   área de espera, manual do aluno, meta sem internet, reanálise, ranking por período, objetivo (área · fase)
   ===================================================================================================== */
/* ---------- utilidades */
.chip-fase{ display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 9px; border-radius:8px; font-size:.74em; font-weight:700; white-space:nowrap;
  color:var(--cf); background:color-mix(in srgb,var(--cf) 12%,transparent); border:1px solid color-mix(in srgb,var(--cf) 34%,transparent) }
.chip-fase::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--cf) }
:root[data-tema="manha"] .chip-fase{ color:color-mix(in srgb,var(--cf) 55%,#0C1222) }
.chip-modo{ display:inline-flex; align-items:center; gap:5px; height:24px; padding:0 9px; border-radius:8px; font-size:.72em; font-weight:700; white-space:nowrap; background:var(--sup-2); border:1px solid var(--linha-2); color:var(--tx-2) }
.chip-modo i{ font-style:normal; font-weight:500; opacity:.7 }
.chip-modo.m-manual{ color:var(--ouro-tx); border-color:var(--ouro-borda); background:var(--ouro-suave) }
.chip-modo.m-semi{ color:var(--ia-tx); border-color:var(--ia-borda); background:var(--ia-suave) }
.chip-modo.m-auto{ color:var(--ok-tx); border-color:color-mix(in srgb,var(--ok) 35%,transparent); background:var(--ok-suave) }
.perigo-tx{ color:var(--err-tx)!important }
.carregando-suave{ opacity:.55; transition:opacity .2s; pointer-events:none }
.sw{ position:relative; flex:none; width:48px; height:28px; border-radius:14px; background:var(--sup-4); border:1px solid var(--linha-2); transition:background .2s,border-color .2s; cursor:pointer }
.sw i{ position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.3); transition:transform .2s }
.sw[aria-checked="true"]{ background:var(--ok); border-color:var(--ok) } .sw[aria-checked="true"] i{ transform:translateX(20px) }
.sw:disabled{ opacity:.6 }
.aj-part{ margin-top:12px; padding-top:12px; border-top:1px solid var(--linha); align-items:center }

/* ---------- carreira: órgão → cargo */
.carr{ display:flex; flex-direction:column; gap:10px }
.carr-rot{ display:flex; flex-direction:column; gap:2px; font-weight:650; font-size:.9em }
.carr-grupos{ display:flex; flex-wrap:wrap; gap:6px }
.carr-g{ min-height:36px; padding:0 12px; border-radius:10px; font-size:.84em; font-weight:700; background:var(--fundo-2); border:1px solid var(--linha); color:var(--tx-2) }
.carr-g:hover{ border-color:var(--linha-2); color:var(--tx) }
.carr-g[aria-pressed="true"]{ background:var(--ia-suave); color:var(--ia-tx); border-color:color-mix(in srgb,var(--ia) 45%,transparent) }
.carr-g.indef{ font-weight:600; border-style:dashed } .carr-g.indef[aria-pressed="true"]{ background:var(--ouro-suave); color:var(--ouro-tx); border-color:var(--ouro-borda); border-style:solid }
.carr-cargos{ padding:10px 12px; border-radius:12px; background:var(--sup-2); border:1px solid var(--linha) }
.carr-gt{ font-size:.82em; margin-bottom:8px; color:var(--tx-2) } .carr-gt b{ color:var(--tx) }
.carr-cs{ display:flex; flex-wrap:wrap; gap:6px }
.carr-c{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:1px; padding:7px 11px; border-radius:10px; font-size:.82em; font-weight:650; text-align:left; background:var(--fundo-2); border:1px solid var(--linha); color:var(--tx) }
.carr-c small{ font-size:.82em; font-weight:500; color:var(--tx-3) }
.carr-c[aria-pressed="true"]{ background:color-mix(in srgb,var(--ouro) 14%,var(--sup)); border-color:var(--ouro-borda); box-shadow:0 0 0 2px color-mix(in srgb,var(--ouro) 18%,transparent) }
.carr-nota{ display:flex; gap:8px; align-items:flex-start; padding:9px 11px; border-radius:10px; background:var(--ouro-suave); color:var(--tx) } .carr-nota .faisca,.carr-nota .ic{ color:var(--ouro); flex:none; margin-top:2px }
.carr-vazio{ display:flex; gap:6px; align-items:center }

/* ---------- mentor: cabeçalho, visão geral */
.m14{ display:flex; flex-direction:column; gap:14px }
.m14-cab{ display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; padding:4px 2px 2px }
.m14-kicker{ font-family:var(--f-mono); font-size:.66em; letter-spacing:.14em; text-transform:uppercase; color:var(--ouro-tx) }
.m14-cab h1{ font-family:var(--f-disp); font-weight:800; font-size:1.75em; letter-spacing:-.025em; margin:4px 0 4px; line-height:1.1 }
.m14-cab p{ max-width:72ch; line-height:1.55 }
.m14-cab-bts{ display:flex; gap:8px; flex-wrap:wrap }
.m14-kpis{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px }
.m14-kpi{ display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; text-align:left; padding:14px; border-radius:16px; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra); color:var(--tx); min-width:0 }
.m14-kpi:hover{ border-color:var(--linha-2); transform:translateY(-1px) }
.m14-kpi-ic{ grid-row:1 / 3; width:40px; height:40px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--sup-2); color:var(--tx-2) }
.m14-kpi-n{ font-family:var(--f-disp); font-weight:800; font-size:1.55em; line-height:1 } .m14-kpi-n small{ font-size:.55em; color:var(--tx-2) }
.m14-kpi-r{ font-size:.78em; color:var(--tx-2); line-height:1.3; overflow:hidden; text-overflow:ellipsis }
.m14-kpi.on .m14-kpi-ic{ background:var(--ia-suave); color:var(--ia-tx) } .m14-kpi.ok .m14-kpi-ic{ background:var(--ok-suave); color:var(--ok-tx) } .m14-kpi.ate .m14-kpi-ic{ background:var(--ate-suave); color:var(--ate) }
.m14-grade{ display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:14px; align-items:start }
.m14-grade > .m14-pend{ grid-row:span 3 }
.m14-p{ display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--linha) } .m14-p:first-of-type{ border-top:0 }
.m14-p-ic{ width:36px; height:36px; flex:none; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx) }
.m14-p.t-prontas .m14-p-ic{ background:var(--ok-suave); color:var(--ok-tx) } .m14-p.t-erro .m14-p-ic{ background:var(--err-suave); color:var(--err-tx) }
.m14-p.t-fichas .m14-p-ic,.m14-p.t-pagamentos .m14-p-ic{ background:var(--ouro-suave); color:var(--ouro-tx) } .m14-p.t-reanalise .m14-p-ic{ background:var(--ate-suave); color:var(--ate) }
.m14-p-l{ display:flex; flex-direction:column; gap:2px; margin-top:4px; font-size:.82em; color:var(--tx-2) } .m14-p-l span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.m14-ok{ display:flex; gap:12px; align-items:center; padding:14px; border-radius:14px; background:var(--ok-suave) } .m14-ok > .ic{ color:var(--ok); flex:none }
.m14-funil{ list-style:none; margin:0 0 10px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px }
.m14-funil li{ display:flex; flex-direction:column; gap:2px; padding:10px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0 }
.m14-funil li .num{ font-family:var(--f-disp); font-weight:800; font-size:1.35em; color:var(--tx-3) } .m14-funil li b{ font-size:.72em; font-weight:650; color:var(--tx-2); line-height:1.25 }
.m14-funil li.tem .num{ color:var(--ia-tx) } .m14-funil li.tem:nth-child(3) .num{ color:var(--ok-tx) } .m14-funil li.tem:nth-child(4) .num{ color:var(--err-tx) }
.m14-linhas{ display:flex; flex-direction:column; gap:7px; font-size:.86em } .m14-linhas > div{ display:flex; align-items:center; justify-content:space-between; gap:10px }
.m14-nums{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-bottom:10px }
.m14-nums div{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 4px; border-radius:10px; background:var(--fundo-2) } .m14-nums b{ font-family:var(--f-disp); font-size:1.2em } .m14-nums span{ font-size:.68em; color:var(--tx-2); text-align:center }
.m14-areas{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-bottom:10px } .m14-areas .num{ font-size:.9em; margin-right:6px }
@media (max-width:1100px){ .m14-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)) } }
@media (max-width:900px){ .m14-grade{ grid-template-columns:1fr } .m14-grade > .m14-pend{ grid-row:auto } }
@media (max-width:640px){ .m14-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)) } .m14-cab h1{ font-size:1.45em } .m14-cab-bts{ width:100% } .m14-cab-bts .bt{ flex:1 } .m14-nums{ grid-template-columns:repeat(3,minmax(0,1fr)) } .m14-funil{ grid-template-columns:repeat(2,minmax(0,1fr)) } }

/* ---------- mentor: alunos em quadros ou lista */
.al-barra{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.al-busca{ position:relative; display:flex; align-items:center; flex:1 1 240px; max-width:360px } .al-busca .ic{ position:absolute; left:12px; color:var(--tx-3) } .al-busca .entrada{ padding-left:36px; min-height:42px }
.al-f button,.al-vista button{ white-space:nowrap }
.al-vista .ic{ width:18px; height:18px }
.al-obj{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0 } .al-obj .mini{ max-width:100%; flex:1 1 140px }
.al-tab td{ vertical-align:middle } .al-quem{ display:flex; align-items:center; gap:10px; min-width:180px } .al-quem .avatar{ width:34px; height:34px; flex:none; color:#fff } .al-quem > div{ display:flex; flex-direction:column }
.al-alvo{ max-width:240px; margin-top:4px } .al-bts{ white-space:nowrap; text-align:right } .al-bts > *{ vertical-align:middle }
@media (max-width:760px){ .al-busca{ max-width:none; flex-basis:100% } .al-barra .cresce{ display:none } }

/* ---------- mentor: Nomeia_iA (linha de produção das metas) */
.nm-hero{ display:flex; flex-direction:column; gap:14px; background:radial-gradient(80% 120% at 0% 0%,color-mix(in srgb,var(--ia) 12%,transparent),transparent 62%),var(--sup) }
.nm-hero-t{ display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap } .nm-hero-t h2{ font-family:var(--f-disp); font-weight:800; font-size:1.35em; letter-spacing:-.02em; margin:4px 0 6px }
.nm-hero-t p{ max-width:76ch; line-height:1.55 }
.nm-hero-bts{ display:flex; flex-direction:column; gap:8px; align-items:stretch }
.nm-info{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px }
.nm-info > div{ display:flex; flex-direction:column; gap:4px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); min-width:0; align-items:flex-start }
.nm-info .r{ font-family:var(--f-mono); font-size:.64em; letter-spacing:.1em; text-transform:uppercase; color:var(--tx-3) }
.nm-cam{ font-size:.74em; word-break:break-all; color:var(--tx-2) }
.nm-como summary{ cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-weight:650; font-size:.9em; color:var(--ia-tx) }
.nm-pastas{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:10px; margin-top:10px }
.nm-arv{ display:flex; flex-direction:column; gap:6px; padding:12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.84em; min-width:0 }
.nm-arv > b{ font-family:var(--f-mono); font-size:.86em; color:var(--tx); word-break:break-word } .nm-arv > span{ display:flex; gap:7px; align-items:flex-start; color:var(--tx-2); padding-left:8px } .nm-arv .ic{ flex:none; margin-top:2px; color:var(--ouro) }
.nm-abas{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding:2px }
.nm-abas::-webkit-scrollbar{ display:none }
.nm-abas button{ display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 14px; border-radius:12px; font-size:.86em; font-weight:700; white-space:nowrap; background:var(--sup); border:1px solid var(--linha); color:var(--tx-2) }
.nm-abas button .num{ min-width:22px; height:20px; padding:0 6px; border-radius:10px; font-size:.82em; display:inline-flex; align-items:center; justify-content:center; background:var(--sup-3); color:var(--tx-2) }
.nm-abas button.tem .num{ background:var(--ia); color:#07122B }
.nm-abas button[aria-selected="true"]{ background:var(--ia-suave); color:var(--ia-tx); border-color:color-mix(in srgb,var(--ia) 45%,transparent) }
.nm-corpo{ display:flex; flex-direction:column; gap:10px }
.nm-lista{ gap:10px }
.nm-bulk{ align-items:center; padding:10px 12px; border-radius:12px; background:var(--ouro-suave); border:1px solid var(--ouro-borda) }
.nm-it{ display:flex; flex-direction:column; gap:10px; border-left:3px solid var(--linha-2) }
.nm-it.g-solicitacoes{ border-left-color:var(--ouro) } .nm-it.g-analise{ border-left-color:var(--ia) } .nm-it.g-prontas{ border-left-color:var(--ok) } .nm-it.g-erro{ border-left-color:var(--err) }
.nm-it-cab{ display:flex; align-items:center; gap:10px; flex-wrap:wrap } .nm-it-cab .avatar{ width:36px; height:36px; flex:none; color:#fff }
.nm-it-bts{ align-items:center; gap:8px } .nm-it-bts > .bt-ic{ margin-left:auto }
.nm-motivo{ margin:0; padding:10px 14px; border-left:3px solid var(--ate); border-radius:0 12px 12px 0; background:var(--ate-suave); font-size:.92em; line-height:1.55 } .nm-motivo cite{ display:block; margin-top:6px; font-style:normal; font-size:.78em; color:var(--tx-2) }
.nm-ins{ display:flex; gap:8px; align-items:flex-start; padding:8px 10px; border-radius:10px; background:var(--fundo-2) } .nm-ins .ic{ flex:none; margin-top:2px; color:var(--ouro) }
.nm-pronta{ padding:10px 12px; border-radius:12px; background:var(--ok-suave) } .nm-pronta p{ line-height:1.55 }
.nm-etapa{ display:flex; gap:4px; flex-wrap:wrap } .nm-etapa span{ padding:4px 10px; border-radius:8px; font-size:.74em; font-weight:650; background:var(--fundo-2); color:var(--tx-3); border:1px solid var(--linha) }
.nm-etapa span.ok{ color:var(--ok-tx); border-color:color-mix(in srgb,var(--ok) 30%,transparent) } .nm-etapa span.at{ color:var(--ia-tx); background:var(--ia-suave); border-color:var(--ia-borda) }
.nm-modos{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.nm-modo{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px; border-radius:14px; text-align:left; background:var(--fundo-2); border:1.5px solid var(--linha); color:var(--tx) }
.nm-modo span{ font-size:.82em; line-height:1.5; color:var(--tx-2) }
.nm-modo[aria-pressed="true"]{ border-color:var(--ia); background:color-mix(in srgb,var(--ia) 8%,var(--sup)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ia) 15%,transparent) }
.nm-modo.m-manual[aria-pressed="true"]{ border-color:var(--ouro); background:color-mix(in srgb,var(--ouro) 8%,var(--sup)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ouro) 15%,transparent) }
.nm-modo.m-auto[aria-pressed="true"]{ border-color:var(--ok); background:color-mix(in srgb,var(--ok) 8%,var(--sup)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 15%,transparent) }
.nm-sel{ min-height:38px; padding:4px 10px; font-size:.86em; min-width:220px }
.nm-proc{ display:flex; flex-direction:column; gap:12px; line-height:1.55 }
.nm-proc-n{ display:flex; align-items:baseline; gap:10px; padding:12px 14px; border-radius:14px; background:var(--ia-suave) } .nm-proc-n b{ font-family:var(--f-disp); font-size:2em; color:var(--ia-tx) }
.nm-proc-l{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:8px; font-size:.92em }
@media (max-width:900px){ .nm-info{ grid-template-columns:repeat(2,minmax(0,1fr)) } .nm-pastas{ grid-template-columns:1fr } }
@media (max-width:640px){ .nm-modos{ grid-template-columns:1fr } .nm-hero-bts{ flex-direction:row; width:100%; flex-wrap:wrap } .nm-hero-bts .bt{ flex:1 } .nm-sel{ min-width:0; width:100% } .nm-info{ grid-template-columns:1fr } }

/* ---------- desfazer meta */
.df{ display:flex; flex-direction:column; gap:12px }
.df-num{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
.df-n{ display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:14px; border:1px solid var(--linha) } .df-n b{ font-family:var(--f-disp); font-size:1.6em; line-height:1 } .df-n span{ font-size:.78em; color:var(--tx-2); line-height:1.4 }
.df-n.sai{ background:var(--err-suave); border-color:color-mix(in srgb,var(--err) 30%,transparent) } .df-n.sai b{ color:var(--err-tx) }
.df-n.fica{ background:var(--ok-suave); border-color:color-mix(in srgb,var(--ok) 30%,transparent) } .df-n.fica b{ color:var(--ok-tx) }
.df-ops{ display:flex; flex-direction:column; gap:8px }
.df-op{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; padding:12px 14px; border-radius:14px; text-align:left; background:var(--fundo-2); border:1.5px solid var(--linha); color:var(--tx) }
.df-op span{ font-size:.84em; color:var(--tx-2) } .df-op[aria-pressed="true"]{ border-color:var(--ia); background:color-mix(in srgb,var(--ia) 8%,var(--sup)) }
@media (max-width:560px){ .df-num{ grid-template-columns:1fr } }

/* ---------- mentor: interessados */
.ld-status{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.ld-st{ display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 11px; border-radius:10px; font-size:.8em; font-weight:650; background:var(--sup); border:1px solid var(--linha); color:var(--tx-2) }
.ld-st.on{ color:var(--ok-tx); border-color:color-mix(in srgb,var(--ok) 35%,transparent); background:var(--ok-suave) } .ld-st.off{ color:var(--ate-tx); border-color:color-mix(in srgb,var(--ate) 35%,transparent); background:var(--ate-suave) }
.ld-fil{ align-self:flex-start }
.ld-lista{ grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) }
.ld-card{ display:flex; flex-direction:column; gap:10px; text-align:left; color:var(--tx); cursor:pointer } .ld-card:hover{ border-color:var(--linha-2) }
.ld-card-t{ display:flex; align-items:center; gap:10px; min-width:0 } .ld-card-t .avatar{ width:38px; height:38px; flex:none } .ld-card-t > div{ display:flex; flex-direction:column }
.ld-tags{ display:flex; flex-wrap:wrap; gap:6px }
.ld-alvo{ display:flex; gap:6px; align-items:flex-start; line-height:1.45 } .ld-alvo .ic{ flex:none; margin-top:3px; color:var(--ouro) }
.ld-det{ display:flex; flex-direction:column; gap:14px }
.ld-det-top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.ld-acoes{ display:flex; gap:8px; flex-wrap:wrap; padding:12px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.ld-sec{ display:flex; flex-direction:column; gap:6px } .ld-sec h3{ font-family:var(--f-mono); font-size:.68em; letter-spacing:.12em; text-transform:uppercase; color:var(--tx-3); margin-bottom:2px }
.ld-l{ display:flex; justify-content:space-between; gap:14px; padding:6px 0; border-bottom:1px solid var(--linha); font-size:.9em } .ld-l span{ color:var(--tx-2) } .ld-l b,.ld-l a{ text-align:right; word-break:break-word }
.ld-t{ padding:8px 0; border-bottom:1px solid var(--linha); font-size:.9em } .ld-t span{ display:block; color:var(--tx-2); font-size:.86em; margin-bottom:3px } .ld-t p{ line-height:1.55; white-space:pre-wrap }
.ld-arq{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:var(--fundo-2); border:1px solid var(--linha); color:var(--tx); text-decoration:none; font-size:.88em } .ld-arq .mini{ margin-left:auto }
.ld-msg{ padding:10px 12px; border-radius:12px; background:var(--fundo-2); display:flex; flex-direction:column; gap:3px }
.ld-rod{ display:flex; gap:8px; justify-content:space-between; flex-wrap:wrap; padding-top:10px; border-top:1px solid var(--linha) }

/* ---------- configurações */
.cfg-sw{ display:flex; align-items:flex-start; gap:12px; padding:12px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); cursor:pointer; line-height:1.45 }
.cfg-sw input{ position:absolute; opacity:0; pointer-events:none }
.cfg-sw-v{ position:relative; flex:none; width:44px; height:26px; margin-top:2px; border-radius:13px; background:var(--sup-4); border:1px solid var(--linha-2); transition:background .2s }
.cfg-sw-v::after{ content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.3); transition:transform .2s }
.cfg-sw input:checked + .cfg-sw-v{ background:var(--ok); border-color:var(--ok) } .cfg-sw input:checked + .cfg-sw-v::after{ transform:translateX(18px) }
.cfg-sw input:focus-visible + .cfg-sw-v{ outline:2px solid var(--ac); outline-offset:2px }
.cfg-links{ display:flex; align-items:center; gap:8px; margin-top:6px } .cfg-links code{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.74em; padding:6px 8px; border-radius:8px; background:var(--fundo-2) }
.cfg-passos{ margin:0; padding-left:20px; display:flex; flex-direction:column; gap:10px; line-height:1.6; font-size:.92em }
.cfg-rod{ display:flex; justify-content:flex-end; margin-top:4px } .cfg-rod .bt{ min-width:180px }
.cfg-prev .esp-plano{ padding:16px; border-radius:18px; background:linear-gradient(160deg,#18233F,#0C1222); color:#F1EDE3; border:1px solid rgba(232,197,106,.3) }
.esp-plano-t{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:10px } .esp-plano-t .rotulo{ color:#E8C56A }
.esp-preco{ display:flex; align-items:baseline; gap:3px; color:#F1EDE3 } .esp-preco small{ font-size:.8em; color:#A5ADC2 } .esp-preco b{ font-family:var(--f-disp); font-size:2em; line-height:1 } .esp-preco span{ font-size:.82em; color:#A5ADC2 }
.cfg-prev .esp-plano ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.86em } .cfg-prev .esp-plano li{ display:flex; gap:8px; align-items:flex-start } .cfg-prev .esp-plano .ic{ color:#7FD1A6; flex:none; margin-top:2px }
.integ{ gap:12px } .integ-i{ display:flex; flex-direction:column; gap:10px }
.integ-t{ display:flex; gap:12px; align-items:flex-start } .integ-t .chip{ flex:none }
.integ-ic{ width:38px; height:38px; flex:none; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx) }
.integ-f{ display:flex; gap:6px; flex-wrap:wrap } .integ-f .entrada{ flex:1 1 200px; min-height:40px }

/* ---------- cadastro e ficha (rodada 14) */
.cad-carr-w{ padding:12px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.cad-lead{ align-items:center } .cad-pos{ align-items:flex-start } .cad-pos .campo label{ font-weight:650; font-size:.86em }
.fi-alerta{ margin-bottom:-2px }
.fi-edital{ display:flex; flex-direction:column; gap:8px; margin:10px 0; padding:12px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.fi-ed-arq{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.fi-modo{ min-height:36px; padding:4px 10px; font-size:.84em; margin:0 0 10px }

/* ---------- aluno: área e fase (menu, Início, Planejamento) */
.eu-obj{ font-family:var(--f-txt)!important; font-size:.74em; letter-spacing:0; color:var(--tx-2); white-space:normal; line-height:1.35; margin-top:2px }
.eu-l1,.eu-l2{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis } .eu-l1{ color:var(--tx); font-weight:650 }
.eu-pt{ display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--ca,#8FB4FF); margin-right:6px; vertical-align:1px; box-shadow:0 0 0 3px color-mix(in srgb,var(--ca,#8FB4FF) 20%,transparent) }
.eu-fase{ color:var(--cf,#8FB4FF); font-weight:700 }
:root[data-tema="manha"] .eu-fase{ color:color-mix(in srgb,var(--cf) 55%,#0C1222) }
.tel.tel-obj{ cursor:pointer; border-color:color-mix(in srgb,var(--ca) 40%,transparent)!important } .tel.tel-obj b{ color:var(--cf); font-weight:750 }
:root[data-tema="manha"] .tel.tel-obj b{ color:color-mix(in srgb,var(--cf) 55%,#0C1222) }
.ip2-obj{ display:flex; align-items:center; gap:2px; margin:-2px 0 0; color:var(--tx-2) } .ip2-obj b{ color:var(--tx); margin:0 3px }
.obj-hero{ position:relative; overflow:hidden; display:flex; flex-direction:column; gap:12px; border-color:color-mix(in srgb,var(--ca) 30%,var(--linha));
  background:radial-gradient(70% 140% at 0% 0%,color-mix(in srgb,var(--ca) 16%,transparent),transparent 62%),radial-gradient(60% 120% at 100% 0%,color-mix(in srgb,var(--cf) 12%,transparent),transparent 60%),var(--sup) }
.oh-grade{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:start }
.oh-area h2{ font-family:var(--f-disp); font-weight:800; font-size:1.6em; letter-spacing:-.025em; margin:4px 0 6px; line-height:1.1 }
.oh-area .rotulo,.oh-fase .rotulo{ color:var(--tx-2) }
.oh-alvo{ display:flex; gap:7px; align-items:flex-start; font-size:.92em; line-height:1.5 } .oh-alvo .ic{ flex:none; margin-top:3px; color:var(--ca) }
.oh-fase{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; padding:12px 14px; border-radius:16px; min-width:170px; text-align:right;
  background:color-mix(in srgb,var(--cf) 10%,var(--sup)); border:1px solid color-mix(in srgb,var(--cf) 35%,transparent) }
.oh-f{ font-family:var(--f-disp); font-weight:800; font-size:1.3em; color:var(--cf); letter-spacing:-.01em }
:root[data-tema="manha"] .oh-f{ color:color-mix(in srgb,var(--cf) 55%,#0C1222) }
.oh-dias{ display:flex; align-items:baseline; gap:6px; font-size:.8em; color:var(--tx-2) } .oh-dias b{ font-family:var(--f-disp); font-size:1.8em; color:var(--tx) }
.oh-info{ line-height:1.55; color:var(--tx-2); max-width:78ch }
.oh-lin{ display:flex; flex-wrap:wrap; gap:8px } .oh-lin span{ display:flex; flex-direction:column; gap:1px; padding:8px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.86em; font-weight:650 }
.oh-lin small{ font-family:var(--f-mono); font-size:.72em; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--tx-3) }
.oh-rod .bt-link{ padding:0; font-size:1em }
@media (max-width:640px){ .oh-grade{ grid-template-columns:1fr } .oh-fase{ align-items:flex-start; text-align:left; min-width:0 } .oh-area h2{ font-size:1.35em } }

/* ---------- aluno: meta (baixar sem internet, reanálise) */
.meta-util{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px; margin:12px 0 2px }
.mu-bt{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; text-align:left; background:var(--sup); border:1px solid var(--linha); color:var(--tx); box-shadow:var(--sombra); min-width:0 }
.mu-bt:hover{ border-color:var(--linha-2) } .mu-bt b{ display:block; font-size:.95em } .mu-bt small{ display:block; font-size:.78em; color:var(--tx-2); line-height:1.4 }
.mu-ic{ width:40px; height:40px; flex:none; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx) }
.mu-bt > .ic{ color:var(--tx-3); flex:none }
.mu-rea .mu-ic{ background:var(--ouro-suave); color:var(--ouro-tx) }
.mu-rea.on{ border-style:dashed; box-shadow:none } .mu-rea.on .mu-ic{ background:var(--ate-suave); color:var(--ate) }
.h-off{ flex:none } .historico-metas .h{ gap:6px }
.off{ display:flex; flex-direction:column; gap:14px }
.off-cab{ display:flex; gap:12px; align-items:flex-start } .off-cab p{ line-height:1.55 }
.off-ops{ display:flex; flex-direction:column; gap:8px }
.off-op{ display:flex; align-items:center; gap:12px; padding:14px; border-radius:16px; text-align:left; background:var(--fundo-2); border:1.5px solid var(--linha); color:var(--tx) }
.off-op:hover{ border-color:var(--ia-borda); background:color-mix(in srgb,var(--ia) 6%,var(--fundo-2)) } .off-op:disabled{ opacity:.6 }
.off-op .mi{ width:42px; height:42px; flex:none; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--ia-suave); color:var(--ia-tx) }
.off-op .seta{ color:var(--tx-3) }
.off-ok{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; background:var(--ok-suave); border:1px solid color-mix(in srgb,var(--ok) 30%,transparent) }
.off-ok > .ic{ color:var(--ok); flex:none } .off-ok b{ display:block; word-break:break-word } .off-ok .mini{ display:block }
.off-bts{ margin-top:8px } .off-bts .bt{ flex:1 1 180px }
.off-como{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.9em }
.off-como summary{ cursor:pointer; display:flex; align-items:center; gap:6px; font-weight:650 } .off-como ul{ margin:10px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:6px; line-height:1.55 }
.rea{ display:flex; flex-direction:column; gap:12px } .rea > p{ line-height:1.55 }
.rea-chips{ display:flex; flex-wrap:wrap; gap:6px } .rea-chips .chip{ cursor:pointer; height:auto; min-height:32px; white-space:normal; text-align:left; padding:5px 11px }
.rea-chips .chip[aria-pressed="true"]{ background:var(--ouro-suave); color:var(--ouro-tx); border-color:var(--ouro-borda) }
#rea-n.ok{ color:var(--ok-tx) }
.tec-intro{ background:radial-gradient(80% 140% at 0% 0%,color-mix(in srgb,var(--ia) 12%,transparent),transparent 60%),var(--sup) }
.ti-cab{ display:flex; gap:14px; align-items:flex-start } .ti-cab h2{ font-family:var(--f-disp); font-weight:800; font-size:1.25em; letter-spacing:-.02em; margin:4px 0 6px } .ti-cab p{ line-height:1.55; max-width:72ch }

/* ---------- aluno: ranking por período */
.rk{ display:flex; flex-direction:column; gap:14px }
.rk-filtros{ display:flex; flex-direction:column; gap:10px }
.rk-f{ display:flex; align-items:center; gap:10px; flex-wrap:wrap } .rk-f > .rotulo{ min-width:84px; color:var(--tx-2) }
.rk-seg{ max-width:100% } .rk-seg button{ white-space:nowrap }
.rk-mets{ display:flex; flex-wrap:wrap; gap:6px } .rk-mets .chip{ cursor:pointer; height:32px; padding:0 12px }
.rk-mets .chip[aria-pressed="true"]{ background:var(--ia-suave); color:var(--ia-tx); border-color:var(--ia-borda) }
.rk-data{ max-width:190px; min-height:40px }
.rk-oculto{ align-items:center; background:var(--ouro-suave)!important; border-color:var(--ouro-borda)!important }
.rk-hero{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:16px; align-items:stretch;
  background:radial-gradient(80% 140% at 0% 0%,color-mix(in srgb,var(--ouro) 12%,transparent),transparent 60%),var(--sup) }
.rk-eu-c{ display:flex; flex-direction:column; gap:6px; align-items:flex-start } .rk-eu-c .rotulo{ color:var(--tx-2) }
.rk-val{ display:flex; align-items:baseline; gap:8px } .rk-val b{ font-family:var(--f-disp); font-weight:800; font-size:2.6em; line-height:1; letter-spacing:-.03em } .rk-val small{ color:var(--tx-2) }
.rk-pos{ display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.rk-faixa{ display:inline-flex; align-items:center; height:28px; padding:0 12px; border-radius:14px; font-size:.8em; font-weight:800; background:var(--ouro-suave); color:var(--ouro-tx); border:1px solid var(--ouro-borda) }
.rk-lados{ display:grid; gap:10px; align-content:start }
.rk-lado{ display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) } .rk-lado .rotulo{ color:var(--tx-3) }
.rk-lado b{ font-family:var(--f-disp); font-size:1.4em }
.rk-frase{ display:flex; gap:10px; align-items:flex-start; margin:0; padding:12px 14px; border-radius:14px; background:var(--ia-suave); border:1px solid color-mix(in srgb,var(--ia) 22%,transparent); line-height:1.55; font-size:.92em }
.rk-frase .faisca{ width:16px; height:16px; flex:none; margin-top:3px; color:var(--ia) }
.rk-l{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column }
.rk-li{ display:flex; align-items:center; gap:12px; padding:10px 6px; border-top:1px solid var(--linha) } .rk-li:first-child{ border-top:0 }
.rk-li.eu{ margin:2px -6px; padding:10px 12px; border-radius:14px; border-top-color:transparent; background:color-mix(in srgb,var(--ouro) 10%,var(--sup)); box-shadow:inset 0 0 0 1px var(--ouro-borda) }
.rk-li-t{ display:flex; flex-direction:column; gap:3px; min-width:0 } .rk-li-n{ display:flex; align-items:center; gap:8px; flex-wrap:wrap } .rk-li-m{ display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.rk-li-m .chip-area{ font-size:.7em } .rk-li-v{ font-family:var(--f-disp); font-size:1.15em; white-space:nowrap } .rk-li-v small{ font-size:.6em; color:var(--tx-2); margin-left:2px }
.rk-sep{ text-align:center; padding:4px; color:var(--tx-3); letter-spacing:.3em }
.rk-nota{ margin-top:10px; line-height:1.5 }
.rk-priv{ padding:12px 14px } .rk-priv .mi{ color:var(--ok) } .rk-priv p{ line-height:1.5 }
@media (max-width:760px){ .rk-hero{ grid-template-columns:1fr } .rk-f > .rotulo{ min-width:0; width:100% } .rk-val b{ font-size:2.2em } }

/* ---------- página inicial (rodada 14) */
.lg14 .lg-barra{ gap:14px }
.lg-topo-cta{ display:flex; align-items:center; gap:14px; margin-left:auto }
.lg14 .lg-status{ order:3 }
.lg-link{ font-size:.86em; font-weight:650; color:#A9C5FF; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(169,197,255,.35) } .lg-link:hover{ color:#F1EDE3 }
.lg-cta{ min-height:44px; padding:0 18px; border-radius:13px; font-weight:800; background:#E8C56A!important; color:#1A1405!important; box-shadow:0 12px 30px -12px rgba(232,197,106,.65),inset 0 1px 0 rgba(255,255,255,.45)!important; gap:8px }
.lg-cta:hover{ filter:brightness(1.06) } .lg-cta .faisca{ width:15px; height:15px; color:#1A1405 }
.lg-cta.grande{ min-height:54px; padding:0 24px; font-size:1.02em }
.lg-ctas{ display:flex; gap:10px; flex-wrap:wrap; align-items:center }
.lg-conhecer{ min-height:54px; padding:0 20px; background:rgba(143,180,255,.08)!important; color:#DCE6FF!important; border:1px solid rgba(143,180,255,.3)!important }
.lg-conhecer:hover{ background:rgba(143,180,255,.14)!important }
.lg-cta-nota{ display:flex; align-items:center; gap:7px; margin:-4px 0 0; font-size:.8em; color:#8C95AE } .lg-cta-nota .ic{ width:15px; height:15px; color:#7FD1A6 }
.lg-novo{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 10px; padding:12px 14px; border-radius:14px; background:rgba(232,197,106,.07); border:1px solid rgba(232,197,106,.22); font-size:.84em; color:#A5ADC2 }
.lg-novo > span{ width:100% }
.lg-novo-bt{ display:inline-flex; align-items:center; gap:6px; font-weight:800; color:#EFD18A } .lg-novo-bt:hover{ color:#F1EDE3 } .lg-novo-bt .ic{ width:15px; height:15px }
.lg-cod-bt{ font-size:.95em; color:#A5ADC2; text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(165,173,194,.4) } .lg-cod-bt:hover{ color:#F1EDE3 }
.lg-ic-ia{ color:#8FB4FF } .lg-ic-ia .faisca{ width:24px; height:24px }
.lg-passos{ list-style:none; margin:-4px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; font-size:.72em; color:#A5ADC2 }
.lg-passos li{ display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; line-height:1.25 }
.lg-passos b{ width:22px; height:22px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.95em; background:rgba(143,180,255,.12); color:#A9C5FF; border:1px solid rgba(143,180,255,.3) }
.lg-passos li:first-child b{ background:#E8C56A; color:#1A1405; border-color:#E8C56A }
.lg-caixa .rot{ display:block; margin-bottom:7px; font-size:.9em; font-weight:650; color:#DCD8CE }
.lg-chips{ display:flex; flex-wrap:wrap; gap:6px }
.lg-chip{ display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:0 12px; border-radius:11px; font-size:.84em; font-weight:700; background:rgba(8,12,24,.5); border:1px solid rgba(143,170,230,.22); color:#C7CDDB }
.lg-chip i{ width:7px; height:7px; border-radius:50%; background:var(--ca) } .lg-chip:hover{ border-color:rgba(143,170,230,.4); color:#F1EDE3 }
.lg-chip[aria-checked="true"]{ background:color-mix(in srgb,var(--ca) 16%,#0C1222); border-color:var(--ca); color:#F1EDE3; box-shadow:0 0 0 3px color-mix(in srgb,var(--ca) 18%,transparent) }
.lg-niveis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px }
.lg-niv{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:9px 11px; border-radius:12px; text-align:left; background:rgba(8,12,24,.5); border:1px solid rgba(143,170,230,.22); color:#F1EDE3 }
.lg-niv b{ font-size:.88em } .lg-niv small{ font-size:.72em; line-height:1.35; color:#8C95AE }
.lg-niv[aria-checked="true"]{ background:rgba(143,180,255,.12); border-color:#8FB4FF; box-shadow:0 0 0 3px rgba(143,180,255,.18) } .lg-niv[aria-checked="true"] small{ color:#BFC9DE }
.lg-calib{ display:flex; gap:8px; align-items:flex-start; margin:8px 0 0; font-size:.78em; line-height:1.45; color:#A5ADC2 } .lg-calib .ic{ flex:none; width:15px; height:15px; margin-top:1px; color:#E8C56A } .lg-calib b{ color:#EFD18A }
.lg-hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden }
.lg-cons{ display:flex; gap:10px; align-items:flex-start; font-size:.8em; line-height:1.45; color:#A5ADC2; cursor:pointer }
.lg-cons input{ width:18px; height:18px; flex:none; margin-top:1px; accent-color:#E8C56A }
.lg-lcod{ letter-spacing:.32em!important; text-transform:uppercase }
@media (max-width:980px){
  .lg14 .lg-barra{ flex-wrap:wrap } .lg14 .lg-status{ display:none }
  .lg-topo-cta{ width:100%; margin-left:0; justify-content:space-between }
  .lg-topo-cta .lg-cta{ flex:1; justify-content:center; max-width:340px }
  .lg-ctas{ order:4 } .lg-cta-nota{ order:4 } .lg14 .lg-acesso{ order:5 } .lg14 .lg-console{ order:6 }
  .lg-ctas .bt{ flex:1 1 200px }
}
@media (max-width:420px){ .lg-niveis{ grid-template-columns:1fr } .lg-passos{ font-size:.66em } .lg-topo-cta .lg-link{ display:none } .lg-topo-cta .lg-cta{ max-width:none } }

/* ---------- área de espera do interessado */
.esp{ position:relative; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; color:#F1EDE3; background:#0C1222;
  background-image:radial-gradient(60% 50% at 80% 0%,rgba(110,155,255,.16),transparent 70%),radial-gradient(50% 40% at 0% 10%,rgba(232,197,106,.10),transparent 70%) }
.esp .mut,.esp .peq.mut,.esp .mini.mut{ color:#A5ADC2 }
.esp-barra{ display:flex; align-items:center; gap:12px; width:100%; max-width:1080px; margin:0 auto; padding:22px 32px 6px; flex-wrap:wrap }
.esp-barra .lg-marca{ width:170px }
.esp-pill{ display:inline-flex; align-items:center; gap:8px; height:30px; padding:0 12px; border-radius:15px; font-family:var(--f-mono); font-size:.66em; letter-spacing:.1em; text-transform:uppercase; color:#A9C5FF; background:rgba(143,180,255,.08); border:1px solid rgba(143,180,255,.2) }
.esp-barra .bt.fant{ color:#C7CDDB }
.esp-palco{ flex:1; width:100%; max-width:1080px; margin:0 auto; padding:14px 32px 30px; outline:none }
.esp-col{ display:flex; flex-direction:column; gap:16px }
.esp-rod{ display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; width:100%; max-width:1080px; margin:0 auto; padding:14px 32px 26px; font-family:var(--f-mono); font-size:.62em; letter-spacing:.06em; color:#6F7894; border-top:1px solid rgba(143,170,230,.1) }
.esp-hero{ display:flex; flex-direction:column; gap:10px; padding:10px 0 4px }
.esp-hero .rotulo{ color:#E8C56A; font-family:var(--f-mono); letter-spacing:.14em }
.esp-hero h1{ font-family:var(--f-disp); font-weight:800; font-size:clamp(1.9em,3.4vw,2.6em); letter-spacing:-.035em; line-height:1.05; margin:0; color:#F1EDE3 }
.esp-lead{ font-size:1.05em; line-height:1.6; color:#BFC6D6; max-width:62ch }
.esp-linha{ list-style:none; margin:8px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px }
.esp-linha li{ display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:rgba(18,26,46,.7); border:1px solid rgba(143,170,230,.14); font-size:.8em; line-height:1.3; color:#8C95AE; min-width:0 }
.el-pt{ width:26px; height:26px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.9em; border:1px solid rgba(143,170,230,.3); color:#8C95AE }
.el-pt .ic{ width:14px; height:14px; stroke-width:2.4 }
.esp-linha li.ok{ color:#DCD8CE } .esp-linha li.ok .el-pt{ background:#7FD1A6; border-color:#7FD1A6; color:#0C1222 }
.esp-linha li.at{ color:#F1EDE3; border-color:rgba(143,180,255,.45); background:rgba(143,180,255,.1) } .esp-linha li.at .el-pt{ background:#8FB4FF; border-color:#8FB4FF; color:#07122B; animation:ip2Pulso 2s ease-out infinite }
.esp-bloco{ padding:20px; border-radius:22px; background:linear-gradient(180deg,rgba(24,33,58,.85),rgba(15,22,41,.9)); border:1px solid rgba(143,170,230,.16); box-shadow:0 30px 80px -40px rgba(2,4,10,.8) }
.eb-t{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:12px } .eb-t h2{ font-family:var(--f-disp); font-weight:800; font-size:1.2em; letter-spacing:-.02em; margin:0 }
.esp-estado{ display:flex; gap:16px; align-items:flex-start }
.esp-estado h2{ font-family:var(--f-disp); font-weight:800; font-size:1.35em; letter-spacing:-.02em; margin:2px 0 8px }
.esp-estado p{ line-height:1.65; color:#BFC6D6; max-width:68ch } .esp-estado p b{ color:#F1EDE3 }
.ee-ic{ flex:none } .ee-ic .ia-av{ width:48px; height:48px; border-radius:15px } .ee-ic .ia-av .faisca{ width:22px; height:22px }
.ee-num{ width:48px; height:48px; border-radius:15px; display:inline-flex; align-items:center; justify-content:center; background:rgba(232,197,106,.12); color:#E8C56A; border:1px solid rgba(232,197,106,.3) }
.ee-bts{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px }
.esp-estado.ficha{ border-color:rgba(232,197,106,.35); background:radial-gradient(80% 140% at 0% 0%,rgba(232,197,106,.12),transparent 60%),linear-gradient(180deg,rgba(24,33,58,.9),rgba(15,22,41,.92)) }
.esp-estado.liberado{ border-color:rgba(143,180,255,.4); background:radial-gradient(80% 140% at 0% 0%,rgba(110,155,255,.16),transparent 60%),linear-gradient(180deg,rgba(24,33,58,.9),rgba(15,22,41,.92)) }
.esp-estado.pronta{ border-color:rgba(232,197,106,.45) }
.esp-estado .ia-rot{ color:#A9C5FF }
.esp-estado .bt.grande{ min-height:54px; padding:0 24px; margin-top:12px; font-size:1.02em }
.esp-prep{ display:flex; gap:12px; align-items:flex-start; margin-top:14px; padding:14px; border-radius:16px; background:rgba(143,180,255,.08); border:1px solid rgba(143,180,255,.22) }
.esp-prep-fx{ width:20px; height:20px; flex:none; margin-top:2px; color:#8FB4FF; animation:faiscaPisca 2.4s ease-in-out infinite }
.esp-fila{ list-style:none; margin:12px 0 0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px }
.esp-fila li{ display:flex; flex-direction:column; gap:3px; padding:8px 10px; border-radius:12px; background:rgba(8,12,24,.45); border:1px solid rgba(143,170,230,.14); font-size:.78em; color:#8C95AE }
.esp-fila li b{ color:#C7CDDB; font-size:1em } .esp-fila small{ font-size:.86em }
.ef-pt{ width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.86em; border:1px solid rgba(143,170,230,.3) } .ef-pt .ic{ width:12px; height:12px }
.esp-fila li.ok .ef-pt{ background:#7FD1A6; border-color:#7FD1A6; color:#0C1222 } .esp-fila li.at{ border-color:rgba(143,180,255,.45) } .esp-fila li.at .ef-pt{ background:#8FB4FF; color:#07122B; border-color:#8FB4FF }
.esp-msg{ padding:12px 0; border-top:1px solid rgba(143,170,230,.12) } .esp-msg:first-of-type{ border-top:0; padding-top:0 }
.em-cab{ display:flex; gap:10px; align-items:center; margin-bottom:6px } .em-cab > div{ display:flex; flex-direction:column } .em-cab .ia-av{ width:32px; height:32px; border-radius:10px } .em-cab .avatar{ width:32px; height:32px; background:rgba(232,197,106,.15); color:#E8C56A }
.esp-msg p{ line-height:1.6; color:#BFC6D6 }
.esp-plano{ border-color:rgba(232,197,106,.35); background:radial-gradient(90% 120% at 100% 0%,rgba(232,197,106,.14),transparent 60%),linear-gradient(180deg,rgba(24,33,58,.9),rgba(15,22,41,.92)) }
.ep-cab{ display:flex; gap:16px; align-items:flex-end; flex-wrap:wrap; margin-bottom:14px } .ep-cab .rotulo{ color:#E8C56A } .ep-cab h2{ font-family:var(--f-disp); font-weight:800; font-size:1.25em; margin:4px 0 0; letter-spacing:-.02em }
.ep-preco{ display:flex; align-items:baseline; gap:3px } .ep-preco small{ color:#A5ADC2 } .ep-preco b{ font-family:var(--f-disp); font-size:2.4em; line-height:1; color:#F1EDE3 } .ep-preco span{ color:#A5ADC2 }
.ep-ben{ list-style:none; margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px }
.ep-ben li{ display:flex; gap:8px; align-items:flex-start; font-size:.9em; line-height:1.45; color:#DCD8CE } .ep-ben .ic{ flex:none; margin-top:2px; color:#7FD1A6 }
.ep-seg{ display:flex; align-items:center; gap:6px; margin-top:10px }
#ep-acao{ display:flex; flex-direction:column; gap:8px }
.esp-jan .ej-grade{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px }
.ej{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px; border-radius:16px; text-align:left; background:rgba(8,12,24,.45); border:1px solid rgba(143,170,230,.16); color:#F1EDE3; min-width:0; transition:transform .15s,border-color .15s }
.ej:hover{ transform:translateY(-2px); border-color:rgba(143,180,255,.45) }
.ej-ic{ width:38px; height:38px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:rgba(143,180,255,.12); color:#8FB4FF; margin-bottom:4px }
.ej b{ font-size:.95em } .ej small{ font-size:.78em; line-height:1.4; color:#A5ADC2 }
.ej-ver{ margin-top:auto; padding-top:4px; display:inline-flex; align-items:center; gap:4px; font-size:.74em; font-weight:700; color:#A9C5FF } .ej-ver .ic{ width:13px; height:13px }
.ei-grade{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px }
.ei{ position:relative; display:flex; flex-direction:column; gap:6px; padding:16px; border-radius:16px; background:rgba(8,12,24,.45); border:1px solid rgba(143,170,230,.14) }
.ei-n{ position:absolute; top:12px; right:14px; font-family:var(--f-mono); font-size:.7em; color:#4A5577 }
.ei-ic{ width:34px; height:34px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; background:rgba(232,197,106,.12); color:#E8C56A }
.ei b{ font-size:.96em; color:#F1EDE3 } .ei p{ font-size:.84em; line-height:1.55; color:#A5ADC2 }
.esp-priv{ padding:16px 20px } .esp-priv .mi{ color:#7FD1A6 }
/* ficha passo a passo */
.esp-ficha{ display:flex; flex-direction:column; gap:14px; max-width:760px; margin:0 auto }
.ef-topo{ display:flex; align-items:center; justify-content:space-between; gap:10px } .ef-topo .bt{ color:#C7CDDB } #ef-salvo{ display:inline-flex; align-items:center; gap:4px; color:#8C95AE } #ef-salvo .ic{ color:#7FD1A6 }
.ef-cab .rotulo{ color:#E8C56A; font-family:var(--f-mono); letter-spacing:.12em } .ef-cab h1{ font-family:var(--f-disp); font-weight:800; font-size:2em; letter-spacing:-.03em; margin:4px 0 0 }
.ef-passos{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px }
.ef-passos button{ width:100%; display:flex; align-items:center; gap:7px; padding:8px 10px; border-radius:12px; font-size:.76em; font-weight:650; text-align:left; background:rgba(8,12,24,.45); border:1px solid rgba(143,170,230,.14); color:#8C95AE }
.ef-passos button span{ width:22px; height:22px; flex:none; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); border:1px solid rgba(143,170,230,.3) } .ef-passos button .ic{ width:12px; height:12px }
.ef-passos em{ font-style:normal; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.ef-passos li.ok button{ color:#DCD8CE } .ef-passos li.ok span{ background:#7FD1A6; border-color:#7FD1A6; color:#0C1222 }
.ef-passos li.at button{ color:#F1EDE3; border-color:rgba(232,197,106,.5); background:rgba(232,197,106,.08) } .ef-passos li.at span{ background:#E8C56A; border-color:#E8C56A; color:#1A1405 }
.ef-passos button:disabled{ cursor:default; opacity:.7 }
.ef-corpo{ display:flex; flex-direction:column; gap:16px; padding:22px; border-radius:22px; background:linear-gradient(180deg,rgba(24,33,58,.85),rgba(15,22,41,.9)); border:1px solid rgba(143,170,230,.16) }
.ef-corpo .campo label,.ef-corpo .rot{ display:block; margin-bottom:7px; font-size:.9em; font-weight:650; color:#DCD8CE } .ef-corpo .campo label .mut,.ef-corpo .rot .mut{ font-weight:500 }
.ef-corpo .entrada{ background:rgba(8,12,24,.55); border-color:rgba(143,170,230,.22); color:#F1EDE3; min-height:46px } .ef-corpo .entrada:focus{ border-color:#8FB4FF; box-shadow:0 0 0 3px rgba(143,180,255,.2) }
.ef-corpo textarea.entrada{ min-height:88px } .ef-corpo .entrada::placeholder{ color:#6B7594 }
.ef-corpo small.mini{ display:block; margin-top:5px }
.ef-nota{ display:flex; gap:10px; align-items:flex-start; margin:0; padding:11px 13px; border-radius:14px; background:rgba(143,180,255,.07); border:1px solid rgba(143,180,255,.18); font-size:.86em; line-height:1.5; color:#BFC6D6 }
.ef-nota .faisca{ width:16px; height:16px; flex:none; margin-top:2px; color:#8FB4FF }
.ef-chips{ display:flex; flex-wrap:wrap; gap:6px }
.ef-chip{ display:inline-flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:1px; min-height:40px; padding:6px 13px; border-radius:12px; font-size:.86em; font-weight:700; text-align:left; background:rgba(8,12,24,.5); border:1px solid rgba(143,170,230,.22); color:#C7CDDB }
.ef-chip small{ font-size:.8em; font-weight:500; color:#8C95AE } .ef-chip.dupla{ flex:1 1 150px }
.ef-chip:hover{ border-color:rgba(143,170,230,.4); color:#F1EDE3 }
.ef-chip[aria-checked="true"]{ background:rgba(232,197,106,.12); border-color:#E8C56A; color:#F1EDE3; box-shadow:0 0 0 3px rgba(232,197,106,.15) } .ef-chip[aria-checked="true"] small{ color:#DCD8CE }
.ef-fase-info{ margin-top:8px; line-height:1.5 }
.ef-horas{ display:flex; align-items:center; gap:8px; flex-wrap:wrap } .ef-horas .entrada{ width:80px; text-align:center; font-family:var(--f-disp); font-size:1.2em } .ef-horas .bt{ width:44px; padding:0; font-size:1.2em }
.ef-hist .upl-l{ background:rgba(8,12,24,.45); border-color:rgba(143,170,230,.16) }
.ef-per{ margin:4px 0 8px } .ef-h-bt{ background:rgba(8,12,24,.45); border:1.5px dashed rgba(143,180,255,.35); color:#F1EDE3 } .ef-h-bt .mi{ color:#8FB4FF }
.ef-rev{ display:flex; flex-direction:column; border-radius:16px; overflow:hidden; border:1px solid rgba(143,170,230,.16) }
.ef-rev-l{ display:flex; justify-content:space-between; gap:14px; padding:10px 14px; font-size:.9em; border-top:1px solid rgba(143,170,230,.1) } .ef-rev-l:first-child{ border-top:0 }
.ef-rev-l span{ color:#A5ADC2 } .ef-rev-l b{ text-align:right; color:#F1EDE3 } .ef-rev-l i{ font-weight:500 }
.ef-cons{ padding:12px 14px; border-radius:14px; background:rgba(8,12,24,.45); border:1px solid rgba(143,170,230,.16); font-size:.86em }
.ef-rod{ display:flex; justify-content:space-between; gap:10px } .ef-rod .bt{ min-width:150px; min-height:50px }
.esp-ficha .carr-g,.esp-ficha .carr-c{ background:rgba(8,12,24,.5); border-color:rgba(143,170,230,.22); color:#C7CDDB }
.esp-ficha .carr-cargos{ background:rgba(8,12,24,.35); border-color:rgba(143,170,230,.16) }
.esp-ficha .carr-c[aria-pressed="true"]{ background:rgba(232,197,106,.14); border-color:#E8C56A; color:#F1EDE3 } .esp-ficha .carr-g[aria-pressed="true"]{ background:rgba(143,180,255,.14); border-color:#8FB4FF; color:#F1EDE3 }
.esp-ficha .carr-rot{ color:#DCD8CE }
/* prévia das janelas (folha) */
.ej-folha{ display:flex; flex-direction:column; gap:14px } .ej-sub{ font-family:var(--f-disp); font-weight:750; font-size:1.1em; color:var(--tx) }
.ej-txt{ line-height:1.65; color:var(--tx-2) }
.ej-duas{ display:grid; grid-template-columns:1fr 1fr; gap:10px } .ej-duas > div{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.ej-duas ul{ margin:8px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:5px; font-size:.88em; line-height:1.5 }
.ej-ia{ background:var(--ia-suave)!important; border-color:var(--ia-borda)!important } .ej-ia .rotulo{ display:inline-flex; align-items:center; gap:6px; color:var(--ia-tx) } .ej-ia .faisca{ width:13px; height:13px }
.mk-tela{ border-radius:16px; overflow:hidden; background:#0F1629; border:1px solid rgba(143,170,230,.2); box-shadow:0 24px 60px -30px rgba(2,4,10,.9); color:#F1EDE3 }
.mk-barra{ display:flex; align-items:center; gap:6px; padding:9px 12px; background:#161F37; border-bottom:1px solid rgba(143,170,230,.14); font-family:var(--f-mono); font-size:.66em; letter-spacing:.06em; color:#8C95AE }
.mk-barra i{ width:8px; height:8px; border-radius:50%; background:#2A3553 } .mk-barra i:nth-child(1){ background:#F08A72 } .mk-barra i:nth-child(2){ background:#E8C56A } .mk-barra i:nth-child(3){ background:#7FD1A6 } .mk-barra span{ margin-left:6px }
.mk-corpo{ padding:14px; display:flex; flex-direction:column; gap:10px; font-size:.84em }
.mk-card{ display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:12px; background:linear-gradient(135deg,rgba(143,180,255,.14),rgba(143,180,255,.04)); border:1px solid rgba(143,180,255,.3) } .mk-card small{ font-family:var(--f-mono); font-size:.78em; color:#A9C5FF }
.mk-ia{ display:flex; gap:6px; align-items:flex-start; color:#BFC6D6; font-size:.94em; line-height:1.45 } .mk-ia .faisca{ width:12px; height:12px; flex:none; margin-top:3px; color:#8FB4FF }
.mk-aneis{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px } .mk-aneis > div{ position:relative; display:flex; flex-direction:column; align-items:center; gap:2px }
.mk-aneis svg{ width:62px; height:62px; transform:rotate(-90deg) } .mk-a0{ fill:none; stroke:rgba(143,170,230,.15); stroke-width:4 } .mk-a1{ fill:none; stroke-width:4; stroke-linecap:round }
.mk-aneis b{ position:absolute; top:19px; font-family:var(--f-disp); font-size:1.1em } .mk-aneis small{ color:#A5ADC2 }
.mk-trilha{ display:flex; gap:3px; height:8px } .mk-trilha i{ flex:1; border-radius:4px }
.mk-lin{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.03); border:1px solid rgba(143,170,230,.1) } .mk-lin.agora{ border-color:rgba(143,180,255,.45); background:rgba(143,180,255,.08) } .mk-lin.feito{ opacity:.6 } .mk-lin small{ color:#A5ADC2 }
.mk-chip{ display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:6px; font-size:.78em; font-weight:700; color:#0C1222; background:var(--c) }
.mk-curva{ display:block; width:100%; max-width:440px; height:auto; margin:0 auto } .mk-c0{ fill:none; stroke:#8FB4FF; stroke-width:2.5 } .mk-c1{ fill:none; stroke:#E8C56A; stroke-width:2.5; stroke-dasharray:5 4 } .mk-lim{ stroke:rgba(240,138,114,.5); stroke-dasharray:3 4 } .mk-pt{ fill:#E8C56A }
.mk-curva text{ font-size:8px; fill:#A5ADC2; font-family:var(--f-mono) }
.mk-erro{ display:flex; flex-direction:column; gap:4px; padding:10px 12px; border-radius:10px; background:rgba(240,138,114,.08); border:1px solid rgba(240,138,114,.25) }
.mk-txt{ line-height:1.6; color:#DCD8CE } .mk-txt b{ color:#F1EDE3 } .mk-dec{ color:#A9C5FF; font-weight:650 }
.mk-tags{ display:flex; flex-wrap:wrap; gap:6px } .mk-tags span{ padding:4px 9px; border-radius:8px; font-size:.82em; font-weight:650; background:rgba(143,180,255,.1); color:#A9C5FF; border:1px solid rgba(143,180,255,.25) }
.mk-barras{ display:flex; align-items:flex-end; gap:14px; height:120px; padding:0 6px } .mk-barras > div{ flex:1; position:relative; display:flex; align-items:flex-end; justify-content:center; gap:4px; height:100% }
.mk-barras small{ position:absolute; bottom:-18px; font-size:.78em; color:#A5ADC2 } .mk-v,.mk-m{ width:14px; border-radius:4px 4px 0 0 } .mk-v{ background:#E8C56A } .mk-m{ background:#4A5577 }
.mk-leg{ display:flex; gap:14px; margin-top:16px; font-size:.8em; color:#A5ADC2 } .mk-leg i{ display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:5px; vertical-align:-1px }
.mk-disc{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:10px; align-items:center } .mk-disc small{ color:#A5ADC2; font-family:var(--f-mono) }
.mk-b{ display:block; height:7px; border-radius:4px; background:rgba(143,170,230,.14); overflow:hidden } .mk-b i{ display:block; height:100%; border-radius:4px; background:#E8C56A }
.mk-doc{ display:flex; gap:12px; align-items:center; padding:12px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(143,170,230,.16) } .mk-doc-ic{ color:#E8C56A } .mk-doc > div{ display:flex; flex-direction:column; gap:2px } .mk-doc small{ color:#A5ADC2 }
@media (max-width:980px){ .esp-linha{ grid-template-columns:1fr; gap:6px } .esp-jan .ej-grade{ grid-template-columns:repeat(2,minmax(0,1fr)) } .ei-grade{ grid-template-columns:repeat(2,minmax(0,1fr)) } .ep-ben{ grid-template-columns:1fr } }
@media (max-width:640px){
  .esp-barra,.esp-palco,.esp-rod{ padding-left:16px; padding-right:16px } .esp-barra .lg-marca{ width:140px } .esp-conhecer{ display:none } .esp-pill{ order:3; width:100%; justify-content:center }
  .esp-bloco{ padding:16px; border-radius:18px } .esp-estado{ flex-direction:column; gap:10px } .esp-estado .bt.grande{ width:100% }
  .ei-grade{ grid-template-columns:1fr } .esp-fila{ grid-template-columns:1fr 1fr }
  .ef-passos{ grid-template-columns:repeat(6,minmax(0,1fr)) } .ef-passos em{ display:none } .ef-passos button{ justify-content:center; padding:8px 0 }
  .ef-corpo{ padding:16px } .ef-rod .bt{ min-width:0; flex:1 } .ej-duas{ grid-template-columns:1fr }
}
@media (max-width:420px){ .esp-jan .ej-grade{ grid-template-columns:1fr 1fr } .ej{ padding:12px } }

/* ---------- manual do aluno (Instruções) */
.man{ display:flex; flex-direction:column; gap:14px }
.man-hero{ display:flex; flex-direction:column; gap:12px; padding:20px; border-radius:var(--r-3); border:1px solid var(--linha);
  background:radial-gradient(80% 140% at 0% 0%,color-mix(in srgb,var(--ouro) 12%,transparent),transparent 60%),radial-gradient(60% 120% at 100% 0%,color-mix(in srgb,var(--ia) 10%,transparent),transparent 60%),var(--sup) }
.man-h-t h2{ font-family:var(--f-disp); font-weight:800; font-size:1.5em; letter-spacing:-.025em; margin:4px 0 4px } .man-h-t .rotulo{ color:var(--ouro-tx) }
.man-busca{ position:relative; display:flex; align-items:center } .man-busca .entrada{ min-height:52px; padding-left:46px; padding-right:46px; font-size:1.02em; border-radius:16px; background:var(--fundo-2) }
.mb-ic{ position:absolute; left:15px; color:var(--tx-3); display:inline-flex } .mb-x{ position:absolute; right:8px; width:36px; height:36px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; color:var(--tx-2) } .mb-x:hover{ background:var(--sup-3) }
.man-sug{ display:flex; gap:6px; flex-wrap:wrap } .man-sug .chip{ cursor:pointer } .man-sug .chip:hover{ border-color:var(--linha-2); color:var(--tx) }
.man-cats{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:10px }
.man-cat{ display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:16px; border-radius:16px; text-align:left; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra); color:var(--tx); min-width:0 }
.man-cat:hover{ border-color:var(--ouro-borda); transform:translateY(-1px) }
.mc-ic{ width:38px; height:38px; flex:none; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; background:var(--ouro-suave); color:var(--ouro-tx); margin-bottom:2px }
.man-cat b{ font-size:.98em } .man-cat small{ font-size:.8em; line-height:1.45; color:var(--tx-2) } .mc-n{ margin-top:auto; padding-top:4px; font-family:var(--f-mono); font-size:.7em; color:var(--tx-3) }
.man-h3{ font-family:var(--f-disp); font-weight:750; font-size:1.1em; margin:8px 2px 0 }
.man-lista{ display:flex; flex-direction:column; gap:8px }
.man-top,.man-faq{ border-radius:16px; background:var(--sup); border:1px solid var(--linha); box-shadow:var(--sombra); overflow:hidden }
.man-top > summary,.man-faq > summary{ display:flex; align-items:flex-start; gap:12px; padding:14px 16px; cursor:pointer; list-style:none }
.man-top > summary::-webkit-details-marker,.man-faq > summary::-webkit-details-marker{ display:none }
.man-top[open] > summary{ border-bottom:1px solid var(--linha); background:color-mix(in srgb,var(--ouro) 5%,var(--sup)) }
.man-top.realce{ box-shadow:0 0 0 2px var(--ouro),var(--sombra) }
.mt-ic{ width:34px; height:34px; flex:none; border-radius:10px; display:inline-flex; align-items:center; justify-content:center; background:var(--sup-2); color:var(--tx-2) }
.man-top > summary b{ display:block; font-size:.98em; line-height:1.35 } .mt-res{ display:block; margin-top:3px; font-size:.84em; line-height:1.45; color:var(--tx-2) }
.mt-cat{ flex:none; align-self:center; padding:3px 8px; border-radius:7px; font-size:.68em; font-weight:700; background:var(--sup-2); color:var(--tx-3); white-space:nowrap }
.mt-corpo{ display:flex; flex-direction:column; gap:12px; padding:14px 16px 16px }
.mt-onde{ display:flex; gap:8px; align-items:flex-start; margin:0; padding:9px 12px; border-radius:12px; background:var(--ia-suave); font-size:.86em; line-height:1.5 } .mt-onde .ic{ flex:none; margin-top:2px; color:var(--ia-tx) }
.mt-passos{ list-style:none; margin:0; padding:0; counter-reset:mp; display:flex; flex-direction:column; gap:8px }
.mt-passos li{ counter-increment:mp; display:flex; gap:10px; align-items:flex-start; font-size:.92em; line-height:1.55 }
.mt-passos li::before{ content:counter(mp); flex:none; width:24px; height:24px; margin-top:1px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--f-mono); font-size:.78em; font-weight:700; background:var(--ouro); color:#1A1405 }
.mt-bl{ padding:10px 12px; border-radius:12px; font-size:.88em } .mt-bl > b{ display:inline-flex; align-items:center; gap:6px } .mt-bl ul{ margin:6px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:4px; line-height:1.5 }
.mt-bl.dica{ background:var(--ok-suave) } .mt-bl.dica .faisca{ width:13px; height:13px; color:var(--ok) } .mt-bl.aten{ background:var(--ate-suave) } .mt-bl.aten .ic{ color:var(--ate) }
.mt-porque{ margin:0; font-size:.86em; line-height:1.55; color:var(--tx-2) } .mt-porque b{ color:var(--tx) }
.mt-rel{ display:flex; flex-wrap:wrap; align-items:center; gap:6px } .mt-rel .chip{ cursor:pointer; height:auto; min-height:28px; white-space:normal; text-align:left } .mt-rel .chip:hover{ border-color:var(--ouro-borda); color:var(--tx) }
.mt-util{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding-top:10px; border-top:1px solid var(--linha) }
.man-faq > summary{ align-items:center } .man-faq > summary .ic{ flex:none; color:var(--ia-tx) } .man-faq > summary b{ font-size:.94em; line-height:1.4 }
.mf-r{ padding:0 16px 14px 44px; display:flex; flex-direction:column; gap:8px } .mf-r p{ font-size:.9em; line-height:1.6; color:var(--tx-2) }
.man-top mark,.man-faq mark{ background:color-mix(in srgb,var(--ouro) 35%,transparent); color:inherit; border-radius:3px; padding:0 1px }
.man-catv{ display:flex; flex-direction:column; gap:12px } .man-catv > .bt{ align-self:flex-start }
.man-cat-cab{ display:flex; gap:12px; align-items:flex-start } .man-cat-cab h3{ font-family:var(--f-disp); font-weight:800; font-size:1.3em; margin:2px 0 4px }
.man-res{ display:flex; flex-direction:column; gap:10px }
.man-perg{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:16px; background:var(--ia-suave); border:1px solid var(--ia-borda); margin-top:6px } .man-perg p{ margin-top:2px }
@media (max-width:640px){ .man-hero{ padding:16px } .man-h-t h2{ font-size:1.25em } .man-perg{ flex-direction:column; align-items:stretch; text-align:left } .mf-r{ padding-left:16px } .mt-cat{ display:none } }
@media print{ .man,#ins-corpo{ display:none!important } }
.rk-liga{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:2px }
.mb-x[hidden]{ display:none } .man-busca input[type="search"]::-webkit-search-cancel-button{ -webkit-appearance:none; appearance:none; display:none }
#off-pronto:empty{ display:none }
.fi-modo-l{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 10px } .fi-modo-l .fi-modo{ margin:0; flex:1 1 200px }

/* ---- rodada 18 · atividade enxuta: objetivo, passo a passo com o material de cada passo, registro */
.atv-intro{ display:grid; gap:8px; margin:0 0 18px; padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.ai-l{ display:flex; gap:10px; align-items:flex-start; margin:0; line-height:1.5; font-size:.95em }
.ai-ic{ flex:none; width:22px; height:22px; display:flex; align-items:center; justify-content:center; color:var(--ac-tx); margin-top:1px }
.ai-ic svg{ width:16px; height:16px } .ai-pq .ai-ic{ color:var(--ia-tx) }
.pp-lista{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0 }
.pp{ display:flex; gap:12px; align-items:flex-start; position:relative; padding-bottom:16px }
.pp:not(:last-child)::after{ content:''; position:absolute; left:13px; top:30px; bottom:2px; width:2px; background:var(--linha-2); border-radius:2px }
.pp-n{ width:28px; height:28px; flex:none; border-radius:50%; background:var(--ac-forte); color:var(--on-fill); font-weight:800; font-size:.85em; display:flex; align-items:center; justify-content:center; position:relative; z-index:1 }
.pp-c{ flex:1; min-width:0; padding-top:3px }
.pp-t{ display:block; font-size:1em; line-height:1.35 }
.pp-tempo{ display:inline-block; margin-left:6px; padding:1px 8px; border-radius:99px; background:var(--sup-3); color:var(--tx-2); font-size:.74em; font-weight:600; vertical-align:2px }
.pp-s{ margin:3px 0 0; color:var(--tx-2); font-size:.9em; line-height:1.5 }
.pp-m{ display:flex; flex-direction:column; gap:8px; margin-top:10px }
.pp-m .material{ margin:0 }
.pp-m > .bt{ align-self:flex-start }
.lc{ display:grid; gap:8px; padding:10px 12px; border-radius:12px; background:var(--sup); border:1px dashed var(--linha-2) }
.lc-fonte{ display:flex; gap:6px; align-items:flex-start; margin:0; font-size:.84em; color:var(--tx-2); line-height:1.4 } .lc-fonte svg{ flex:none; margin-top:2px }
.lc-rot{ display:flex; gap:6px; align-items:center; font-size:.78em; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ac-tx) }
.lc-foco ul{ margin:6px 0 0; padding-left:18px; font-size:.9em; line-height:1.5 } .lc-foco li+li{ margin-top:3px }
.lc-det > summary{ display:flex; gap:6px; align-items:center; cursor:pointer; list-style:none; font-size:.85em; font-weight:600; color:var(--ac-tx); min-height:32px }
.lc-det > summary::-webkit-details-marker{ display:none }
.lc-det-c{ font-size:.88em; line-height:1.5; padding-top:4px } .lc-det-c p{ margin:8px 0 4px } .lc-det-c ol, .lc-det-c ul{ margin:0; padding-left:20px }
.atv-outros{ margin:0 0 18px; border:1px solid var(--linha); border-radius:14px; background:var(--sup); padding:0 14px }
.atv-outros > summary{ display:flex; align-items:center; gap:8px; min-height:48px; cursor:pointer; list-style:none; font-size:.92em }
.atv-outros > summary::-webkit-details-marker{ display:none } .atv-outros[open]{ padding-bottom:14px }
.atv-outros[open] .am-seta{ transform:rotate(180deg) }
.aa-op{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin:4px 0 6px }
.aa-op button{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 4px; border-radius:10px; border:1.5px solid var(--linha-2); background:var(--sup); color:var(--tx-2); font:inherit; cursor:pointer; text-align:center }
.aa-op button b{ font-size:1em; color:var(--tx) } .aa-op button span{ font-size:.68em; line-height:1.2 }
.aa-op button[aria-pressed="true"]{ border-color:var(--ac); background:var(--ac-suave); color:var(--ac-tx); box-shadow:inset 0 0 0 1px var(--ac) }
.atv-sobre-l .rotulo{ display:block; margin-bottom:2px } .atv-sobre-l p{ margin:0; line-height:1.5 }
.material.destaque-pdf, .material.destaque-q{ border-color:color-mix(in srgb,var(--ac) 45%,var(--linha)) }
.tela-ajuda{ display:flex; gap:10px; align-items:flex-start; margin:0 0 14px; padding:10px 12px; border-radius:12px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.9em; line-height:1.5 }
.tela-ajuda > svg{ flex:none; margin-top:3px; color:var(--ac-tx) } .tela-ajuda p{ margin:0 }
html.sem-tec .so-tec{ display:none !important }
@media (max-width:380px){ .aa-op button span{ font-size:.62em } }
.mh-kpis.k3{ grid-template-columns:repeat(3,minmax(0,1fr)) } .mh-kpis.k3 .mk{ padding:10px }

/* JsPublico.html */

.conhecer-veu{ position:fixed; inset:0; z-index:8500; display:flex; flex-direction:column; background:var(--fundo, #0C1222) }
html.quadro-alto .conhecer-veu{ top:var(--q-top, 0px); bottom:auto; height:var(--q-h, 100%) }
.conhecer-veu .cn-barra{ display:flex; align-items:center; gap:8px; padding:calc(8px + var(--seg-t, 0px)) 12px 8px; border-bottom:1px solid var(--linha); background:var(--fundo-2) }
.conhecer-veu .cn-corpo{ flex:1; min-height:0; position:relative }
.conhecer-veu .cn-quadro{ position:absolute; inset:0; width:100%; height:100%; border:0; background:#0C1222 }
.conhecer-veu .cn-entrar{ background:#8FB4FF; color:#0C1222; font-weight:800; border:0; box-shadow:0 0 0 3px rgba(143,180,255,.25), 0 6px 18px rgba(143,180,255,.35) }
.conhecer-veu.pagina{ position:relative; inset:auto; min-height:100vh; z-index:1 }
.conhecer-veu.pagina .cn-barra{ position:sticky; top:0; z-index:2 }
.conhecer-veu.pagina .cn-corpo{ flex:none }
.conhecer-veu.pagina .cn-quadro{ position:static; display:block; height:100vh }
.conhecer-veu.pagina .cn-carga{ min-height:60vh }
html.quadro-alto .conhecer-veu.pagina{ top:auto; height:auto }
html.conhecendo #raiz{ display:none }
.conhecer-veu .cn-carga{ display:flex; align-items:center; justify-content:center; gap:10px; height:100%; color:var(--tx-2); padding:24px; text-align:center; flex-wrap:wrap }
@media (max-width:420px){ .conhecer-veu .cn-barra b{ font-size:.92em } }

/* JsR15.html */

/* ============================================================================================
   Nomeia Concursos · rodada 15 (v1.8) — estilos: processamento premium (IA), caixinha de carregamento, "Conhecer o
   sistema" na mesma página, ajuste de banca/prova, código do pré-cadastro, fixação longa e comentário da Nomeia_iA.
   ============================================================================================ */
@keyframes nxGira{to{transform:rotate(360deg)}}
@keyframes nxGiraR{to{transform:rotate(-360deg)}}
@keyframes nxPulsa{0%,100%{transform:scale(.86);opacity:.75}50%{transform:scale(1.08);opacity:1}}
@keyframes nxBrilho{0%{transform:translateX(-120%)}100%{transform:translateX(220%)}}
@keyframes nxLinha{to{stroke-dashoffset:-240}}
@keyframes nxSobe{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes nxCursor{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes nxGrade{to{background-position:0 48px,48px 0}}
@keyframes cgSobe{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes cgOrbita{to{transform:rotate(360deg)}}
.nx-veu{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:16px;background:radial-gradient(1200px 700px at 50% 38%,rgba(40,70,150,.34),rgba(6,10,22,.93) 62%),rgba(6,10,22,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:nxSobe .28s ease both}
.nx-veu.saindo{opacity:0;transition:opacity .26s}
.nx-veu::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(143,180,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(143,180,255,.13) 1px,transparent 1px);background-size:48px 48px;animation:nxGrade 6s linear infinite;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent)}
.nx-rede{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55}
.nx-rede path{fill:none;stroke:url(#nxg);stroke-width:1.2;stroke-dasharray:6 18;animation:nxLinha 5s linear infinite}
.nx-rede circle{fill:#8FB4FF;opacity:.7;animation:nxPulsa 2.6s ease-in-out infinite}
.nx-caixa{position:relative;width:min(460px,100%);padding:26px 24px 20px;border-radius:26px;color:#F1EDE3;text-align:center;background:linear-gradient(180deg,rgba(22,32,58,.94),rgba(12,18,34,.96));border:1px solid rgba(143,180,255,.26);box-shadow:0 40px 120px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
.nx-caixa::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from 0deg,transparent 0 70%,rgba(143,180,255,.9),rgba(232,197,106,.9),transparent 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:nxGira 4.5s linear infinite;pointer-events:none}
.nx-emb{position:relative;width:118px;height:118px;margin:4px auto 14px;display:grid;place-items:center}
.nx-aro{position:absolute;inset:0;border-radius:50%;border:1.5px solid transparent}
.nx-aro.a1{border-top-color:#8FB4FF;border-right-color:rgba(143,180,255,.35);animation:nxGira 1.6s linear infinite}
.nx-aro.a2{inset:12px;border-bottom-color:#E8C56A;border-left-color:rgba(232,197,106,.3);animation:nxGiraR 2.4s linear infinite}
.nx-orb{position:absolute;inset:-6px;animation:nxGira 3.2s linear infinite}
.nx-orb i{position:absolute;width:7px;height:7px;border-radius:50%;background:#AFC9FF;box-shadow:0 0 12px 3px rgba(143,180,255,.8)}
.nx-orb i:nth-child(1){top:0;left:50%;margin-left:-3px}.nx-orb i:nth-child(2){bottom:14%;left:6%;background:#E8C56A;box-shadow:0 0 12px 3px rgba(232,197,106,.8)}.nx-orb i:nth-child(3){bottom:14%;right:6%}
.nx-logo{width:58px;height:58px;border-radius:16px;box-shadow:0 0 0 1px rgba(143,180,255,.3),0 0 40px rgba(143,180,255,.35);position:relative;z-index:1}
.nx-faisca{position:absolute;top:10px;right:14px;width:26px;height:26px;z-index:2;animation:nxPulsa 1.8s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(232,197,106,.9))}
.nx-faisca path{fill:#EFD18A}
.nx-rot{display:inline-flex;align-items:center;gap:8px;font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#AFC9FF}
.nx-tit{display:block;margin:10px 0 6px;font:800 21px/1.2 "Bricolage Grotesque",Manrope,system-ui,sans-serif;letter-spacing:-.01em;color:#fff}
.nx-msg{min-height:44px;font-size:14.5px;line-height:1.5;color:#C9D4F2}
.nx-cursor{display:inline-block;width:8px;height:15px;margin-left:3px;vertical-align:-2px;background:#8FB4FF;animation:nxCursor 1s step-end infinite}
.nx-barra{position:relative;height:8px;margin:12px 0 8px;border-radius:99px;background:rgba(143,180,255,.12);overflow:hidden}
.nx-barra i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#6E9BFF,#8FB4FF 55%,#E8C56A);transition:width .5s ease}
.nx-barra i::after{content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:nxBrilho 1.4s ease-in-out infinite}
.nx-linha{display:flex;justify-content:space-between;font:500 12px "JetBrains Mono",ui-monospace,monospace;color:#8E94A8}
.nx-etapas{list-style:none;margin:14px 0 0;padding:0;text-align:left;display:grid;gap:6px}
.nx-etapas li{position:relative;padding:7px 10px 7px 32px;border-radius:12px;font-size:13px;color:#8E94A8;background:rgba(255,255,255,.02);border:1px solid transparent;transition:all .3s}
.nx-etapas li::before{content:"";position:absolute;left:11px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;border:1.5px solid #4a5578}
.nx-etapas li.at{color:#F1EDE3;background:rgba(143,180,255,.08);border-color:rgba(143,180,255,.22)}
.nx-etapas li.at::before{border-color:#8FB4FF;border-top-color:transparent;animation:nxGira .8s linear infinite}
.nx-etapas li.ok{color:#B9E9CF}.nx-etapas li.ok::before{border:0;background:#7FD1A6;box-shadow:0 0 10px rgba(127,209,166,.7)}
.nx-nota{margin:12px 0 0;font-size:12px;color:#8E94A8}
.nx-caixa.feito .nx-barra i{background:linear-gradient(90deg,#7FD1A6,#B9E9CF)}.nx-caixa.feito .nx-msg{color:#B9E9CF;font-weight:700}
.nx-caixa.falhou .nx-barra i{background:#F08A72}.nx-caixa.falhou .nx-msg{color:#F7B5A5}.nx-caixa.falhou .nx-aro,.nx-caixa.falhou .nx-orb{animation-play-state:paused}
.nx-rod{margin-top:12px}
@media (max-width:520px){.nx-caixa{padding:22px 16px 16px}.nx-emb{width:100px;height:100px}.nx-tit{font-size:19px}.nx-etapas li{font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.nx-veu *,.nx-veu::before,.cg-box *{animation:none!important}}
/* caixinha de carregamento (cada toque que demora) */
.cg-box{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:8800;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(430px,calc(100vw - 32px));padding:11px 16px 11px 11px;border-radius:18px;color:#F1EDE3;
  background:linear-gradient(180deg,rgba(24,34,60,.97),rgba(12,18,34,.98));border:1px solid rgba(143,180,255,.3);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03) inset;transform:translate(-50%,0);animation:cgSobe .22s ease both}
.cg-box.saindo{opacity:0;transform:translate(-50%,10px);transition:all .2s}
.cg-emb{position:relative;flex:none;width:42px;height:42px;display:grid;place-items:center}
.cg-emb img{width:30px;height:30px;border-radius:9px;position:relative;z-index:1}
.cg-aro{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(143,180,255,.18);border-top-color:#8FB4FF;border-right-color:#E8C56A;animation:cgOrbita .9s linear infinite}
.cg-emb::after{content:"";position:absolute;top:-2px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#E8C56A;box-shadow:0 0 10px 2px rgba(232,197,106,.8);transform-origin:3px 23px;animation:cgOrbita 1.8s linear infinite}
.cg-txt{min-width:0;display:grid;gap:2px}
.cg-txt b{font-size:14px;font-weight:750;line-height:1.3}
.cg-txt small{font-size:12px;color:#9FB0D6;line-height:1.35}
.cg-txt .cg-t{font-family:"JetBrains Mono",ui-monospace,monospace;color:#8E94A8}
@media (min-width:900px){.cg-box{left:auto;right:24px;transform:none;animation:none}.cg-box.saindo{transform:translateY(10px)}}
/* Conhecer o sistema (na mesma página) */
.cn-veu{position:fixed;inset:0;z-index:8500;display:flex;flex-direction:column;background:#0C1222;animation:nxSobe .25s ease both}
.cn-barra{flex:none;display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid rgba(241,237,227,.09);background:rgba(12,18,34,.96)}
.cn-barra .lg-marca{width:150px}.cn-barra .bt{white-space:nowrap}
.cn-frame{flex:1;width:100%;border:0;background:#0C1222}
.cn-car{position:absolute;inset:60px 0 0;display:grid;place-items:center;color:#AFC9FF;font-size:14px}
@media (max-width:560px){.cn-barra .lg-marca{width:118px}.cn-barra .cn-sol span{display:none}}
/* ajuste da meta: banca e prova */
.ob-sec{margin-bottom:16px}.ob-sec>h3{font-size:15px;margin:0 0 8px}
.ob-modos{display:grid;gap:8px}
.ob-modo{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:12px 14px;border-radius:14px;border:1px solid var(--linha,rgba(241,237,227,.12));background:var(--sup-2,rgba(255,255,255,.02));color:inherit;cursor:pointer}
.ob-modo[aria-checked="true"]{border-color:var(--ia,#8FB4FF);background:rgba(143,180,255,.09);box-shadow:0 0 0 1px var(--ia,#8FB4FF) inset}
.ob-modo .ob-i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(143,180,255,.12);color:var(--ia,#8FB4FF)}
.ob-modo b{display:block}.ob-modo small{display:block;color:var(--tx-2,#C0C0C7);font-size:12.5px;line-height:1.4;margin-top:2px}
.ob-bancas{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.ob-b{position:relative;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--linha,rgba(241,237,227,.12));background:transparent;color:inherit;cursor:pointer}
.ob-b[aria-checked="true"]{border-color:var(--ouro,#E8C56A);background:rgba(232,197,106,.1);box-shadow:0 0 0 1px var(--ouro,#E8C56A) inset}
.ob-b b{display:block;font-size:14px}.ob-b small{display:block;font-size:11.5px;color:var(--tx-3,#8E94A8);font-family:"JetBrains Mono",ui-monospace,monospace}
.ob-b .ob-pouc{display:inline-block;margin-top:4px;padding:1px 6px;border-radius:99px;font-size:10.5px;background:rgba(242,166,90,.16);color:#F2A65A}
.ob-compat{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(143,180,255,.07);border:1px solid rgba(143,180,255,.2);font-size:13px;line-height:1.45}
.ob-compat.forte{background:rgba(242,166,90,.09);border-color:rgba(242,166,90,.35)}
.ob-data{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ob-data .entrada{max-width:200px}
.ob-sw{display:inline-flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.ob-sw input{width:20px;height:20px;accent-color:#8FB4FF}
.ob-res{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ob-res .chip{font-size:12px}
.aj-obj .bloco-t .bt{margin-left:auto}
/* código do pré-cadastro e botões copiar */
.cd-box{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}
.cd-cod{padding:12px 16px;border-radius:14px;background:#0C1222;border:1px solid rgba(232,197,106,.4);font:800 26px/1 "JetBrains Mono",Consolas,monospace;letter-spacing:.06em;color:#E8C56A;-webkit-user-select:all;user-select:all}
.esp-codigo .ee-bts{margin-top:10px}
.fi-tec-apagar{color:var(--err-tx,#F08A72)!important}
/* fixação longa */
.fx-tempo{display:flex;gap:10px;align-items:center;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:rgba(127,209,166,.1);border:1px solid rgba(127,209,166,.35)}
.fx-tempo b{display:block}.fx-tempo .cresce{font-size:13.5px;line-height:1.45}
/* comentário da Nomeia_iA (gerado por IA) */
.com-ia-tag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;background:rgba(143,180,255,.14);color:var(--ia,#8FB4FF)}
.com-ia-nota{margin:8px 0 0;font-size:12px;color:var(--tx-3,#8E94A8)}
.qm-hist{background:rgba(232,197,106,.14)!important;color:#E8C56A!important}
/* lotes */
.lt-lista{display:grid;gap:8px}.lt-i{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--linha,rgba(241,237,227,.1))}
.lt-log{margin:6px 0 0;padding-left:18px;font-size:12px;color:var(--tx-3,#8E94A8)}

/* JsTec.html */

.tec-topo{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px }
.tec-passo{ display:flex; flex-direction:column; gap:6px; padding-top:10px; border-top:1px dashed var(--linha) }
.tec-passo:first-of-type{ border-top:0; padding-top:0 }
.tec-passo .linha{ gap:8px; align-items:center }
.tec-id{ position:relative }
.tec-id.ign{ background:var(--fundo-2); border-style:dashed; color:var(--tx-2); text-decoration:line-through }
.tec-id .tec-m{ position:absolute; top:-6px; right:-6px; width:14px; height:14px; border-radius:50%; background:var(--ok); border:2px solid var(--sup) }
.tec-chips{ display:flex; flex-wrap:wrap; gap:6px }
.tec-chips button{ padding:7px 11px; border-radius:999px; border:1.5px solid var(--linha-2); background:var(--sup); color:var(--tx); font-size:.88em }
.tec-chips button[aria-pressed="true"]{ background:var(--ac); border-color:var(--ac); color:#fff }
.tec-chips button small{ display:block; font-size:.74em; opacity:.75; font-weight:400 }
.tec-q-texto{ max-height:280px; overflow:auto; padding:10px; border:1px solid var(--linha); border-radius:10px; background:var(--fundo-2) }
.paleta button.ign{ border-style:dashed; color:var(--tx-2); text-decoration:line-through; background:var(--fundo-2) }

/* JsR16.html */

.tom-cards{ display:grid; gap:8px }
.tom-card{ display:flex; flex-direction:column; gap:3px; text-align:left; padding:12px 14px; border:1.5px solid var(--linha-2); border-radius:14px; background:var(--sup); color:var(--tx); cursor:pointer }
.tom-card[aria-checked="true"]{ border-color:var(--ac); box-shadow:inset 0 0 0 1px var(--ac) }
.tom-card b{ font-size:1em }
.tom-card small{ color:var(--tx-2); font-size:.8em; line-height:1.35 }
.tom-ex{ white-space:pre-line; padding:10px 12px; border-left:3px solid var(--ac); background:var(--fundo-2); border-radius:8px; font-size:.9em; line-height:1.5 }
.tom-quiz .tq{ margin-bottom:14px }
.tom-quiz .tq p{ margin:0 0 6px; font-weight:600 }
.tom-res{ padding:12px 14px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha) }
.relato{ margin-top:14px }
.relato summary{ cursor:pointer; list-style:none }
.relato-l{ border-top:1px dashed var(--linha); padding-top:8px; margin-top:8px }

/* JsPosEdital.html */

/* ================================================================ rodada 17 · pós-edital (calendário de 8 metas × 7 dias fixos) */
html:not(.tem-pos) .lateral [data-rota="posedital"], html:not(.tem-pos) .nav-inf [data-rota="posedital"], html:not(.tem-pos) .mais-pos{ display:none !important }
:root[data-area="posedital"]{ --area:var(--c-ouro) } [data-rota="posedital"]{ --nav-c:var(--c-ouro) }
.f-disc{ --fam:var(--c-sinal) } .f-ana{ --fam:var(--c-gelo) } .trilha i.f-disc{ --fam:var(--c-sinal) } .trilha i.f-ana{ --fam:var(--c-gelo) }
.pos-chip{ display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 8px; border-radius:8px; font-size:.72em; font-weight:700; letter-spacing:.01em; white-space:nowrap; background:var(--sup-3); color:var(--tx-2) }
.pos-chip.nuc{ background:var(--ouro-suave); color:var(--ouro-tx) } .pos-chip.cort{ background:var(--sup-2); color:var(--tx-3); border:1px dashed var(--linha-2) }
.pos-chip.prox{ background:var(--info-suave); color:var(--ia-tx) } .pos-chip.atr{ background:var(--err-suave); color:var(--err-tx) } .pos-chip.ok{ background:var(--ok-suave); color:var(--ok-tx) }
.pos-chip.nr{ background:var(--sup-3); color:var(--tx-3); text-decoration:line-through }
/* faixa da meta (Metas) */
.pos-faixa{ margin:14px 0 4px; padding:16px; border-radius:var(--r-3); border:1px solid var(--ouro-borda); background:linear-gradient(160deg,var(--ouro-suave),transparent 60%),var(--sup); box-shadow:var(--sombra); display:flex; flex-direction:column; gap:12px }
.pf-topo{ display:flex; gap:12px; align-items:flex-start; flex-wrap:wrap } .pf-topo .cresce{ min-width:200px }
.pf-l1{ font-size:1.02em; line-height:1.45; margin-top:2px } .pf-l1 b{ font-family:var(--f-disp) }
.pf-prova{ display:flex; flex-direction:column; align-items:flex-end; text-align:right } .pf-prova b{ font-size:1.6em; font-family:var(--f-disp); line-height:1; color:var(--c-coral) } .pf-prova span{ font-size:.74em; color:var(--tx-2) }
.pf-nuc{ display:grid; grid-template-columns:auto 1fr auto; gap:10px; align-items:center } .pf-nuc .barra{ height:10px } .pf-nuc .barra > i{ background:var(--ouro) }
.pf-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px }
.pf-kpis > div{ padding:9px 11px; border-radius:12px; background:color-mix(in srgb,var(--fundo) 45%,transparent); border:1px solid var(--linha); min-width:0 }
.pf-kpis span{ display:block; font-size:.7em; text-transform:uppercase; letter-spacing:.07em; color:var(--tx-3); font-weight:600 } .pf-kpis b{ font-size:1.08em; font-family:var(--f-disp) } .pf-kpis small{ display:block; font-size:.74em; color:var(--tx-2) }
.pf-kpis .neg{ color:var(--err-tx) } .pf-kpis .pos{ color:var(--ok-tx) }
.pf-corte{ display:flex; flex-direction:column; gap:6px; padding:12px 14px; border-radius:12px; background:var(--ate-suave) } .pf-corte.ok{ background:var(--ok-suave) }
.pf-corte ol{ margin:2px 0 0 18px; display:flex; flex-direction:column; gap:3px; font-size:.88em } .pf-corte ol li span{ color:var(--tx-2) }
.pf-acoes{ display:flex; gap:8px; flex-wrap:wrap }
.pf-det summary{ cursor:pointer; font-weight:650; font-size:.9em; display:flex; align-items:center; gap:8px; padding:4px 0 } .pf-det .peq{ margin-top:6px; line-height:1.55 }
.pf-det ul{ margin:6px 0 0 18px; display:flex; flex-direction:column; gap:3px; font-size:.88em }
@media (max-width:720px){ .pf-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)) } .pf-prova{ align-items:flex-start; text-align:left } }
.etapa .pos-chips{ display:inline-flex; gap:4px; flex-wrap:wrap } .etapa.pos-nr .e-card{ opacity:.6 }
/* caixa na atividade */
.pos-atv{ margin:0 0 14px; padding:14px; border-radius:14px; border:1px solid var(--ouro-borda); background:linear-gradient(170deg,var(--ouro-suave),transparent 70%),var(--sup); display:flex; flex-direction:column; gap:9px }
.pos-atv .pa-l1{ display:flex; gap:6px; flex-wrap:wrap; align-items:center } .pos-atv p{ line-height:1.55 } .pos-atv .pa-rel{ font-weight:650 }
.pa-itens{ display:flex; gap:4px; flex-wrap:wrap } .pa-itens span{ font-family:var(--f-mono); font-size:.72em; padding:2px 7px; border-radius:6px; background:var(--sup-3); color:var(--tx-2) }
.pa-bloco{ padding:10px 12px; border-radius:12px; background:color-mix(in srgb,var(--fundo) 40%,transparent); border:1px solid var(--linha); display:flex; flex-direction:column; gap:6px }
.pa-acoes{ display:flex; gap:8px; flex-wrap:wrap; margin-top:2px }
/* barra com o alvo */
.pos-bar{ position:relative; height:8px; border-radius:4px; background:var(--sup-3); overflow:visible } .pos-bar > i{ position:absolute; left:0; top:0; bottom:0; border-radius:4px; background:var(--ac) }
.pos-bar > i.ok{ background:var(--ok) } .pos-bar > i.ate{ background:var(--ate) } .pos-bar > i.err{ background:var(--err) }
.pos-bar > b{ position:absolute; top:-3px; bottom:-3px; width:2px; border-radius:1px; background:var(--tx); opacity:.75 }
/* painel */
.pos-pag{ display:flex; flex-direction:column; gap:14px }
.pos-abas{ width:100%; max-width:100% } .pos-abas button{ flex:none }
.pos-hero{ padding:18px; border-radius:var(--r-3); border:1px solid var(--ouro-borda); background:radial-gradient(120% 140% at 100% 0%,var(--ouro-suave),transparent 55%),var(--sup); box-shadow:var(--sombra); display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center }
.pos-hero h2{ font-family:var(--f-disp); font-size:1.25em; line-height:1.25 } .pos-hero .ph-dias{ text-align:center; padding:10px 16px; border-radius:16px; background:var(--sup-2); border:1px solid var(--linha) }
.pos-hero .ph-dias b{ display:block; font-size:2.1em; font-family:var(--f-disp); line-height:1; color:var(--c-coral) } .pos-hero .ph-dias span{ font-size:.74em; color:var(--tx-2) }
@media (max-width:560px){ .pos-hero{ grid-template-columns:1fr } .pos-hero .ph-dias{ justify-self:start } }
.pos-cal{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px } @media (max-width:900px){ .pos-cal{ grid-template-columns:repeat(2,minmax(0,1fr)) } } @media (max-width:420px){ .pos-cal{ grid-template-columns:1fr } }
.pc-m{ padding:12px; border-radius:14px; border:1px solid var(--linha); background:var(--sup); display:flex; flex-direction:column; gap:6px; min-width:0 }
.pc-m.atual{ border-color:var(--ouro); box-shadow:inset 0 0 0 1px var(--ouro) } .pc-m.feita{ background:var(--sup-2) } .pc-m.passou{ opacity:.75 }
.pc-m .pc-t{ display:flex; align-items:center; gap:6px; justify-content:space-between } .pc-m .pc-t b{ font-family:var(--f-disp); font-size:1.05em }
.pc-m .pc-d{ font-size:.82em; color:var(--tx-2) } .pc-m .pc-f{ font-size:.8em; line-height:1.45; color:var(--tx-2); display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden }
.pc-m .pc-n{ display:flex; gap:6px; flex-wrap:wrap; font-size:.74em; color:var(--tx-3) }
.pos-tab{ width:100%; border-collapse:collapse; font-size:.88em } .pos-tab th,.pos-tab td{ text-align:left; padding:7px 8px; border-bottom:1px solid var(--linha); vertical-align:top } .pos-tab th{ font-size:.78em; text-transform:uppercase; letter-spacing:.06em; color:var(--tx-3); font-weight:650 }
.pos-tab td.num,.pos-tab th.num{ text-align:right; white-space:nowrap }
.pos-rolar{ overflow-x:auto; -webkit-overflow-scrolling:touch }
.pos-lista{ margin:0 0 0 18px; display:flex; flex-direction:column; gap:6px; line-height:1.55 } .pos-lista li::marker{ color:var(--ouro) }
.pos-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px }
.pos-kpis > div{ padding:12px; border-radius:14px; background:var(--sup-2); border:1px solid var(--linha); min-width:0 } .pos-kpis span{ display:block; font-size:.72em; text-transform:uppercase; letter-spacing:.07em; color:var(--tx-3); font-weight:600 }
.pos-kpis b{ display:block; font-size:1.35em; font-family:var(--f-disp); line-height:1.2 } .pos-kpis small{ font-size:.76em; color:var(--tx-2) }
.pos-eixo{ margin-top:14px } .pos-eixo > .rotulo{ margin-bottom:6px; display:flex; gap:8px; align-items:center }
.pos-bl{ display:grid; grid-template-columns:70px 1fr 150px; gap:10px; align-items:center; padding:8px 0; border-top:1px solid var(--linha) } .pos-bl:first-of-type{ border-top:0 }
.pos-bl .pb-id{ font-family:var(--f-mono); font-size:.78em; font-weight:700 } .pos-bl .pb-t{ font-size:.86em; line-height:1.4; min-width:0 } .pos-bl .pb-t small{ display:block; color:var(--tx-3); font-size:.86em; margin-top:2px }
.pos-bl .pb-r{ display:flex; flex-direction:column; gap:4px; font-size:.78em; text-align:right }
@media (max-width:620px){ .pos-bl{ grid-template-columns:56px 1fr } .pos-bl .pb-r{ grid-column:1 / -1; text-align:left } }
.pos-tempo{ display:flex; height:30px; border-radius:10px; overflow:hidden; border:1px solid var(--linha) } .pos-tempo i{ display:flex; align-items:center; justify-content:center; font-style:normal; font-size:.7em; font-weight:700; color:var(--on-fill); white-space:nowrap; overflow:hidden; padding:0 4px }
.pos-tempo-leg{ display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:8px; font-size:.8em; color:var(--tx-2) } .pos-tempo-leg span{ display:inline-flex; gap:6px; align-items:center } .pos-tempo-leg i{ width:10px; height:10px; border-radius:3px; display:inline-block }
.pos-estr{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px }
.pos-estr > div{ padding:12px; border-radius:14px; background:var(--sup-2); border:1px solid var(--linha); display:flex; flex-direction:column; gap:4px } .pos-estr b{ font-family:var(--f-disp) } .pos-estr p{ font-size:.84em; line-height:1.5; color:var(--tx-2) }
.pos-form{ display:flex; flex-direction:column; gap:12px } .pos-form .grade{ gap:10px }
.pos-prova-in{ display:grid; grid-template-columns:62px repeat(3,minmax(0,1fr)); gap:8px; align-items:end } .pos-prova-in > b{ font-family:var(--f-disp); padding-bottom:12px }
.pos-prova-in .entrada{ min-height:40px; padding:8px 10px }
.pos-calc{ padding:12px 14px; border-radius:12px; background:var(--ia-suave); border:1px solid var(--ia-borda); font-size:.9em; line-height:1.55 }
.pos-eixos-sel{ display:flex; flex-wrap:wrap; gap:6px } .pos-eixos-sel button{ height:32px; padding:0 11px; border-radius:16px; border:1px solid var(--linha-2); background:var(--sup-2); font-size:.82em; font-weight:650; color:var(--tx-2) }
.pos-eixos-sel button[aria-pressed="true"]{ background:var(--err-suave); color:var(--err-tx); border-color:transparent }
.pos-reg{ display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-top:1px solid var(--linha) } .pos-reg:first-child{ border-top:0 } .pos-reg .cresce{ font-size:.88em; line-height:1.5 }
.pos-estrut{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:10px } .pos-estrut > div{ padding:12px; border-radius:12px; background:var(--sup-2); border:1px solid var(--linha) } .pos-estrut b{ display:block; margin-bottom:4px } .pos-estrut p{ font-size:.84em; line-height:1.5; color:var(--tx-2) }
.pos-sel-l{ display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-top:1px solid var(--linha) } .pos-sel-l:first-child{ border-top:0 } .pos-sel-l input{ margin-top:4px; width:18px; height:18px; accent-color:var(--ouro) }
.pos-fb{ align-items:flex-start !important; max-width:min(560px,calc(100vw - 32px)) } .pos-fb .cresce b{ display:block; margin-bottom:3px } .pos-fb .cresce p{ font-size:.88em; line-height:1.5 } .pos-fb.ate{ border-color:var(--ate) } .pos-fb.ok{ border-color:var(--ouro-borda) }
.pos-ini{ border-color:var(--ouro-borda); background:linear-gradient(160deg,var(--ouro-suave),transparent 60%),var(--sup) }
.pos-ini .pi-l{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap } .pos-ini .pi-l b{ font-family:var(--f-disp); font-size:1.15em }
.pos-ld{ border:1px solid var(--ouro-borda); border-radius:14px; padding:14px; background:var(--ouro-suave); display:flex; flex-direction:column; gap:10px; margin-bottom:14px }
.pos-ld .pl-cal{ display:flex; flex-wrap:wrap; gap:6px } .pos-ld .pl-cal span{ font-size:.76em; padding:4px 8px; border-radius:8px; background:var(--sup); border:1px solid var(--linha) }

/* JsIaApi.html */

/* ================================================================ rodada 17 · Nomeia_iA pela API (painel do mentor) */
.ia-faixa{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0 0 12px; padding:12px 14px; border-radius:var(--r-3); border:1px solid var(--ia-borda); background:linear-gradient(160deg,var(--ia-suave),transparent 70%),var(--sup) }
.ia-faixa.off{ border-color:var(--linha); background:var(--fundo-2) }
.ia-faixa .r{ display:block; font-size:.68em; letter-spacing:.14em; text-transform:uppercase; font-weight:800; color:var(--ia-tx) }
.ia-faixa b{ font-size:.95em } .ia-faixa .bts{ display:flex; gap:8px; flex-wrap:wrap; margin-left:auto }
.ia-gasto{ min-width:180px } .ia-gasto .barra{ height:6px; border-radius:4px; background:var(--sup-3); overflow:hidden; margin-top:5px } .ia-gasto .barra i{ display:block; height:100%; background:var(--ia); border-radius:4px }
.ia-gasto .barra i.alto{ background:var(--ate) } .ia-gasto .barra i.estouro{ background:var(--err) }
.ia-plano{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:6px 0 2px } .ia-usd{ font-weight:800; color:var(--ia-tx); white-space:nowrap }
.ia-fluxo{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; counter-reset:passo; margin-top:6px }
.ia-fluxo li{ list-style:none; position:relative; padding:12px 12px 12px 40px; border-radius:14px; background:var(--fundo-2); border:1px solid var(--linha); font-size:.86em; line-height:1.45 }
.ia-fluxo li::before{ counter-increment:passo; content:counter(passo); position:absolute; left:12px; top:12px; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:.78em; font-weight:800; background:var(--ia-suave); color:var(--ia-tx) }
.ia-fluxo li.voce{ border-color:var(--ouro-borda); background:linear-gradient(160deg,var(--ouro-suave),transparent 70%),var(--fundo-2) } .ia-fluxo li.voce::before{ background:var(--ouro-suave); color:var(--ouro-tx) }
.ia-fluxo li b{ display:block; margin-bottom:2px }
.ia-mod{ width:100%; border-collapse:separate; border-spacing:0 6px } .ia-mod td{ padding:8px 10px; background:var(--fundo-2); vertical-align:middle } .ia-mod td:first-child{ border-radius:12px 0 0 12px } .ia-mod td:last-child{ border-radius:0 12px 12px 0 }
.ia-mod select{ min-width:130px } .ia-mod .d{ font-size:.8em; color:var(--tx-3); line-height:1.4 }
@media (max-width:720px){ .ia-mod, .ia-mod tbody, .ia-mod tr, .ia-mod td{ display:block; width:100% } .ia-mod tr{ margin-bottom:8px } .ia-mod td{ border-radius:0 !important } .ia-mod td:first-child{ border-radius:12px 12px 0 0 !important } .ia-mod td:last-child{ border-radius:0 0 12px 12px !important } }
.ia-lotes{ display:flex; flex-direction:column; gap:6px } .ia-lotes div{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:.84em; padding:8px 10px; border-radius:10px; background:var(--fundo-2) }
.ia-precos td.n, .ia-precos th.n{ text-align:right; white-space:nowrap }

/* JsPermissoes.html */

.fi-perm .cad-check, .fi-modelo .cad-check { align-items: flex-start }
.fi-hist { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; padding: 10px 12px; border-radius: 12px; font-size: 13px; background: var(--sup-2, rgba(255,255,255,.04)); border: 1px solid var(--linha, rgba(255,255,255,.08)) }
.ms-metas { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px }
.tec-filtros { display: grid; grid-template-columns: max-content 1fr; gap: 6px 12px; margin: 10px 0 0; font-size: 13px }
.tec-filtros dt { color: var(--tx-2, #9aa4b5); font-weight: 600 }
.tec-filtros dd { margin: 0 }
.tec-ass { display: inline-block; margin: 0 6px 4px 0; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--linha, rgba(255,255,255,.12)); font-size: 12px }

/* JsUsoMentor.html */

.uso-ks { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-top: 4px }
.uso-k { padding: 10px 12px; border: 1px solid var(--linha, rgba(255,255,255,.08)); border-radius: 12px; display: flex; flex-direction: column; gap: 2px }
.uso-k .r { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--tx-2, #9aa4b5) }
.uso-k b { font-size: 20px } .uso-k b small { font-size: 12px; color: var(--tx-2, #9aa4b5) }
.uso-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: var(--sup-2, rgba(255,255,255,.04)); font-size: 13px }
.uso-graf-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 16px }
.uso-lg { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin: 0 4px 0 10px; vertical-align: -1px }
.uso-lg.e, .uso-bar i.e { background: var(--ac, #6e9bff) } .uso-lg.u, .uso-bar i.u { background: var(--linha-2, rgba(160,170,190,.45)) }
.uso-graf { display: flex; align-items: flex-end; gap: 3px; height: 130px; margin-top: 8px; overflow-x: auto; padding-bottom: 2px }
.uso-col { flex: 1 0 14px; display: flex; flex-direction: column; align-items: center; gap: 3px; height: 100% }
.uso-col span { font-size: 9.5px; color: var(--tx-2, #9aa4b5) }
.uso-bar { flex: 1; width: 100%; display: flex; align-items: flex-end; gap: 1px }
.uso-bar i { flex: 1; min-height: 1px; border-radius: 3px 3px 0 0 }
.uso-hr > div { display: grid; grid-template-columns: 74px 1fr 64px; align-items: center; gap: 8px; margin-top: 6px }
.uso-hr-b { height: 8px; border-radius: 99px; background: var(--sup-2, rgba(255,255,255,.06)); overflow: hidden } .uso-hr-b i { display: block; height: 100%; background: var(--ac, #6e9bff) }
.uso-telas { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px }
.rkm-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-top: 14px }
.rkm-l { list-style: none; margin: 0; padding: 0 } .rkm-l li { display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; padding: 6px 0; border-top: 1px solid var(--linha, rgba(255,255,255,.06)) }
.rkm-pos { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 11px; font-weight: 800; background: var(--sup-2, rgba(255,255,255,.06)) }
.rkm-pos.p1 { background: #e8c56a; color: #1d1a10 } .rkm-pos.p2 { background: #c9d1dc; color: #1a1d22 } .rkm-pos.p3 { background: #d79a63; color: #22170e }
.rkm-nome { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap } .rkm-nome:hover { text-decoration: underline }
.rkm-alerta { border-color: rgba(244, 114, 94, .35) }
.rkm-th { cursor: pointer; white-space: nowrap } .rkm-th.on { color: var(--ac, #6e9bff) }
.rkm-car { max-width: 220px }

/* JsMenuTopo.html */

/* ☰ à esquerda (só no celular: no computador a barra lateral já mostra tudo) e avatar à direita */
.topo-nav{ flex:none; margin-left:-6px }
@media (min-width:900px){ .topo-nav{ display:none } }
#topo-dir .avatar, .topo-av{ cursor:pointer }
header.topo:has(.menu-conta){ z-index:85 }

/* gaveta: todas as páginas */
.gaveta-veu{ position:fixed; inset:0; z-index:95; background:rgba(4,7,15,0); transition:background .2s ease }
.gaveta-veu.aberta{ background:rgba(4,7,15,.62) }
.gaveta{ position:absolute; top:0; bottom:0; left:0; width:min(300px, 86vw); display:flex; flex-direction:column; gap:2px; padding:calc(10px + var(--seg-t, 0px)) 12px calc(12px + var(--seg-b, 0px));
  background:var(--fundo-2); border-right:1px solid var(--linha-2); box-shadow:12px 0 40px rgba(0,0,0,.4); overflow:auto; transform:translateX(-102%); transition:transform .22s ease }
.gaveta-veu.aberta .gaveta{ transform:none }
@media (prefers-reduced-motion:reduce){ .gaveta, .gaveta-veu{ transition:none } }
.gaveta .gv-cab{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:4px 4px 12px; border-bottom:1px solid var(--linha); margin-bottom:6px }
.gaveta .gv-cab .marca{ display:flex }
.gaveta .gv-itens{ display:flex; flex-direction:column; gap:2px }
.gaveta button:not(.bt-ic){ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:10px; color:var(--tx-2); font-weight:600; text-align:left; min-height:44px; width:100% }
.gaveta button:not(.bt-ic):hover, .gaveta button:not(.bt-ic):focus-visible{ background:var(--sup); color:var(--tx) }
.gaveta button[aria-current="page"]{ background:var(--ac-suave); color:var(--tx) }
.gaveta button[aria-current="page"] .ic{ color:var(--ac) }
.gaveta .sep{ height:1px; background:var(--linha); margin:8px 6px }
.gaveta .gv-voltar{ color:var(--tx-3) !important }
.gaveta .gv-rodape{ margin-top:auto; padding:12px 8px 0; font-size:.78em; color:var(--tx-3) }

/* menu do avatar */
.menu-conta{ position:absolute; top:calc(100% + 6px); right:10px; z-index:90; width:min(300px, calc(100vw - 20px)); max-height:min(72vh, 560px); overflow:auto;
  display:flex; flex-direction:column; gap:2px; padding:8px; border-radius:16px; background:var(--sup); border:1px solid var(--linha-2); box-shadow:var(--sombra-2, 0 12px 40px rgba(0,0,0,.45)); animation:aparecer .14s ease }
html.quadro-alto .menu-conta{ max-height:none }
.menu-conta .mc-cab{ display:flex; align-items:center; gap:10px; padding:6px 8px 10px; border-bottom:1px solid var(--linha); margin-bottom:4px }
.menu-conta .mc-cab > div{ display:flex; flex-direction:column }
.menu-conta button{ display:flex; align-items:center; gap:12px; padding:10px 10px; border-radius:10px; color:var(--tx-2); font-weight:600; text-align:left; min-height:42px }
.menu-conta button:hover, .menu-conta button:focus-visible{ background:var(--ac-suave); color:var(--tx) }
.menu-conta .sep{ height:1px; background:var(--linha); margin:6px 4px }
.menu-conta .mc-sair{ color:var(--err) }
.menu-conta .mc-sair.confirma{ background:color-mix(in srgb, var(--err) 16%, transparent) }
.realce-sec{ outline:2px solid var(--ouro, #E8C56A); outline-offset:4px; transition:outline-color .6s ease }

html.quadro-alto .gaveta-veu{ top:var(--q-top, 0px); bottom:auto; height:var(--q-h, 100%) }
/* quadro alto (Google Sites): o que é fixo na tela vai para o pedaço do quadro que está à vista */
.quadro-faixas{ position:fixed; inset:0; pointer-events:none; visibility:hidden; z-index:-1 }
.quadro-faixas i{ position:absolute; left:0; width:1px }
html.quadro-alto .veu{ top:var(--q-top, 0px); bottom:auto; height:var(--q-h, 100%) }
html.quadro-alto .nav-inf{ top:calc(var(--q-top, 0px) + var(--q-h, 100vh) - var(--nav-h) - var(--seg-b)); bottom:auto }
html.quadro-alto .toasts{ top:calc(var(--q-top, 0px) + var(--q-h, 100vh) - var(--nav-h) - var(--seg-b) - 12px); bottom:auto; transform:translate(-50%, -100%) }
html.quadro-alto #crono-flutuante > .chip-topo{ top:calc(var(--q-top, 0px) + var(--q-h, 100vh) - var(--nav-h) - var(--seg-b) - 52px) !important; bottom:auto !important }
@media (min-width:900px){ html.quadro-alto .toasts{ top:calc(var(--q-top, 0px) + var(--q-h, 100vh) - 24px) } }

