:root{
  /* Tokens ÔNIX (design system de 19/10/2026). Nomes antigos mantidos para não quebrar o resto do app. */
  --noite:#06172F; --gabarito:#0B3BE6; --onix:#0A84FF; --ciano:#00C6FF;
  --papel:#F5F7FB; --nevoa:#E3E9F2; --linha:#C9D3E3; --grafite:#5B6782; --tinta:#26324A;
  --revisar:#F5A524;
  --primaria:var(--gabarito); --primaria-2:#0930C4; --destaque:var(--onix);
  --bg:var(--papel); --card:#FFFFFF; --texto:var(--tinta); --suave:var(--grafite); --borda:var(--linha);
  --titulo:var(--noite); --link:#0B3BE6; --foco:var(--gabarito); --sobre-primaria:#FFFFFF;
  --ok:#0B7A55; --ok-bg:#E6F5EE; --erro:#C8323A; --erro-bg:#FDF0F0; --aviso-bg:#FDEFCF; --aviso:var(--noite);
  --topo-bg:#FFFFFF; --ia-bg:var(--noite); --chip-ativo:var(--noite); --chip-ativo-txt:#FFFFFF; --sel-bg:#EAF0FF;
  --hover:var(--nevoa); --barra-h:64px;
  --desab-bg:#E3E9F2; --sombra:0 1px 2px rgba(6,23,47,.06),0 4px 14px rgba(6,23,47,.05);
  --raio:20px; --raio-m:12px; --raio-p:8px;
  --e1:4px; --e2:8px; --e3:12px; --e4:16px; --e5:24px; --e6:32px; --e7:48px;
  /* Escala tipográfica (ESPEC_DESIGN_ONIX: Display 64, T1 40, T2 28, T3 20, Enunciado 18, Corpo 17, Rótulo 13; 15, 19 e 22 são apoio, destaque e subtítulo do PRD de 22/10; 16 = botões, alternativas e texto de interface já existentes, mantido para não mudar a aparência na etapa 1) */
  --t-rotulo:13px; --t-apoio:15px; --t-ui:16px; --t-corpo:17px; --t-enunciado:18px; --t-destaque:19px; --t-t3:20px; --t-sub:22px; --t-t2:28px; --t-t1:40px; --t-display:64px;
  --e8:64px; --e9:96px; --raio-pilula:999px;
  /* Pontos de quebra (CSS não aceita var() em @media; valores únicos do app): 600 · 900 · 1200, e 420 só para celular pequeno */
  --q-p:600px; --q-m:900px; --q-g:1200px;
  --f-marca:Montserrat,"Segoe UI",system-ui,sans-serif; --f-ui:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif; --f-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
:root[data-theme="dark"]{
  --primaria:#0A84FF; --primaria-2:#3D9CFF; --destaque:var(--ciano);
  --link:#7DBBFF; --bg:#06172F; --card:#0E2244; --texto:#E3E9F2; --suave:#A9B6CC; --borda:#2A3F63; --titulo:#FFFFFF; --foco:var(--ciano); --sobre-primaria:#06172F;
  --ok:#5FD3A3; --ok-bg:#0F3A33; --erro:#FF9AA0; --erro-bg:#3A1A22; --aviso-bg:#3A2D12; --aviso:#F5C26B;
  --topo-bg:#06172F; --ia-bg:#12306A; --chip-ativo:#E3E9F2; --chip-ativo-txt:#06172F; --sel-bg:#12306A;
  --hover:#12306A;
  --desab-bg:#12306A; --sombra:0 1px 2px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--texto);font:400 var(--t-corpo)/26px var(--f-ui);overflow-x:hidden}
a{color:var(--link)}
h1,h2,h3{color:var(--titulo);margin:0 0 .5em}
h1{font:800 clamp(var(--t-t2),6vw,var(--t-t1))/1.2 var(--f-marca)} h2{font:700 clamp(var(--t-sub),4.5vw,var(--t-t2))/1.3 var(--f-marca)} h3{font:700 var(--t-t3)/28px var(--f-ui)}
p{margin:0 0 .8em}
.pular{position:absolute;left:-999px;top:0;background:var(--revisar);color:var(--noite);padding:.6em 1em;z-index:100}
.pular:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--foco);outline-offset:2px}
button,input,select,textarea{font-family:inherit}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rotulo{font:700 var(--t-rotulo)/1.2 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--suave)}

.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--e2);padding:var(--e2) var(--e4);background:var(--topo-bg);color:var(--texto);border-bottom:1px solid var(--borda);flex-wrap:wrap}
.marca{display:flex;align-items:center;min-height:48px;margin-right:auto;text-decoration:none}
.marca img{height:44px;width:auto;display:block}
.logo-escuro{display:none!important}
:root[data-theme="dark"] .logo-claro{display:none!important}
:root[data-theme="dark"] .logo-escuro{display:block!important}
/* Cabeçalho, barra inferior e rodapé globais (modernização, etapa 2, 22/10/2026) */
.nav{display:none;gap:var(--e1);align-items:center;order:5;width:100%}
.nav a,.nav-mais{color:var(--titulo);font:600 var(--t-ui)/1 var(--f-ui);text-decoration:none;padding:0 var(--e3);min-height:44px;display:inline-flex;align-items:center;gap:var(--e2);border-radius:var(--raio-m);white-space:nowrap;background:none;border:0;cursor:pointer}
.nav a:hover,.nav-mais:hover,.mais-lista a:hover{background:var(--hover)}
.nav a[aria-current="page"],.nav-mais[aria-current="true"]{color:var(--link);box-shadow:inset 0 -3px 0 var(--primaria);border-radius:var(--raio-m) var(--raio-m) 0 0}
.nav-mais .ico{width:16px;height:16px;transition:transform .15s}
.nav-mais[aria-expanded="true"] .ico{transform:rotate(180deg)}
.btn-planos{display:none}
.busca-topo{display:none;order:9;width:100%;gap:var(--e2);align-items:center;margin:0}
.busca-topo.aberta{display:flex}
.busca-topo input{flex:1;min-width:0}
.busca-msg{order:10;width:100%;margin:0;font-size:var(--t-apoio);color:var(--suave)}
.busca-msg a{display:inline-block;padding-block:var(--e2)}
.marca[aria-current="page"]{border-radius:var(--raio-m)}
@media (max-width:899px){#btnTema span{display:none}}
@media (min-width:900px){
  .btn.btn-lupa{display:none}
  .nav{display:flex;width:auto;order:0;flex:1;margin-left:var(--e2)}
  .busca-topo{display:flex;order:0;width:clamp(220px,24vw,320px)}
  .btn-planos{display:inline-flex}
  .marca{margin-right:0}
}
@media (min-width:900px) and (max-width:1199px){
  .nav{order:5;width:100%;flex:none;margin-left:0}
  .busca-topo{flex:1;width:auto;max-width:360px;margin-left:auto}
}
/* "Mais": menu suspenso no computador, folha sobre a barra inferior no celular */
.mais{position:fixed;inset:0;z-index:30}
.mais-fundo{position:absolute;inset:0;background:rgba(6,23,47,.55)}
.mais-lista{list-style:none;margin:0;padding:var(--e2);position:absolute;left:var(--e3);right:var(--e3);bottom:calc(var(--barra-h) + var(--e3) + env(safe-area-inset-bottom,0px));background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);box-shadow:var(--sombra)}
.mais-lista a{display:flex;align-items:center;min-height:48px;padding:0 var(--e4);color:var(--titulo);font:600 var(--t-ui)/1 var(--f-ui);text-decoration:none;border-radius:var(--raio-m)}
.mais-lista a[aria-current="page"]{color:var(--link);background:var(--sel-bg)}
@media (min-width:900px){
  .mais{pointer-events:none}
  .mais-fundo{display:none}
  .mais-lista{position:fixed;left:auto;right:auto;bottom:auto;min-width:220px;pointer-events:auto}
  .so-movel{display:none}
  .mais-lista a{min-height:44px}
}
/* barra inferior (celular) */
.barra-inferior{display:none}
@media (max-width:899px){
  body{padding-bottom:calc(var(--barra-h) + env(safe-area-inset-bottom,0px))}
  .barra-inferior{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--topo-bg);border-top:1px solid var(--borda);padding-bottom:env(safe-area-inset-bottom,0px)}
  .barra-inferior a,.barra-inferior button{min-height:var(--barra-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--e1);padding:var(--e2) 0;color:var(--suave);font:600 var(--t-rotulo)/1.1 var(--f-ui);text-decoration:none;white-space:nowrap;background:none;border:0;border-top:3px solid transparent;cursor:pointer}
  .barra-inferior a:hover,.barra-inferior button:hover{background:var(--hover)}
  .barra-inferior [aria-current]{color:var(--link);border-top-color:var(--primaria)}
  .barra-inferior .ico{width:24px;height:24px}
}
/* trilha de navegação */
.trilha ol{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0 0 var(--e2);padding:0;font-size:var(--t-apoio)}
.trilha li{display:inline-flex;align-items:center;color:var(--suave)}
.trilha li+li::before{content:"›";margin:0 var(--e2);color:var(--suave)}
.trilha a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;padding:0 var(--e2);color:var(--link);font-weight:600}
.trilha li:first-child a{margin-left:calc(var(--e2)*-1)}
.trilha [aria-current="page"]{color:var(--texto);font-weight:600;overflow-wrap:anywhere}
/* variantes do cartão único */
.cartao.link{display:block;text-decoration:none;color:inherit;transition:border-color .15s}
.cartao.link:hover{border-color:var(--primaria)}
.cartao.destaque{border:2px solid var(--primaria)}
main{max-width:1000px;margin:0 auto;padding:var(--e5) var(--e4) var(--e7);outline:none}
.rodape{text-align:center;color:var(--suave);font-size:var(--t-apoio);padding:var(--e5) var(--e4) var(--e6)}
.rodape-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e1) var(--e2);margin-bottom:var(--e3)}
.rodape-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e3);border-radius:var(--raio-m);color:var(--titulo);font-weight:600;text-decoration:none}
.rodape-nav a:hover{background:var(--hover)}
.rodape-nav a[aria-current="page"]{color:var(--link);box-shadow:inset 0 -3px 0 var(--primaria)}
.rodape-nota{margin:0}

.cartao{background:var(--card);border:1px solid var(--nevoa);border-radius:var(--raio);box-shadow:var(--sombra);padding:var(--e5) var(--e4);margin-bottom:var(--e4)}
:root[data-theme="dark"] .cartao{border-color:var(--borda)}
@media (min-width:600px){.cartao{padding:var(--e5)}}
.entra{animation:entra .35s ease both}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--e3);min-height:48px;padding:0 var(--e5);border-radius:var(--raio-m);border:1.5px solid var(--primaria);background:var(--primaria);color:var(--sobre-primaria);font:700 var(--t-ui)/1 var(--f-ui);cursor:pointer;text-decoration:none;transition:transform .12s,background .15s}
:root[data-theme="dark"] .btn:not(.sec):not(.perigo):not(.ter):not(.ia){color:#06172F}
.btn:hover{background:var(--primaria-2);border-color:var(--primaria-2)}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:1;cursor:not-allowed;background:var(--desab-bg);border-color:var(--borda);color:var(--suave)}
.btn.sec{background:transparent;color:var(--titulo);border-color:var(--titulo)}
.btn.sec:hover{background:var(--nevoa)}
:root[data-theme="dark"] .btn.sec:hover{background:#12306A}
.btn.ia,.aba.ia{background:var(--ia-bg);border-color:var(--ia-bg);color:#fff}
.btn.ia .ico,.aba.ia .ico{stroke:var(--ciano)}
.btn.ter{background:transparent;border-color:transparent;color:var(--link)}
.btn.destaque{background:var(--primaria);border-color:var(--primaria)}
.btn.perigo{background:transparent;color:var(--erro);border-color:var(--erro)}
.btn.peq{min-height:44px;padding:0 var(--e4);font-size:var(--t-apoio)}

input[type=text],input[type=search],input[type=date],input[type=number],input[type=time],input[type=email],select,textarea{width:100%;min-height:44px;padding:var(--e2) var(--e3);font:inherit;color:var(--texto);background:var(--card);border:1.5px solid var(--borda);border-radius:var(--raio-m)}
textarea{min-height:90px;resize:vertical}
label{font-size:var(--t-apoio);color:var(--suave);font-weight:600;display:block;margin-bottom:var(--e1)}
.chk{display:flex;align-items:center;gap:var(--e3);min-height:44px;font-size:var(--t-apoio);color:var(--texto);font-weight:500;cursor:pointer}
.chk input{width:22px;height:22px;accent-color:var(--primaria)}

/* início */
.heroi{padding:var(--e6) 0 var(--e2)}
.heroi p{color:var(--suave);max-width:60ch}
.busca{display:flex;gap:var(--e2);margin:var(--e4) 0;flex-wrap:wrap}
.busca input{flex:1 1 240px}
.contadores{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e3);margin:var(--e4) 0}
.contador{background:var(--card);border:1px solid var(--borda);border-radius:var(--raio);padding:var(--e4);text-align:center;box-shadow:var(--sombra)}
.contador b{display:block;font:800 clamp(var(--t-destaque),5.2vw,var(--t-t1))/1.1 var(--f-marca);color:var(--titulo);white-space:nowrap}
.contador span{font-size:var(--t-rotulo);color:var(--suave)}
.atalhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--e3)}
.atalho{display:flex;align-items:flex-start;gap:var(--e3);text-decoration:none;color:var(--texto);background:#fff;border:1.5px solid var(--linha);border-radius:var(--raio);padding:var(--e4);min-height:44px;box-shadow:none;transition:border-color .15s}
:root[data-theme="dark"] .atalho{background:var(--card);border-color:var(--borda)}
.atalho:hover{border-color:var(--primaria)}
.atalho>.ico{width:24px;height:24px;margin-top:2px;color:var(--titulo)}
.atalho-txt{min-width:0}
.atalho b{display:block;color:var(--titulo);font:700 var(--t-corpo)/24px var(--f-marca);margin-bottom:2px}
.atalho span{font-size:var(--t-apoio);color:var(--suave)}

/* filtros */
.filtros summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.grade-filtros{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--e3);margin-top:var(--e2)}
.contagem{font-weight:700;margin:var(--e3) 0;color:var(--titulo)}
.chip{display:inline-flex;align-items:center;gap:var(--e2);min-height:36px;background:var(--chip-ativo);color:var(--chip-ativo-txt);border-radius:var(--raio-pilula);padding:0 var(--e2) 0 var(--e4);font-size:var(--t-apoio);font-weight:600;margin:0 var(--e2) var(--e2) 0}
.chip button{background:none;border:0;color:inherit;cursor:pointer;min-width:36px;min-height:36px;border-radius:var(--raio-pilula);display:inline-flex;align-items:center;justify-content:center;padding:0}
.chip button{position:relative}
.chip button::after{content:"";position:absolute;inset:-4px}
.chip button .ico{width:14px;height:14px;stroke-width:2.5}
.chip:has(.ver-todas){padding-right:var(--e4)}

/* questão */
.q-cab{font-size:var(--t-apoio);color:var(--suave);margin-bottom:var(--e2);display:flex;flex-wrap:wrap;gap:var(--e1) var(--e3);align-items:center}
.q-cab b{color:var(--texto)}
.faixa-ficticio{background:var(--revisar);color:var(--noite);font-weight:700;font-size:var(--t-rotulo);padding:2px var(--e3);border-radius:var(--raio-pilula);letter-spacing:.04em}
.base{border:1px solid var(--borda);border-radius:var(--raio-m);margin:var(--e2) 0 var(--e3);background:var(--bg)}
.base summary{cursor:pointer;padding:var(--e3) var(--e4);font-weight:600;min-height:44px;display:flex;align-items:center}
.base div{padding:0 var(--e4) var(--e3);white-space:pre-wrap;font:400 var(--t-corpo)/28px var(--f-serif)}
.enunciado{white-space:pre-wrap;margin:var(--e3) 0 var(--e5);font:400 var(--t-enunciado)/30px var(--f-serif);color:var(--tinta)}
:root[data-theme="dark"] .enunciado{color:var(--texto)}
.tabela-q{overflow-x:auto;margin:var(--e2) 0;white-space:normal}
.tabela-q table{border-collapse:collapse;font-size:var(--t-apoio);min-width:50%}
.tabela-q th,.tabela-q td{border:1px solid var(--borda);padding:var(--e1) var(--e2);text-align:left;vertical-align:top}
.tabela-q th{background:var(--bg);font-weight:600}
.opcoes{display:grid;gap:var(--e3)}
.opcoes.ce{grid-template-columns:1fr 1fr}
.op{display:flex;align-items:stretch;gap:var(--e2)}
.op-btn{flex:1;min-width:0;text-align:left;min-height:56px;padding:var(--e3) var(--e4);border:1.5px solid var(--borda);background:var(--card);color:var(--texto);border-radius:var(--raio-m);font:400 var(--t-ui)/24px var(--f-serif);cursor:pointer;display:flex;gap:var(--e3);align-items:center;transition:border-color .15s,background .15s}
.op-btn:hover:not(:disabled){border-color:var(--primaria)}
.op-btn .letra{flex:none;width:36px;height:36px;border-radius:var(--raio-pilula);border:1.5px solid var(--borda);display:flex;align-items:center;justify-content:center;font:700 var(--t-ui)/1 var(--f-ui);color:var(--titulo)}
.op-btn .letra .ico{width:18px;height:18px;stroke-width:3}
.op-btn .txt{flex:1;min-width:0}
.op-btn .estado{display:none;flex:none;font:700 var(--t-apoio)/1.2 var(--f-ui)}
.opcoes.ce .op-btn{justify-content:center;font:700 var(--t-corpo)/1 var(--f-ui)}
.op-btn.sel{border-color:var(--primaria);background:var(--sel-bg)}
.op-btn.sel .letra{background:var(--primaria);border-color:var(--primaria);color:var(--sobre-primaria)}
.op-btn.sel .txt{font-weight:600}
.op-btn.riscada{border-style:dashed}
.op-btn.riscada .letra{color:var(--suave)}
.op-btn.riscada .txt{text-decoration:line-through;color:var(--suave)}
.op-btn.certa{border-color:var(--ok);background:var(--ok-bg);opacity:1}
.op-btn.certa .letra{background:var(--ok);border-color:var(--ok);color:#fff}
.op-btn.certa .estado{display:inline;color:var(--ok)}
.op-btn.errada{border-color:var(--erro);background:var(--erro-bg);animation:treme .3s}
.op-btn.errada .letra{background:var(--erro);border-color:var(--erro);color:#fff}
.op-btn.errada .estado{display:inline;color:var(--erro)}
:root[data-theme="dark"] .op-btn.certa .letra,:root[data-theme="dark"] .op-btn.errada .letra,:root[data-theme="dark"] .op-btn.sel .letra{color:#06172F}
.op-btn:disabled{color:var(--texto)}
@keyframes treme{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.tesoura{flex:none;min-width:48px;border:1.5px solid var(--borda);background:var(--card);color:var(--suave);border-radius:var(--raio-m);cursor:pointer;display:flex;align-items:center;justify-content:center}
.tesoura[aria-pressed=true]{background:var(--aviso-bg);color:var(--aviso);border-color:var(--revisar)}
.tesoura:disabled{opacity:.5}
.dica-risco{margin:var(--e2) 0 0;font-size:var(--t-apoio);color:var(--suave)}
.acoes{display:flex;gap:var(--e2);flex-wrap:wrap;margin-top:var(--e3)}
.resultado{margin-top:var(--e4);padding:var(--e3) var(--e4);border-radius:var(--raio-m);font-weight:700;animation:entra .3s both}
.resultado.ok{background:var(--ok-bg);color:var(--ok)} .resultado.erro{background:var(--erro-bg);color:var(--erro)} .resultado.anulada{background:var(--aviso-bg);color:var(--aviso)}
.resultado .linha{font-weight:400;color:var(--texto);margin-top:var(--e2);font-size:var(--t-apoio)}
.selos{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e2)}
.selo{font-size:var(--t-rotulo);font-weight:600;padding:3px var(--e3);border-radius:var(--raio-pilula);background:var(--ok-bg);color:var(--ok)}
.selo.aviso{background:var(--aviso-bg);color:var(--aviso);border:1px solid var(--revisar)}
.abas{display:flex;gap:var(--e2);margin-top:var(--e5);padding-top:var(--e4);border-top:1px solid var(--nevoa);align-items:center}
.aba{min-height:44px;padding:0 var(--e4);background:none;border:0;border-bottom:3px solid transparent;color:var(--suave);font:700 var(--t-apoio)/1 var(--f-ui);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--e2);border-radius:var(--raio-m)}
.aba[aria-selected=true]{color:var(--link);border-bottom-color:var(--primaria);border-radius:var(--raio-m) var(--raio-m) 0 0}
.aba.ia{min-height:48px;padding:0 var(--e4);border:0;font-size:var(--t-ui)}
.aba.ia[aria-selected=true]{color:#fff;box-shadow:0 0 0 3px var(--foco)}
.painel{padding-top:var(--e3);font-size:var(--t-corpo)}
.painel ol{padding-left:1.2em}
.nota-vazia{color:var(--suave);font-style:italic}

/* chat */
.chat{display:grid;gap:var(--e3)}
.msg{padding:var(--e3) var(--e4);border-radius:var(--raio-m);max-width:92%;white-space:pre-wrap}
.msg.eu{background:var(--primaria);color:var(--sobre-primaria);justify-self:end}
.msg.ia{background:var(--bg);border:1px solid var(--borda)}
.msg.aviso{background:var(--aviso-bg);color:var(--aviso)}
.modo-resp{display:flex;gap:var(--e2);flex-wrap:wrap;margin:0 0 var(--e3)}
.modo-resp [aria-pressed="true"]{outline:2px solid currentColor;font-weight:700}
.chat-form{display:flex;gap:var(--e2);flex-wrap:wrap}
.chat-form textarea{flex:1 1 220px;min-height:60px}
.cursor::after{content:"▍";animation:pisca 1s steps(2) infinite}
@keyframes pisca{50%{opacity:0}}

.paginacao{display:flex;justify-content:center;align-items:center;gap:var(--e3);margin:var(--e4) 0;flex-wrap:wrap}

/* simulado */
.cron{font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--t-destaque);color:var(--link)}
.prog{height:10px;background:var(--borda);border-radius:var(--raio-pilula);overflow:hidden}
.prog>i{display:block;height:100%;background:linear-gradient(90deg,#0B3BE6,#0A84FF,#00C6FF);width:0;transition:width .6s ease}
.nota-grande{font:800 var(--t-t1)/1.2 var(--f-marca);color:var(--titulo)}
.barras{display:grid;gap:var(--e3)}
.barra-l{display:grid;grid-template-columns:minmax(110px,170px) 1fr 120px;gap:var(--e2);align-items:center;font-size:var(--t-apoio)}
@media (max-width:599px){.barra-l{grid-template-columns:1fr;gap:2px}}
.barra-l .prog{height:14px}
.dias{display:flex;align-items:flex-end;gap:var(--e1);height:120px}
.dia{flex:1;background:var(--primaria);border-radius:var(--raio-p) var(--raio-p) 0 0;min-height:2px;position:relative}
.dia.vazio{background:var(--borda)}
.eixo{display:flex;gap:var(--e1);font-size:var(--t-rotulo);color:var(--suave)}
.eixo span{flex:1;text-align:center;overflow:hidden}

/* edital */
.topico{display:grid;gap:var(--e2)}
.topico .linha{display:flex;gap:var(--e3);align-items:center;flex-wrap:wrap;justify-content:space-between}
.topico .chk{flex:1 1 220px;font-weight:600}

/* planos */
.planos{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--e4)}
.plano{display:flex;flex-direction:column}
.plano.dest{border:2px solid var(--primaria)}
.plano .preco{font:800 var(--t-t2)/1.3 var(--f-marca);color:var(--titulo);margin:var(--e2) 0 var(--e3)}
.plano ul{padding-left:1.1em;flex:1;margin:0 0 var(--e4)}
.grade2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--e3)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:599px){.opcoes.ce{grid-template-columns:1fr 1fr}}
[hidden]{display:none!important}
@media (max-width:599px){.aba{padding:0 var(--e2);font-size:var(--t-rotulo);flex:1}.abas{gap:0}}

.aviso-lei{background:var(--aviso-bg);color:var(--aviso);border-left:4px solid var(--revisar);border-radius:var(--raio-p);padding:var(--e3) var(--e4);margin:var(--e2) 0 var(--e3);font-size:var(--t-apoio)}
.dificuldade{margin:var(--e3) 0 0;font-size:var(--t-rotulo);color:var(--suave)}
.nota-gab{word-break:break-word}
.faixa-gratis{background:var(--ok-bg);color:var(--ok);border-radius:var(--raio-m);padding:var(--e3) var(--e4);margin:0 0 var(--e4);font-weight:600}
.barra-link{text-decoration:none;color:inherit;border-radius:var(--raio-p);min-height:44px}
.barra-link:hover,.barra-link:focus-visible{background:var(--bg)}
.tabs-banca{display:flex;gap:var(--e1);flex-wrap:wrap;margin:0 0 var(--e4)}
.tabs-banca .aba{text-decoration:none;display:inline-flex;align-items:center;padding:0 var(--e4);min-height:44px;border-radius:var(--raio-pilula);border:1.5px solid var(--borda);color:var(--texto)}
.tabs-banca .aba.ativa{background:var(--chip-ativo);color:var(--chip-ativo-txt);border-color:var(--chip-ativo)}
.painel textarea{width:100%;font:inherit;padding:var(--e3);border:1px solid var(--borda);border-radius:var(--raio-p);background:var(--card);color:var(--texto);margin-top:var(--e2)}
.enunciado u,.base u,.txt u{text-decoration:underline}

/* v3 */
.selo.prof{background:var(--primaria);color:var(--sobre-primaria)}
.selos a{color:inherit;font-weight:700}
.revisar-hoje{margin:0 0 var(--e4);border-left:5px solid var(--revisar)}
.salvar-filtro{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--borda)}
.linha-form{display:flex;gap:var(--e2);flex-wrap:wrap}
.linha-form input{flex:1 1 220px}
#salvos{margin-top:var(--e2)}
.chip.salvo{padding:0 0 0 var(--e1);background:transparent;color:var(--texto);border:1.5px solid var(--borda)}
.chip.salvo .aplica{font:inherit;font-weight:600;min-height:36px;padding:0 var(--e3);color:var(--link);cursor:pointer;background:none;border:0}
.chip.salvo button[data-remove]{min-width:44px;min-height:44px}
.lista-peg{padding-left:1.1em;margin:0}
.lista-peg li{margin-bottom:var(--e2)}
.motivos{display:flex;flex-wrap:wrap;gap:var(--e2);margin-bottom:var(--e2)}
.q-compacta{margin:0 0 var(--e3)}
.q-compacta .opcoes button{cursor:default}
.gab-of{background:var(--ok-bg);color:var(--ok);border-radius:var(--raio-p);padding:var(--e2) var(--e3)}
.gab-of a{color:inherit}
.nota-erro{color:var(--erro);font-weight:600;margin:var(--e2) 0 0;min-height:1em}
.prof-item textarea{margin-bottom:var(--e2)}
.msg.comentario-ia{white-space:normal;max-width:100%}
.faixa-offline{background:var(--aviso-bg);color:var(--aviso);text-align:center;padding:var(--e2) var(--e4);font-weight:600;font-size:var(--t-apoio)}
.q-compacta .op-btn:disabled{color:var(--texto);opacity:1}

/* v3.1 (consertos da auditoria) */
.abas{flex-wrap:wrap;overflow-x:visible}
.grupo-prof>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;list-style:revert}
.grupo-prof>summary h2{margin:0;display:inline}
.prof-item>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:var(--e2) var(--e3);font-weight:600}
.prof-item[open]{border-color:var(--primaria)}
.correcao{padding-left:1.2em}
.correcao li{margin-bottom:var(--e3)}
.correcao a{display:inline-block;padding:var(--e2) var(--e1)}
.selo.erro{background:var(--erro-bg);color:var(--erro)}
.ver-todas{min-height:44px;padding:0 var(--e2);font:inherit;font-weight:600;color:var(--link);text-decoration:underline}
.chk input{flex:none;min-width:22px}
.resultado a,.linha a{display:inline-block;padding:var(--e2) var(--e1)}

/* v3.2: URL longa no texto-base nao estoura a largura no celular */
.texto-base,.enunciado,.alternativas,main{overflow-wrap:break-word}

/* v4: filtros, mentoria, métodos */
.faixa-ano{display:grid;grid-template-columns:1fr 1fr;gap:var(--e2)}
.faixa-ano>div{min-width:0}
.grade-filtros>div{min-width:0}
select{min-width:0;text-overflow:ellipsis}
.area-link{margin:var(--e2) 0;display:grid;gap:var(--e2)}
.area-link input{font-size:var(--t-rotulo)}
fieldset{border:1px solid var(--borda);border-radius:var(--raio-m);margin:0 0 var(--e4);padding:var(--e3) var(--e3);min-width:0}
legend{font-weight:600;padding:0 var(--e2)}
.campo{margin-bottom:var(--e4)}
.grade-turnos{display:grid;grid-template-columns:minmax(80px,1.2fr) repeat(3,1fr);gap:0 var(--e1);align-items:center;font-size:var(--t-rotulo)}
.grade-turnos b{text-align:center;font-weight:600;color:var(--suave)}
.grade-turnos .dia-nome{font-weight:500}
.grade-turnos .turno{justify-content:center;margin:0}
.nivel-linha{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 2.2em;gap:var(--e2);align-items:center;min-height:44px}
.nivel-linha label{margin:0}
.nivel-linha input[type=range]{width:100%;min-height:44px;accent-color:var(--primaria)}
@media (max-width:599px){.nivel-linha{grid-template-columns:1fr 2.2em}.nivel-linha input[type=range]{grid-column:1}.nivel-linha label{grid-column:1/-1}}
.lista-regras{padding-left:1.1em}
.lista-regras li{margin-bottom:var(--e3)}
.id-regra{display:inline-block;background:var(--primaria);color:var(--sobre-primaria);border-radius:var(--raio-p);padding:0 var(--e2);font-size:var(--t-rotulo)}
.texto-livre{white-space:pre-wrap;overflow-wrap:break-word;background:var(--bg);border-radius:var(--raio-p);padding:var(--e3) var(--e3)}
.grade-plano,.tab-simples{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--t-rotulo)}
.grade-plano th,.grade-plano td,.tab-simples th,.tab-simples td{border:1px solid var(--borda);padding:var(--e2);vertical-align:top;text-align:left;overflow-wrap:break-word}
.grade-plano thead th,.tab-simples thead th{background:var(--bg)}
.grade-plano tbody th{width:18%}
.grade-plano th small{display:block;font-weight:400;color:var(--suave)}
.grade-plano td.vazio{color:var(--suave)}
.bloco-it{margin-bottom:var(--e1)}
.bloco-it small{display:block;color:var(--suave)}
.bloco-teoria{border-left:3px solid var(--primaria);padding-left:var(--e1)}
.bloco-questões{border-left:3px solid var(--onix);padding-left:var(--e1)}
.bloco-simulado{border-left:3px solid var(--erro);padding-left:var(--e1)}
.check-op{display:flex;flex-wrap:wrap;gap:0 var(--e4)}
.cartao-int{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--borda)}
.ritmo{background:var(--bg);border-radius:var(--raio-p);padding:var(--e3) var(--e3);margin:var(--e3) 0}
.lista-resumo{padding-left:1.1em;margin:0}
.lista-mitos li,.lista-livros li{margin-bottom:var(--e3)}
.lista-livros{padding-left:2em}
.tec-destaque{outline:3px solid var(--foco)}
.tecnica h3{margin-bottom:.3em}
output{font-variant-numeric:tabular-nums;font-weight:600}
@media (max-width:599px){.grade-plano,.tab-simples{font-size:var(--t-rotulo)}.grade-plano th,.grade-plano td,.tab-simples th,.tab-simples td{padding:var(--e1)}}

@media print{
  .topo,.rodape,.barra-inferior,.mais,.trilha,.pular,.faixa-offline,.nao-imprime,#m-checkin button,#m-gera3,.acoes{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  main{max-width:none;padding:0}
  .cartao{box-shadow:none;border:1px solid #999;break-inside:avoid;background:#fff}
  .grade-plano,.tab-simples{break-inside:avoid;font-size:9pt}
  a{color:#000;text-decoration:none}
  .selo,.chip{border:1px solid #666;background:#fff;color:#000}
  #m-checkin .check-op input{display:inline-block}
}

/* v5: ano e busca cabem em 1280 px; nenhum select abaixo de 120 px */
.faixa-ano select{min-width:120px}
@media (min-width:600px){.grade-filtros .largo{grid-column:span 2}}

/* v5: o link "Banco" entrou no menu; aperta o espaço para o cabeçalho continuar em uma linha em 1280 px */

/* Selo discreto: aviso que não deve parecer obra inacabada */
.selo.discreto{background:transparent;color:var(--suave);border:1px solid var(--borda);font-weight:500;font-size:var(--t-rotulo);padding:1px var(--e2)}

button.selo.discreto{cursor:pointer;font-family:inherit}
.aviso-selo{flex-basis:100%;margin:var(--e2) 0 0;padding:var(--e2) var(--e3);border-radius:var(--raio-m);background:var(--aviso-bg);color:var(--aviso);font-size:var(--t-rotulo);line-height:1.35}

.resultado .tit{display:inline-flex;align-items:center;gap:var(--e2);font-size:var(--t-enunciado)}
.resultado .tit .ico{stroke-width:3}

/* ÔNIX: cabeçalho com logo, sem rolagem horizontal em 360 px */
@media (max-width:420px){.marca img{height:36px}#btnTema span{display:none}.abas{flex-wrap:wrap}.opcoes.ce{gap:var(--e2)}.btn{padding:0 var(--e4)}}

.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.op-btn .letra{position:relative}
.op-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.op-btn .estado{align-items:center;gap:var(--e2)}
.op-btn.certa .estado,.op-btn.errada .estado{display:inline-flex}
.op-btn .estado .ico{width:18px;height:18px}
@media (max-width:599px){
  .op-btn{flex-wrap:wrap;padding:var(--e3)}
  .op-btn .txt{flex:1 1 calc(100% - 60px)}
  .op-btn .estado{flex-basis:100%;padding-left:var(--e7)}
  .opcoes:not(.ce) .op-btn .estado:empty{display:none}
  .tesoura{min-width:44px}
}
@media (max-width:420px){.contadores{gap:var(--e2)}.contador{padding:var(--e3) var(--e1)}}
.linha a.btn,.resultado a.btn{display:inline-flex;padding:0 var(--e4)}
.linha a.btn:not(.peq),.resultado a.btn:not(.peq){padding:0 var(--e5)}
/* rótulos de estado nunca quebram no meio da palavra */
.op-btn .estado{white-space:nowrap}
.btn,.chip,.selo,.aba,.op-btn .estado{overflow-wrap:normal;word-break:normal}
.op-btn .txt,.op-btn .letra{min-width:0}
@media (max-width:599px){
  .opcoes.ce{grid-template-columns:1fr}
  .opcoes.ce .op-btn .estado{padding-left:0;flex-basis:auto;margin-left:auto}
  .opcoes.ce .op-btn{flex-wrap:nowrap}
  .opcoes.ce .op-btn .txt{flex:1 1 auto}
}
/* só links longos (DOI, URL) podem quebrar em qualquer ponto */
main p a:not(.btn),main li a:not(.btn),main small a:not(.btn){overflow-wrap:anywhere}

/* alvo de toque de 44 px em links dentro do texto (a área extra é padding, não altera a linha) */
main p a:not(.btn):not(.atalho),main li a:not(.btn),main small a:not(.btn),main td a:not(.btn),main .resultado a,main .linha a:not(.btn),main .q-cab a,main .selos a,main .aviso-lei a,main .nota-vazia a{padding-block:var(--e3)}
main .resultado a,main .linha a:not(.btn){padding:var(--e3) var(--e1)}

input[type=date]:focus-within,input:focus,select:focus,textarea:focus{outline:3px solid var(--foco);outline-offset:2px}


/* Lei na íntegra e fontes no comentário */
.lei-integra{margin-top:var(--e4)}
.lei-integra h4{font:700 var(--t-rotulo)/1.2 var(--f-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--suave);margin:0 0 var(--e2)}
.lei-item{margin:0 0 var(--e3)}
.lei-ref{margin:0 0 var(--e1);font-size:var(--t-apoio)}
.lei-texto{margin:0;padding:var(--e3) var(--e4);background:var(--nevoa);border:1px solid var(--linha);border-radius:var(--raio-p);white-space:pre-wrap;overflow-wrap:anywhere;font:400 var(--t-ui)/26px var(--f-serif);color:var(--tinta)}
.lei-recolhe summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--link);font-weight:600;font-size:var(--t-apoio)}
.lei-recolhe .lei-texto{margin-top:var(--e1)}
.lei-fonte{margin:var(--e1) 0 0;font-size:var(--t-apoio)}
.lei-mudou{background:var(--revisar);color:var(--noite);border-radius:var(--raio-p);padding:var(--e3) var(--e4);margin:0 0 var(--e3);font-size:var(--t-apoio)}
.fontes-rodape{list-style:none;margin:var(--e3) 0 0;padding:var(--e3) 0 0;border-top:1px solid var(--nevoa);font-size:var(--t-apoio)}
.fontes-rodape li{margin:0 0 2px}
.fontes-rodape a{display:inline-block;padding-block:var(--e2)}
:root[data-theme="dark"] .lei-texto{background:#12306A;border-color:var(--borda);color:#E3E9F2}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lei-texto{background:#12306A;border-color:var(--borda);color:#E3E9F2}}

/* ===== Página inicial v14 (21/10/2026): banner, números, grade 3x2, passos, vitrine, pílulas, rodapé ===== */
:root{
  --h-banner:#06172F; --h-banner-txt:#FFFFFF; --h-banner-suave:#C9D3E3; --h-banner-link:#7DBBFF;
  --h-borda:#E3E9F2; --h-ico-bg:#EAF0FF; --h-ico:#0B3BE6; --h-num:#0B3BE6; --h-painel:#E3E9F2;
  --h-passo-bg:#06172F; --h-passo-txt:#FFFFFF; --h-sombra-hover:0 2px 4px rgba(6,23,47,.06),0 16px 32px -12px rgba(6,23,47,.22);
}
:root[data-theme="dark"]{
  --h-banner:#020C1C; --h-borda:#2A3F63; --h-ico-bg:#12306A; --h-ico:#00C6FF; --h-num:#00C6FF; --h-painel:#0A1D3B;
  --h-passo-bg:#00C6FF; --h-passo-txt:#06172F; --h-sombra-hover:0 16px 32px -12px rgba(0,0,0,.6);
}
main:has(> .home){max-width:none;padding:0}
body:has(.home) .rodape{display:none}
.home{overflow-x:hidden}
.h-wrap{max-width:1160px;margin:0 auto;padding:0 var(--e4)}
@media (min-width:600px){.h-wrap{padding:0 var(--e5)}}

/* banner */
.h-banner{position:relative;background:var(--h-banner);color:var(--h-banner-txt);overflow:hidden}
.h-banner-grade{display:grid;gap:var(--e5);padding-top:var(--e7);padding-bottom:var(--e7);align-items:center}
.h-banner-txt{min-width:0}
.h-rotulo{color:var(--ciano);margin:0 0 var(--e4)}
.h-banner h1{color:var(--h-banner-txt);font:900 clamp(34px,5.2vw,60px)/1.05 var(--f-marca);letter-spacing:-.02em;margin:0 0 var(--e5);text-wrap:balance}
.h-banner h1 span{color:var(--ciano);display:block}
.h-sub{color:var(--h-banner-suave);font-size:var(--t-destaque);line-height:1.55;max-width:54ch;margin:0 0 var(--e6)}
.h-botoes{display:flex;flex-wrap:wrap;gap:var(--e3)}
.h-botoes .btn .ico{width:20px;height:20px}
.h-banner .h-btn-sec{color:var(--h-banner-txt);border-color:var(--h-banner-suave);background:transparent}
.h-banner .h-btn-sec:hover{background:rgba(255,255,255,.08)}
.h-busca{display:flex;align-items:center;gap:var(--e2);max-width:600px;margin-top:var(--e6);padding:var(--e2) var(--e2) var(--e2) var(--e4);background:#FFFFFF;border-radius:var(--raio-m);box-shadow:0 12px 32px -12px rgba(0,0,0,.45)}
.h-busca:focus-within{outline:3px solid var(--ciano);outline-offset:3px}
.h-busca-ico{display:flex;color:var(--grafite)}
.h-busca input[type=search]{flex:1 1 auto;min-width:0;min-height:48px;border:0;background:transparent;color:var(--tinta);padding:0 var(--e1);font-size:var(--t-corpo)}
.h-busca input[type=search]::placeholder{color:var(--grafite);opacity:1}
.h-busca input[type=search]:focus{outline:none}
.h-busca .h-busca-btn{flex:none}
.h-busca-msg{margin:var(--e3) 0 0;color:var(--h-banner-suave);font-size:var(--t-apoio);min-height:0}
.h-busca-msg:empty{display:none}
.h-busca-msg a{color:var(--h-banner-link)}
.h-atalhos{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2);margin:var(--e4) 0 0;font-size:var(--t-apoio);color:var(--h-banner-suave)}
.h-atalhos a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e4);border:1px solid rgba(255,255,255,.28);border-radius:var(--raio-pilula);color:var(--h-banner-txt);text-decoration:none;font-weight:600}
main .h-atalhos a{padding-block:0}
.h-atalhos a:hover{border-color:var(--ciano);background:rgba(255,255,255,.06)}
.h-banner-marca{display:flex;justify-content:flex-start;order:-1;position:relative}
.h-banner-marca .sb{width:88px;height:auto;display:block;position:relative}
.sb-recorte{stroke:var(--h-banner)}
.h-faixa{height:6px;background:linear-gradient(90deg,#0B3BE6 0%,#0A84FF 55%,#00C6FF 100%)}
@media (min-width:900px){
  .h-banner-grade{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--e7);padding-top:var(--e8);padding-bottom:var(--e8)}
  .h-banner-marca{order:0;justify-content:center}
  .h-banner-marca .sb{width:min(340px,100%)}
  .h-banner-marca::before{content:"";position:absolute;left:50%;top:50%;width:130%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 48px rgba(255,255,255,.02)}
}

/* números */
.h-numeros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:var(--e6);background:var(--h-borda);border:1px solid var(--h-borda);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.h-num{background:var(--card);padding:var(--e5) var(--e3);text-align:center;display:flex;flex-direction:column;justify-content:center;gap:var(--e1)}
.h-num b{font:800 clamp(var(--t-t2),4.2vw,var(--t-t1))/1.1 var(--f-marca);color:var(--h-num);white-space:nowrap;font-variant-numeric:tabular-nums}
.h-num span{font-size:var(--t-apoio);line-height:1.35;color:var(--suave)}
@media (min-width:900px){.h-numeros{grid-template-columns:repeat(4,minmax(0,1fr))}.h-num{padding:var(--e6) var(--e4)}}
.h-nota{margin:var(--e3) auto 0;text-align:center;color:var(--suave);font-style:italic;font-size:var(--t-apoio);max-width:70ch}

/* seções */
.h-secao{margin-top:var(--e8)}
.h-secao>.rotulo,.h-secao>h2{text-align:center}
.h-secao>.rotulo,.h-vitrine-txt>.rotulo{margin:0 0 var(--e2);color:var(--link)}
.h-secao>h2{margin:0 auto var(--e6);max-width:24ch;text-wrap:balance}
@media (min-width:900px){.h-secao{margin-top:var(--e9)}}

/* grade de recursos 3x2 */
.h-recursos{display:grid;grid-template-columns:1fr;gap:var(--e4)}
@media (min-width:600px){.h-recursos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:900px){.h-recursos{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}}
.h-rec{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e3);padding:var(--e5);background:var(--card);border:1px solid var(--h-borda);border-radius:var(--raio);color:var(--texto);text-decoration:none;box-shadow:var(--sombra);transition:transform .15s,box-shadow .15s,border-color .15s}
.h-rec:hover{transform:translateY(-3px);border-color:var(--primaria);box-shadow:var(--h-sombra-hover)}
.h-rec-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--raio-m);background:var(--h-ico-bg);color:var(--h-ico)}
.h-rec-ico .ico{width:26px;height:26px}
.h-rec b{font:700 var(--t-t3)/1.3 var(--f-marca);color:var(--titulo)}
.h-rec-desc{flex:1;font-size:var(--t-ui);line-height:1.5;color:var(--suave)}
.h-rec-ir{display:inline-flex;align-items:center;gap:var(--e2);font-weight:700;font-size:var(--t-apoio);color:var(--link)}
.h-rec-ir .ico{width:18px;height:18px;transition:transform .15s}
.h-rec:hover .h-rec-ir .ico{transform:translateX(4px)}

/* como funciona */
.h-passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--e4)}
.h-passos li{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:var(--e4);row-gap:var(--e3);align-items:center;align-content:start;padding:var(--e5);background:var(--card);border:1px solid var(--h-borda);border-radius:var(--raio)}
.h-passo-n{grid-row:span 1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--raio-pilula);background:var(--h-passo-bg);color:var(--h-passo-txt);font:800 var(--t-t3)/1 var(--f-marca)}
.h-passos b{font:700 var(--t-sub)/1.2 var(--f-marca);color:var(--titulo);padding-right:var(--e7)}
.h-passos li>span:last-child{grid-column:1/-1;color:var(--suave);font-size:var(--t-ui);line-height:1.5}
.h-passo-ico{position:absolute;top:24px;right:24px;color:var(--h-ico)}
.h-passo-ico .ico{width:28px;height:28px}
@media (min-width:900px){
  .h-passos{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}
  .h-passos li:not(:last-child)::after{content:"";position:absolute;top:45px;right:-25px;width:26px;height:2px;background:var(--linha)}
}

/* vitrine */
.h-vitrine{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--e6);padding:var(--e6) var(--e4);margin-left:calc(var(--e4)*-1);margin-right:calc(var(--e4)*-1);background:var(--h-painel);align-items:start}
.h-vitrine-txt h2{margin:0 0 var(--e4);text-wrap:balance}
.h-vitrine-txt>p{color:var(--texto);font-size:var(--t-corpo);max-width:52ch}
.h-lista{list-style:none;margin:0 0 var(--e5);padding:0;display:grid;gap:var(--e3)}
.h-lista li{display:flex;gap:var(--e3);align-items:flex-start;font-weight:600;color:var(--titulo)}
.h-lista li .ico{color:var(--ok);margin-top:3px}
.h-vitrine-q{min-width:0}
.h-vitrine-q .cartao{margin:0}
.h-vitrine-selo{margin:0 0 var(--e2)}
@media (min-width:600px){.h-vitrine{margin-left:0;margin-right:0;padding:var(--e6);border-radius:var(--raio)}}
@media (min-width:900px){.h-vitrine{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--e7);padding:var(--e7)}.h-vitrine-txt{position:sticky;top:96px}}

/* pílulas */
.h-pilulas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--e3)}
.h-pilula{display:inline-flex;align-items:center;gap:var(--e3);min-height:48px;padding:0 var(--e3) 0 var(--e5);border:1.5px solid var(--linha);border-radius:var(--raio-pilula);background:var(--card);color:var(--titulo);font-weight:700;font-size:var(--t-corpo);text-decoration:none;transition:border-color .15s,transform .15s}
.h-pilula span{background:var(--h-ico-bg);color:var(--h-ico);border-radius:var(--raio-pilula);padding:2px var(--e3);font-size:var(--t-apoio);font-weight:700;font-variant-numeric:tabular-nums}
.h-pilula:hover{border-color:var(--primaria);transform:translateY(-1px)}
#h-discs .h-pilula{min-height:44px;font-size:var(--t-apoio);font-weight:600}
.h-sub3{text-align:center;margin:var(--e7) 0 var(--e4);font:700 var(--t-t3)/28px var(--f-ui)}

/* recursos em teste (discreto) */
.h-teste{margin:var(--e8) auto 0;max-width:760px;border:1px dashed var(--borda);border-radius:var(--raio-m);padding:0 var(--e4)}
.h-teste summary{cursor:pointer;min-height:48px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--e1) var(--e3);font-weight:600;color:var(--suave);font-size:var(--t-apoio)}
.h-teste summary span{font-weight:400;font-size:var(--t-apoio)}
.h-teste-links{display:flex;flex-wrap:wrap;gap:var(--e1) var(--e2);padding:0 0 var(--e3)}
.h-teste-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e3);border-radius:var(--raio-p);color:var(--link);font-weight:600}

/* rodapé da marca */
.h-rodape{margin-top:var(--e8);background:var(--h-banner);color:var(--h-banner-suave);padding:var(--e7) 0 var(--e5)}
.h-rodape-grade{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--e5)}
.h-rodape-marca img{height:56px;width:auto;display:block}
.h-rodape-marca p{margin:var(--e2) 0 0;font-size:var(--t-apoio)}
.h-rodape-nav{display:flex;flex-wrap:wrap;gap:var(--e1)}
.h-rodape-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e3);border-radius:var(--raio-p);color:var(--h-banner-txt);font-weight:600;text-decoration:none}
.h-rodape-nav a:hover{background:rgba(255,255,255,.08)}
.h-rodape-fim{margin:var(--e5) 0 0;padding-top:var(--e4);border-top:1px solid rgba(255,255,255,.12);font-size:var(--t-apoio);color:#A9B6CC}
@media (max-width:599px){.h-atalhos>span{flex-basis:100%}}
@media (max-width:420px){.h-busca{padding-left:var(--e3)}.h-busca .h-busca-btn{padding:0 var(--e4)}.h-botoes .btn{flex:1 1 100%}}
/* ESCURO-SISTEMA:INICIO (gerado por tools/gera_css_escuro.py, não editar) */
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){
  --primaria:#0A84FF; --primaria-2:#3D9CFF; --destaque:var(--ciano);
  --link:#7DBBFF; --bg:#06172F; --card:#0E2244; --texto:#E3E9F2; --suave:#A9B6CC; --borda:#2A3F63; --titulo:#FFFFFF; --foco:var(--ciano); --sobre-primaria:#06172F;
  --ok:#5FD3A3; --ok-bg:#0F3A33; --erro:#FF9AA0; --erro-bg:#3A1A22; --aviso-bg:#3A2D12; --aviso:#F5C26B;
  --topo-bg:#06172F; --ia-bg:#12306A; --chip-ativo:#E3E9F2; --chip-ativo-txt:#06172F; --sel-bg:#12306A;
  --hover:#12306A;
  --desab-bg:#12306A; --sombra:0 1px 2px rgba(0,0,0,.4);
}
:root:not([data-theme="light"]) .logo-claro{display:none!important}
:root:not([data-theme="light"]) .logo-escuro{display:block!important}
:root:not([data-theme="light"]) .cartao{border-color:var(--borda)}
:root:not([data-theme="light"]) .btn:not(.sec):not(.perigo):not(.ter):not(.ia){color:#06172F}
:root:not([data-theme="light"]) .btn.sec:hover{background:#12306A}
:root:not([data-theme="light"]) .atalho{background:var(--card);border-color:var(--borda)}
:root:not([data-theme="light"]) .enunciado{color:var(--texto)}
:root:not([data-theme="light"]) .op-btn.certa .letra,:root:not([data-theme="light"]) .op-btn.errada .letra,:root:not([data-theme="light"]) .op-btn.sel .letra{color:#06172F}
:root:not([data-theme="light"]) .lei-texto{background:#12306A;border-color:var(--borda);color:#E3E9F2}
:root:not([data-theme="light"]){
  --h-banner:#020C1C; --h-borda:#2A3F63; --h-ico-bg:#12306A; --h-ico:#00C6FF; --h-num:#00C6FF; --h-painel:#0A1D3B;
  --h-passo-bg:#00C6FF; --h-passo-txt:#06172F; --h-sombra-hover:0 16px 32px -12px rgba(0,0,0,.6);
}
}
/* ESCURO-SISTEMA:FIM */

/* v6: mentoria v2 (grade por hora, linha do tempo, diagnóstico) */
.grade-horas{display:grid;grid-template-columns:3em repeat(7,minmax(0,1fr));gap:2px;max-width:560px;font-size:var(--t-rotulo);user-select:none}
.gh-cab{text-align:center;color:var(--suave);font-weight:600;padding-bottom:var(--e1)}
.gh-hora{color:var(--suave);text-align:right;padding-right:var(--e1);align-self:center}
.gh-cel{min-height:32px;border:1px solid var(--borda);background:var(--card);border-radius:4px;cursor:pointer;padding:0}
.gh-cel:hover:not(:disabled){border-color:var(--primaria)}
.gh-cel.on,.gh-lg.on{background:var(--primaria);border-color:var(--primaria)}
.gh-cel.bloq,.gh-lg.bloq{background:repeating-linear-gradient(45deg,var(--desab-bg),var(--desab-bg) 4px,var(--borda) 4px,var(--borda) 6px);cursor:not-allowed}
.gh-cel.tirada,.gh-lg.tirada{background:var(--erro-bg);border-color:var(--erro)}
.legenda-grade{display:flex;flex-wrap:wrap;gap:var(--e2) var(--e4);align-items:center}
.gh-lg{display:inline-block;width:14px;height:14px;border:1px solid var(--borda);border-radius:3px;background:var(--card);vertical-align:middle}
.linha-tempo{margin:var(--e4) 0}
.lt-barra{position:relative;display:flex;gap:2px;margin-bottom:var(--e3)}
.lt-fase{min-width:0;padding:var(--e2) var(--e3);border-radius:var(--raio-p);color:#fff;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.lt-fase b{font-size:var(--t-apoio)}.lt-fase span,.lt-fase small{font-size:var(--t-rotulo)}
.lt-base{background:#0B3BE6}.lt-aprof{background:#0A6ABF}.lt-final{background:#06172F}
.lt-aqui{position:absolute;top:-6px;bottom:-6px;width:4px;margin-left:-2px;background:var(--revisar);border-radius:2px}
tr.atual th,tr.atual td{background:var(--sel-bg)}
.bloco-revisão{border-left:3px solid var(--revisar);padding-left:var(--e1)}
.bloco-minissimulado,.bloco-treino{border-left:3px solid var(--erro);padding-left:var(--e1)}
.bloco-leitura,.bloco-matéria,.bloco-áudio{border-left:3px solid var(--suave);padding-left:var(--e1)}
.lista-caderno{list-style:none;padding:0;margin:0}
.ck-falhou .falhou{margin:var(--e2) 0 0;padding:var(--e2) var(--e3)}
.ck-falhou .falhou .chk{display:inline-flex;margin-right:var(--e3)}
.grade-dias tbody th{width:14%}
@media (max-width:599px){.grade-horas{grid-template-columns:2.4em repeat(7,minmax(0,1fr))}.lt-barra{flex-direction:column}.lt-aqui{display:none}}
@media print{.grade-horas,#m-recalc,.legenda-grade{display:none!important}}

/* v6.1: correções da auditoria (tabelas sem quebrar palavra, check-in em linha, rótulos de regra) */
.rolar{overflow-x:auto;max-width:100%}
.tab-largas{table-layout:auto;min-width:0}
.tab-largas th,.tab-largas td{overflow-wrap:normal;word-break:normal;hyphens:none}
.tab-largas th small{display:block;font-weight:400;color:var(--suave)}
#m-plano .selo,#m-form .selo{white-space:nowrap}
.cod{font-size:11px;color:var(--suave);border:1px solid var(--borda);border-radius:var(--raio-p);padding:0 4px;white-space:nowrap}
#m-checkin .check-op{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--e1);max-width:420px}
#m-checkin .check-op .chk{justify-content:center;border:1px solid var(--borda);border-radius:var(--raio-p);padding:0 var(--e2);gap:var(--e1)}
#m-checkin .tab-simples th small{display:block;font-weight:400;color:var(--suave)}
.erro-q{border:1px solid var(--borda);border-radius:var(--raio-m);margin:var(--e2) 0;padding:var(--e2) var(--e3)}
.erro-q>summary{cursor:pointer;min-height:44px}
.refaz-q{display:grid;gap:var(--e2);margin-top:var(--e2)}
.lt-fase{min-width:84px}
@media (max-width:599px){.lt-fase{min-width:0}}
@media (max-width:599px){
  #m-checkin table,#m-checkin tbody,#m-checkin tr,#m-checkin th,#m-checkin td{display:block;width:100%}
  #m-checkin thead{display:none}
  #m-checkin tr{border-bottom:1px solid var(--borda);padding:var(--e2) 0}
  #m-checkin th,#m-checkin td{border:0;padding:var(--e1) 0}
  #m-checkin .check-op{max-width:none}
}

/* v6.2: reauditoria */
.ver-regra,.ver-regra summary{display:inline}
.ver-regra{font-size:11px;color:var(--suave)}
.ver-regra summary{cursor:pointer;text-decoration:underline;list-style:none}
.ver-regra summary::-webkit-details-marker{display:none}
#m-dx{scroll-margin-top:84px}
@media (max-width:599px){
  .grade-dias thead{display:none}
  .grade-dias,.grade-dias tbody,.grade-dias tr,.grade-dias th,.grade-dias td{display:block;width:100%}
  .grade-dias tbody th{width:100%;border:0;background:var(--bg);padding:var(--e2) var(--e3)}
  .grade-dias tbody th small{display:inline;margin-left:var(--e2)}
}

/* Busca e ordem no Banco; modo tesoura */
.busca-banco{margin-bottom:var(--e4)}
.busca-banco input[type=search],.busca-banco input[type=number]{width:100%}
.dica-risco{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2) var(--e3);margin:var(--e2) 0 0;color:var(--suave);font-size:var(--t-rotulo)}
.dica-risco .modo-tes{gap:var(--e2)}
.dica-risco .modo-tes[aria-pressed=true]{background:var(--aviso-bg);color:var(--aviso);border-color:var(--revisar)}
.dica-risco .modo-tes .ico{width:18px;height:18px}
.modo-tesoura .op-btn{cursor:crosshair}
.modo-tesoura .op-btn:not(.riscada){outline:1px dashed var(--revisar);outline-offset:-3px}
@media print{
  .op-btn.riscada{border-style:solid!important}
  .op-btn.riscada .txt{text-decoration:none!important;color:inherit!important}
  .op-btn.riscada .letra{color:inherit!important}
  .modo-tesoura .op-btn{outline:none!important}
  .tesoura,.dica-risco,.busca-banco{display:none!important}
}

/* ---------- lote 13: listas, PDF, reportar erro, simulado do banco ---------- */
.q-extras{display:flex;flex-wrap:wrap;gap:var(--e2);margin-top:var(--e2);align-items:center}
.q-extras .btn[aria-pressed="true"]{background:var(--sel-bg);color:var(--link);border-color:var(--primaria)}
.cesta-barra{position:fixed;right:var(--e3);bottom:calc(var(--e3) + env(safe-area-inset-bottom,0px));z-index:24;display:flex;align-items:center;gap:var(--e2);flex-wrap:wrap;max-width:calc(100vw - 2*var(--e3));padding:var(--e2) var(--e3);background:var(--card);border:1.5px solid var(--primaria);border-radius:var(--raio);box-shadow:var(--sombra)}
.cesta-barra[hidden]{display:none}
.cb-n{font:600 var(--t-apoio)/1.2 var(--f-ui);color:var(--titulo)}
@media (max-width:899px){.cesta-barra{bottom:calc(var(--barra-h) + var(--e3) + env(safe-area-inset-bottom,0px));left:var(--e3);justify-content:space-between}}
.lista-acoes .lst-qtd{display:inline-flex;gap:var(--e2);align-items:center}
.lista-acoes .lst-qtd select{width:auto;min-width:72px}
.lst-msg{margin:var(--e2) 0 0;font-size:var(--t-apoio);color:var(--suave);min-height:1.2em}
.lst-msg.ok{color:var(--ok,#0a7a3d)}
.lst-msg.erro{color:var(--erro)}
.lst-itens{list-style:none;margin:0 0 var(--e3);padding:0}
.lst-itens li{display:flex;gap:var(--e3);align-items:center;flex-wrap:wrap;padding:var(--e2) 0;border-bottom:1px solid var(--nevoa)}
.lst-n{flex:none;font:700 var(--t-apoio)/1 var(--f-ui);color:var(--sobre-primaria);background:var(--titulo);padding:6px 8px;border-radius:var(--raio-m)}
:root[data-theme="dark"] .lst-n{background:var(--primaria)}
.lst-txt{flex:1;min-width:200px;display:flex;flex-direction:column}
.lst-txt small{color:var(--suave)}
.lst-bt{display:flex;gap:var(--e1)}
.lst-card h3{margin:0 0 var(--e1)}
dialog.dlg{max-width:min(480px,calc(100vw - 2*var(--e3)));width:100%;padding:var(--e5);border:1.5px solid var(--primaria);border-radius:var(--raio);background:var(--card);color:var(--texto);box-shadow:var(--sombra)}
dialog.dlg::backdrop{background:rgba(6,23,47,.55)}
dialog.dlg h2{font-size:1.15rem;margin:0 0 var(--e2)}
dialog.dlg label{display:block;margin:var(--e3) 0 var(--e1);font-weight:600}
dialog.dlg .acoes{justify-content:flex-end}
.rodape-reporta{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--e3);border-radius:var(--raio-m);border:0;background:none;color:var(--titulo);font:600 inherit/1 var(--f-ui);font-family:inherit;font-size:inherit;cursor:pointer}
.rodape-reporta:hover{background:var(--hover)}
.rp-aviso{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--barra-h,64px) + var(--e5));z-index:60;max-width:min(520px,calc(100vw - 2*var(--e3)));padding:var(--e3) var(--e4);background:var(--titulo);color:var(--sobre-primaria);border-radius:var(--raio);box-shadow:var(--sombra);font-weight:600}
.rp-aviso[hidden]{display:none}
:root[data-theme="dark"] .rp-aviso{background:var(--primaria);color:#06172F}
@media print{.cesta-barra,.rp-aviso,dialog.dlg,.q-extras,.lista-acoes{display:none!important}}

/* ---------- contas (fase 1, VPS) ---------- */
.convite-conta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e2,8px) var(--e3,12px);justify-content:center;padding:var(--e2,8px) var(--e4,16px);background:var(--sel-bg);color:var(--texto);border-bottom:1px solid var(--borda);font-size:var(--t-apoio)}
.form-conta input[type=password]{width:100%;min-height:44px;padding:var(--e2) var(--e3);font:inherit;color:var(--texto);background:var(--card);border:1.5px solid var(--borda);border-radius:var(--raio-m)}
.form-conta label{margin-top:var(--e3)}
.form-conta label.marca{display:flex;gap:var(--e2);align-items:flex-start;font-weight:400;color:var(--texto)}
.form-conta label.marca input{width:auto;min-height:0;margin-top:4px}
.abas-conta{display:flex;gap:var(--e2);margin-bottom:var(--e3)}
.msg-conta{min-height:1.4em;margin:var(--e2) 0;font-size:var(--t-apoio)}
.msg-conta.ok{color:var(--ok)} .msg-conta.erro{color:var(--erro)}
.privacidade{margin:var(--e3) 0;padding:var(--e3);border:1px solid var(--borda);border-radius:var(--raio-m);background:var(--bg)}
.privacidade summary{cursor:pointer;font-weight:700;color:var(--link)}
