/* ============================================================
   REVALIDA · QUESTIONÁRIOS — ESTRUTURA FUNCIONAL (Etapa 1)
   Visual: caderno digital de prova (papel, tinta, serifa)
   ============================================================ */
:root{
  --papel:#F5F3EE;
  --superficie:#FFFFFF;
  --tinta:#22303B;
  --tinta-2:#5C6B78;
  --linha:#E2DED4;
  --acento:#0E5F5C;
  --acento-escuro:#0A4a47;
  --acento-claro:#E4F0EF;
  --sel-bg:#EDF0F3;
  --ok:#1D7A46;   --ok-bg:#E9F5EE;   --ok-linha:#BFE3CD;
  --erro:#B3372E; --erro-bg:#FBEDEB; --erro-linha:#F0C8C3;
  --aviso-bg:#FBF3DD; --aviso-linha:#EAD9A6; --aviso-texto:#7A5B14;
  --radius:14px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Times New Roman","Noto Serif",serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.55}
button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}
img{max-width:100%;height:auto}
b,strong{font-weight:650}

.container{max-width:860px;margin:0 auto;padding:28px 20px 64px}
.main-prova{padding-bottom:130px}

.overline{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acento);font-weight:700;margin:0 0 6px}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 18px;font-weight:600;font-size:.95rem;transition:background .15s,border-color .15s,color .15s,transform .1s;border:1.5px solid transparent}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.btn-primario{background:var(--acento);color:#fff}
.btn-primario:not(:disabled):hover{background:var(--acento-escuro)}
.btn-fantasma{border-color:var(--linha);background:var(--superficie);color:var(--tinta)}
.btn-fantasma:not(:disabled):hover{border-color:var(--tinta-2)}
.btn-perigo{background:var(--erro);color:#fff}
.btn-perigo:hover{background:#96291f}
.btn-texto{color:var(--tinta-2);text-decoration:underline;text-underline-offset:3px;padding:10px 12px}
.btn-texto:hover{color:var(--tinta)}
.btn-mini{padding:8px 14px;font-size:.85rem;border-radius:9px}
.btn:focus-visible,.chip:focus-visible,.alt:focus-visible,.pq:focus-visible,.opcao:focus-visible,.item-prova:focus-visible{outline:2px solid var(--acento);outline-offset:2px}

/* ---------- Tela inicial ---------- */
.hero{border-top:4px double var(--tinta);padding-top:26px;margin-bottom:34px}
.hero h1{font-family:var(--serif);font-size:2.6rem;line-height:1.1;margin:2px 0 12px;letter-spacing:-.01em}
.hero .sub{color:var(--tinta-2);max-width:56ch;margin:0}
.opcoes{display:grid;gap:14px}
.opcao{position:relative;display:block;text-align:left;background:var(--superficie);border:1.5px solid var(--linha);border-radius:var(--radius);padding:24px 56px 24px 24px;transition:border-color .15s,box-shadow .15s}
.opcao:hover{border-color:var(--acento);box-shadow:0 2px 10px rgba(20,40,45,.06)}
.opcao-titulo{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:700;margin-bottom:6px}
.opcao-desc{display:block;color:var(--tinta-2);font-size:.94rem}
.opcao-seta{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--acento)}
.home-stats{margin-top:34px;padding-top:16px;border-top:1px solid var(--linha);color:var(--tinta-2);font-size:.85rem}

/* ---------- Cabeçalhos de tela ---------- */
.tela-topo{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.tela-topo h2{font-family:var(--serif);font-size:1.6rem;margin:0}

/* ---------- Lista de provas ---------- */
.lista-provas{display:grid;gap:10px}
.item-prova{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;text-align:left;background:var(--superficie);border:1.5px solid var(--linha);border-radius:12px;padding:18px 52px 18px 20px;transition:border-color .15s}
.item-prova:hover{border-color:var(--acento)}
.ip-nome{font-family:var(--serif);font-size:1.15rem;font-weight:700}
.ip-info{color:var(--tinta-2);font-size:.88rem}
.ip-seta{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--acento);font-size:1.15rem}

.vazio{background:var(--superficie);border:1.5px dashed var(--linha);border-radius:var(--radius);padding:34px 24px;text-align:center;color:var(--tinta-2)}
.vazio strong{color:var(--tinta)}
.vazio p{margin:4px 0}

/* ---------- Configuração das questões aleatórias ---------- */
.bloco-filtro{background:var(--superficie);border:1.5px solid var(--linha);border-radius:var(--radius);padding:20px;margin-bottom:14px}
.bloco-filtro h3{margin:0 0 12px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--linha);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:550;background:#fff;color:var(--tinta);transition:border-color .12s,background .12s,color .12s}
.chip:hover{border-color:var(--tinta-2)}
.chip.on{background:var(--tinta);border-color:var(--tinta);color:#fff}
.nota-vazia{margin:0;color:var(--tinta-2);font-size:.9rem}
.contagem-disp{margin:6px 2px 14px;color:var(--tinta-2);font-size:.9rem}
.contagem-disp b{color:var(--tinta)}
.acao-iniciar{width:100%;padding:15px;font-size:1rem}

/* ---------- Barra superior (tentativa) ---------- */
.barra-topo{position:sticky;top:0;z-index:30;background:rgba(245,243,238,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.barra-topo-inner{max-width:860px;margin:0 auto;padding:10px 20px}
.topo-l1{display:flex;align-items:center;gap:12px}
.topo-titulo{flex:1;min-width:0;line-height:1.25}
.topo-titulo strong{display:block;font-family:var(--serif);font-size:1.02rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topo-titulo span{display:block;color:var(--tinta-2);font-size:.76rem}
.cron{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--tinta);color:#fff;padding:6px 12px;border-radius:999px;font-size:.84rem;white-space:nowrap}
.topo-l2{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:9px}
.contadores{color:var(--tinta-2);font-size:.86rem}
.contadores b{color:var(--tinta)}
.badge-corrigida{display:inline-flex;align-items:center;gap:6px;background:var(--ok-bg);border:1px solid var(--ok-linha);color:var(--ok);border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:650}
.grupo-acoes-topo{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ---------- Aviso ---------- */
.aviso{display:flex;align-items:flex-start;gap:12px;background:var(--aviso-bg);border:1px solid var(--aviso-linha);color:var(--aviso-texto);border-radius:12px;padding:12px 14px;font-size:.9rem;margin-bottom:16px}
.aviso span{flex:1}
.aviso button{font-size:1.1rem;line-height:1;color:inherit;padding:2px 6px}

/* ---------- Questão ---------- */
.q-card{background:var(--superficie);border:1.5px solid var(--linha);border-radius:16px;padding:26px 26px 22px;box-shadow:0 1px 3px rgba(25,35,45,.05)}
.q-pos{margin:0 0 4px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2);font-weight:650}
.q-meta{display:inline-block;margin:0 0 18px;background:var(--acento-claro);color:var(--acento-escuro);border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:650}
.enunciado{font-family:var(--serif);font-size:1.06rem;line-height:1.75}
.enunciado p{margin:0 0 14px}
.enunciado p:last-child{margin-bottom:0}
.enunciado .tabela-rolagem{overflow-x:auto;margin:16px 0}
.enunciado table{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.92rem;line-height:1.45}
.enunciado th,.enunciado td{border:1px solid var(--linha);padding:8px 10px;text-align:left;vertical-align:top}
.enunciado th{background:#F3F1EA;font-weight:650}

.q-figura{margin:20px 0;text-align:center}
.q-figura img{max-width:100%;border:1px solid var(--linha);border-radius:10px;background:#fff;cursor:zoom-in}
.q-figura figcaption{margin-top:8px;font-size:.84rem;color:var(--tinta-2)}

/* ---------- Alternativas ---------- */
.alternativas{margin-top:22px;display:grid;gap:10px}
.alt{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--linha);border-radius:12px;padding:14px 16px;font-family:var(--serif);font-size:1rem;line-height:1.6;transition:border-color .12s,background .12s}
.alt:not(:disabled):hover{border-color:var(--tinta-2)}
.alt:disabled{opacity:1;cursor:default}
.alt-letra{flex:0 0 30px;height:30px;border-radius:50%;border:1.5px solid var(--tinta-2);display:grid;place-items:center;font-family:var(--sans);font-weight:650;font-size:.84rem;color:var(--tinta-2);margin-top:1px}
.alt-conteudo{flex:1;min-width:0}
.alt-figura{margin:12px 0 4px;text-align:center}
.alt-figura img{max-width:100%;border:1px solid var(--linha);border-radius:8px;cursor:zoom-in}
.alt-figura figcaption{margin-top:6px;font-size:.82rem;color:var(--tinta-2);font-family:var(--sans)}
.alt-ico{flex:0 0 auto;font-size:1rem;font-weight:700;margin-top:3px}
/* selecionada (neutra, antes da correção) */
.alt.sel{border-color:var(--tinta);background:var(--sel-bg)}
.alt.sel .alt-letra{background:var(--tinta);border-color:var(--tinta);color:#fff}
/* após a correção */
.alt.certa{border-color:var(--ok-linha);background:var(--ok-bg)}
.alt.certa .alt-letra{background:var(--ok);border-color:var(--ok);color:#fff}
.alt.certa .alt-ico{color:var(--ok)}
.alt.errada{border-color:var(--erro-linha);background:var(--erro-bg)}
.alt.errada .alt-letra{background:var(--erro);border-color:var(--erro);color:#fff}
.alt.errada .alt-ico{color:var(--erro)}

/* ---------- Barra inferior de navegação ---------- */
.barra-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.97);border-top:1px solid var(--linha);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
.barra-nav-inner{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:10px}
.barra-nav .btn{padding:12px 10px;font-size:.92rem}
.barra-nav .btn:first-child{justify-self:stretch}
.barra-nav .btn:last-child{justify-self:stretch}

/* ---------- Painel de questões ---------- */
.modal-pano{position:fixed;inset:0;z-index:60;background:rgba(30,38,46,.45);display:flex;align-items:center;justify-content:center;padding:20px}
.modal-pano[hidden]{display:none}
.folha{background:var(--superficie);border-radius:16px;max-width:600px;width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(15,25,35,.25)}
.folha-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--linha)}
.folha-topo h3{margin:0;font-family:var(--serif);font-size:1.15rem}
.folha-fechar{font-size:1.4rem;line-height:1;color:var(--tinta-2);padding:4px 8px}
.folha-corpo{padding:18px 20px;overflow-y:auto}
.painel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:8px}
.pq{border:1.5px solid var(--linha);border-radius:9px;padding:10px 4px;font-size:.88rem;font-weight:650;font-variant-numeric:tabular-nums;background:#fff;color:var(--tinta);transition:border-color .12s}
.pq:hover{border-color:var(--tinta-2)}
.pq.resp{background:var(--tinta);border-color:var(--tinta);color:#fff}
.pq.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.pq.erro{background:var(--erro);border-color:var(--erro);color:#fff}
.pq.atual{box-shadow:0 0 0 2px var(--papel),0 0 0 4px var(--acento)}
.painel-legenda{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--linha);font-size:.82rem;color:var(--tinta-2)}
.lg{display:inline-flex;align-items:center;gap:7px}
.dot{width:12px;height:12px;border-radius:4px;display:inline-block;border:1.5px solid var(--linha)}
.dot.resp{background:var(--tinta);border-color:var(--tinta)}
.dot.ok{background:var(--ok);border-color:var(--ok)}
.dot.erro{background:var(--erro);border-color:var(--erro)}
.dot.vazio{background:#fff}

/* ---------- Modal de confirmação ---------- */
.modal-caixa{background:var(--superficie);border-radius:16px;max-width:440px;width:100%;padding:26px 24px;box-shadow:0 18px 50px rgba(15,25,35,.25)}
.modal-caixa h3{margin:0 0 10px;font-family:var(--serif);font-size:1.25rem}
.modal-caixa p{margin:0 0 22px;color:var(--tinta-2);line-height:1.6}
.modal-botoes{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

/* ---------- Lightbox (ampliação de imagens) ---------- */
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(18,24,30,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:94vw;max-height:82vh;width:auto;height:auto;border-radius:8px;background:#fff}
.lightbox figcaption{color:#E8E6E0;margin-top:12px;font-size:.9rem;text-align:center;max-width:80ch}
.lb-fechar{position:absolute;top:14px;right:16px;color:#fff;font-size:1.9rem;line-height:1;padding:8px 12px}

/* ---------- Resultado ---------- */
.tela-res{display:flex;justify-content:center}
.res-card{background:var(--superficie);border:1.5px solid var(--linha);border-radius:16px;padding:34px 30px;max-width:520px;width:100%;border-top:4px double var(--tinta)}
.res-titulo{margin:0 0 18px;font-family:var(--serif);font-size:1.35rem}
.res-pct{font-family:var(--serif);font-size:3.6rem;font-weight:700;line-height:1;color:var(--acento)}
.res-sub{margin:8px 0 24px;color:var(--tinta-2);font-size:.9rem}
.res-grid{border-top:1px solid var(--linha)}
.res-linha{display:flex;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid var(--linha);font-size:.95rem}
.res-linha span:first-child{color:var(--tinta-2)}
.res-linha b{font-variant-numeric:tabular-nums}
.res-linha.ok b{color:var(--ok)}
.res-linha.erro b{color:var(--erro)}
.res-linha.tempo{background:var(--acento-claro);margin:0 -12px;padding:11px 14px;border-radius:10px;border-bottom:none}
.res-linha.tempo b{font-family:var(--mono)}
.res-acoes{display:grid;gap:10px;margin-top:26px}
.res-acoes .btn{width:100%}

/* ---------- Desempenho por área ---------- */
.res-areas{margin-top:26px;padding-top:22px;border-top:1px solid var(--linha)}
.res-areas h3{margin:0 0 6px;font-family:var(--serif);font-size:1.15rem}
.res-areas-sub{margin:0 0 16px;color:var(--tinta-2);font-size:.88rem}
.res-destaques{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.res-destaque{border:1px solid var(--linha);border-radius:12px;padding:14px;background:#fff;min-width:0}
.res-destaque.foco{background:var(--erro-bg);border-color:var(--erro-linha)}
.res-destaque.forte{background:var(--ok-bg);border-color:var(--ok-linha)}
.res-destaque small{display:block;color:var(--tinta-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:5px}
.res-destaque strong{display:block;line-height:1.3;overflow-wrap:anywhere}
.res-destaque span{display:block;margin-top:5px;font-size:.84rem;color:var(--tinta-2)}
.res-area-lista{display:grid;gap:9px}
.res-area-item{border:1px solid var(--linha);border-radius:11px;padding:12px 13px;background:#fff}
.res-area-topo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px}
.res-area-nome{font-weight:650;min-width:0;overflow-wrap:anywhere}
.res-area-pct{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.res-area-barra{height:8px;border-radius:999px;background:#ECE9E1;overflow:hidden}
.res-area-barra span{display:block;height:100%;background:var(--acento);border-radius:inherit}
.res-area-dados{margin-top:7px;color:var(--tinta-2);font-size:.8rem}
.res-area-nota{margin-top:11px;color:var(--tinta-2);font-size:.78rem}

/* ---------- Responsivo ---------- */
@media (max-width:640px){
  .res-destaques{grid-template-columns:1fr}
  .res-area-topo{align-items:flex-start}

  .hero h1{font-size:2.1rem}
  .q-card{padding:20px 16px 18px}
  .enunciado{font-size:1.02rem}
  .barra-topo-inner{padding:9px 14px}
  .container{padding:22px 16px 64px}
  .main-prova{padding-bottom:130px}
  .barra-nav .btn{padding:12px 6px;font-size:.86rem}
  .res-pct{font-size:3rem}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}


/* ============================================================
   AJUSTES WORDPRESS + RESPONSIVIDADE (celular e tablet)
   ============================================================ */
html, body{
  width:100% !important;
  max-width:100% !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  background:#F5F3EE !important;
  color:#22303B !important;
}
body, #app{
  background:#F5F3EE !important;
}
#app{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-height:100vh !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  color:var(--tinta) !important;
  font-family:var(--sans) !important;
}
#app *,
#painel-pano *,
#modal-pano *,
#lightbox *{
  box-sizing:border-box !important;
}
.container,
.barra-topo-inner,
.barra-nav-inner{
  width:100% !important;
  max-width:860px !important;
  min-width:0 !important;
}
.container{
  margin-left:auto !important;
  margin-right:auto !important;
}
.q-card,
.bloco-filtro,
.opcao,
.item-prova,
.res-card,
.folha,
.modal-caixa{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.enunciado,
.alt,
.alt-conteudo,
.q-meta,
.ip-nome,
.ip-info,
.topo-titulo,
.contadores{
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.enunciado p,
.alt-conteudo,
.alt-conteudo p{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.enunciado .tabela-rolagem{
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.enunciado table{
  max-width:none !important;
}
.q-figura,
.alt-figura{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.q-figura img,
.alt-figura img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
button,
.btn,
.alt,
.chip,
.pq,
.opcao,
.item-prova{
  max-width:100% !important;
}

/* Tablet */
@media (max-width:900px){
  .container{padding:22px 18px 62px !important}
  .barra-topo-inner{padding:10px 18px !important}
  .q-card{padding:22px 20px 20px !important}
  .hero h1{font-size:2.25rem !important}
  .topo-l1{align-items:flex-start !important;flex-wrap:wrap !important}
  .topo-titulo{flex:1 1 260px !important}
  .cron{margin-left:auto !important}
  .topo-l2{align-items:flex-start !important}
  .grupo-acoes-topo{width:100% !important}
  .grupo-acoes-topo .btn{flex:1 1 150px !important}
}

/* Celular */
@media (max-width:640px){
  body{font-size:15px !important}
  .container{padding:16px 12px 82px !important}
  .main-prova{padding-bottom:168px !important}
  .hero{padding-top:18px !important;margin-bottom:22px !important}
  .hero h1{font-size:1.85rem !important;line-height:1.12 !important}
  .hero .sub{font-size:.93rem !important}
  .opcao{padding:18px 42px 18px 16px !important}
  .opcao-titulo{font-size:1.16rem !important}
  .tela-topo{align-items:flex-start !important;gap:8px !important;flex-wrap:wrap !important}
  .tela-topo h2{font-size:1.35rem !important}
  .bloco-filtro{padding:15px !important}
  .chips{gap:6px !important}
  .chip{padding:7px 11px !important;font-size:.82rem !important}

  .barra-topo-inner{padding:8px 12px !important}
  .topo-l1{display:grid !important;grid-template-columns:minmax(0,1fr) auto !important;gap:8px !important}
  .topo-titulo{grid-column:1 !important;min-width:0 !important}
  .topo-titulo strong{font-size:.95rem !important}
  .topo-titulo span{font-size:.7rem !important}
  .cron{grid-column:2 !important;grid-row:1 !important;padding:5px 8px !important;font-size:.75rem !important}
  .topo-l2{display:block !important;margin-top:7px !important}
  .contadores{display:block !important;font-size:.78rem !important;margin-bottom:7px !important}
  .grupo-acoes-topo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:6px !important}
  .grupo-acoes-topo .btn{width:100% !important;padding:8px 6px !important;font-size:.76rem !important;white-space:normal !important;line-height:1.2 !important}
  .badge-corrigida{font-size:.72rem !important;padding:4px 8px !important}

  .q-card{padding:17px 13px 16px !important;border-radius:12px !important}
  .q-pos{font-size:.67rem !important}
  .q-meta{display:block !important;width:fit-content !important;max-width:100% !important;margin-bottom:13px !important;padding:5px 9px !important;font-size:.72rem !important;white-space:normal !important}
  .enunciado{font-size:.98rem !important;line-height:1.62 !important}
  .enunciado p{margin-bottom:11px !important}
  .enunciado th,.enunciado td{padding:7px 8px !important;font-size:.82rem !important}
  .q-figura{margin:14px 0 !important}
  .alternativas{margin-top:16px !important;gap:8px !important}
  .alt{gap:10px !important;padding:11px 10px !important;font-size:.94rem !important;line-height:1.45 !important;border-radius:10px !important}
  .alt-letra{flex-basis:27px !important;width:27px !important;height:27px !important;font-size:.77rem !important}

  .barra-nav{padding:7px 8px calc(7px + env(safe-area-inset-bottom)) !important}
  .barra-nav-inner{grid-template-columns:1fr 1fr 1fr !important;gap:6px !important}
  .barra-nav .btn{min-width:0 !important;width:100% !important;padding:10px 4px !important;font-size:.74rem !important;line-height:1.15 !important;white-space:normal !important}

  .modal-pano{padding:10px !important}
  .folha{max-height:90vh !important;border-radius:12px !important}
  .folha-topo{padding:13px 14px !important}
  .folha-corpo{padding:13px !important}
  .painel-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:6px !important}
  .pq{padding:9px 2px !important;font-size:.78rem !important}
  .modal-caixa{padding:20px 16px !important}
  .modal-botoes{display:grid !important;grid-template-columns:1fr !important}
  .modal-botoes .btn{width:100% !important}
  .res-card{padding:24px 16px !important}
  .res-pct{font-size:2.65rem !important}
}

/* Celulares muito estreitos */
@media (max-width:380px){
  .container{padding-left:9px !important;padding-right:9px !important}
  .grupo-acoes-topo{grid-template-columns:1fr !important}
  .painel-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .barra-nav .btn{font-size:.68rem !important}
}



/* ============================================================
   CORREÇÃO FINAL — ALTERNATIVAS NO CELULAR
   Impede que textos longos ultrapassem a largura da tela.
   ============================================================ */
.alt{
  display:flex !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  white-space:normal !important;
}
.alt-letra{
  flex:0 0 30px !important;
  min-width:30px !important;
  max-width:30px !important;
}
.alt-conteudo{
  display:block !important;
  flex:1 1 0% !important;
  width:0 !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-wrap:break-word !important;
  word-break:normal !important;
  overflow:hidden !important;
}
.alt-conteudo,
.alt-conteudo *{
  white-space:normal !important;
  max-width:100% !important;
  overflow-wrap:break-word !important;
  word-wrap:break-word !important;
}

@media (max-width:640px){
  .alternativas{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  .alt{
    padding:11px 9px !important;
    gap:9px !important;
  }
  .alt-letra{
    flex-basis:27px !important;
    min-width:27px !important;
    max-width:27px !important;
    width:27px !important;
  }
  .alt-conteudo{
    font-size:.92rem !important;
    line-height:1.42 !important;
  }
}


/* ============================================================
   CORREÇÃO FINAL — CARDS DA TELA INICIAL NO CELULAR
   Garante quebra de linha sem ultrapassar o cartão.
   ============================================================ */
.opcao{
  overflow:hidden !important;
  white-space:normal !important;
}
.opcao-titulo,
.opcao-desc{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.opcao-desc{
  padding-right:8px !important;
}
@media (max-width:640px){
  .opcao{
    padding:16px 44px 16px 14px !important;
  }
  .opcao-titulo{
    font-size:1.12rem !important;
    line-height:1.25 !important;
    margin-bottom:7px !important;
  }
  .opcao-desc{
    font-size:.88rem !important;
    line-height:1.45 !important;
  }
  .opcao-seta{
    right:14px !important;
  }
}

/* ============================================================
   HISTÓRICO DE ESTUDO — ETAPA 1
   ============================================================ */
.historico-home{
  margin-top:22px;
  background:var(--superficie);
  border:1.5px solid var(--linha);
  border-radius:var(--radius);
  padding:18px;
}
.historico-topo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.historico-titulo{
  margin:0 0 4px;
  font-family:var(--serif);
  font-size:1.08rem;
  font-weight:700;
}
.historico-desc{
  margin:0;
  max-width:58ch;
  color:var(--tinta-2);
  font-size:.87rem;
}
.historico-toggle{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:126px;
  border:1.5px solid var(--linha);
  border-radius:999px;
  padding:7px 12px 7px 7px;
  background:#fff;
  color:var(--tinta-2);
  font-size:.82rem;
  font-weight:650;
}
.historico-toggle.on{
  border-color:var(--ok-linha);
  background:var(--ok-bg);
  color:var(--ok);
}
.historico-toggle:disabled{
  cursor:not-allowed;
  opacity:.65;
}
.historico-toggle-bola{
  display:block;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--tinta-2);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);
}
.historico-toggle.on .historico-toggle-bola{background:var(--ok)}
.historico-continuar{
  position:relative;
  display:grid;
  gap:3px;
  width:100%;
  margin-top:15px;
  padding:16px 116px 16px 16px;
  text-align:left;
  border:1.5px solid var(--acento);
  border-radius:12px;
  background:var(--acento-claro);
}
.historico-continuar:hover{border-color:var(--acento-escuro)}
.historico-continuar strong{
  font-family:var(--serif);
  font-size:1.05rem;
}
.historico-continuar span:not(.hc-selo){
  color:var(--tinta-2);
  font-size:.86rem;
}
.historico-continuar small{
  color:var(--tinta-2);
  font-size:.74rem;
}
.historico-continuar i{
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--acento-escuro);
  font-style:normal;
  font-weight:700;
  font-size:.88rem;
}
.hc-selo{
  width:max-content;
  max-width:100%;
  margin-bottom:3px;
  padding:3px 8px;
  border-radius:999px;
  background:var(--acento);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

@media (max-width:640px){
  .historico-home{padding:14px}
  .historico-topo{align-items:flex-start;flex-direction:column}
  .historico-toggle{width:100%;justify-content:center}
  .historico-continuar{padding:14px}
  .historico-continuar i{position:static;transform:none;margin-top:7px}
}

/* ============================================================
   HISTÓRICO COMPLETO, SESSÕES E DESEMPENHO
   ============================================================ */
.filtro-ajuda{margin:12px 2px 0;color:var(--tinta-2);font-size:.82rem}

.historico-resumo{
  display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:15px;padding-top:14px;
  border-top:1px solid var(--linha);font-size:.86rem;color:var(--tinta-2)
}
.historico-resumo b{color:var(--tinta);font-variant-numeric:tabular-nums}
.historico-atalhos{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px;margin-top:14px}
.historico-atalhos .btn{width:100%}

.q-historico{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 18px}
.q-status,.q-revisao{
  display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;
  font-family:var(--sans);font-size:.74rem;font-weight:700
}
.q-status{border:1px solid var(--linha);background:#fff;color:var(--tinta-2)}
.q-status.nova{background:#F0F3F5}
.q-status.revisar,.q-status.errada{background:var(--erro-bg);border-color:var(--erro-linha);color:var(--erro)}
.q-status.dominada{background:var(--ok-bg);border-color:var(--ok-linha);color:var(--ok)}
.q-status.respondida{background:var(--acento-claro);border-color:#C8DEDC;color:var(--acento-escuro)}
.q-revisao{border:1px solid var(--linha);background:#fff;color:var(--tinta-2)}
.q-revisao:hover{border-color:var(--acento)}
.q-revisao.on{background:var(--aviso-bg);border-color:var(--aviso-linha);color:var(--aviso-texto)}

.hist-acoes{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:24px}
.hist-dia{margin-top:26px}
.hist-dia:first-of-type{margin-top:0}
.hist-dia h3{font-family:var(--serif);font-size:1.15rem;margin:0 0 10px}
.hist-lista{display:grid;gap:9px}
.hist-sessao{
  position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;
  gap:14px;width:100%;text-align:left;background:var(--superficie);border:1.5px solid var(--linha);
  border-radius:12px;padding:15px 17px;transition:border-color .15s
}
.hist-sessao:hover{border-color:var(--acento)}
.hist-hora{font-family:var(--mono);font-size:.86rem;color:var(--acento);font-weight:700}
.hist-conteudo{display:grid;gap:2px;min-width:0}
.hist-conteudo strong{font-family:var(--serif);font-size:1.02rem}
.hist-conteudo small{color:var(--tinta-2);font-size:.79rem}
.hist-seta{color:var(--acento);font-weight:700}

.sessao-resumo{
  background:var(--superficie);border:1.5px solid var(--linha);border-top:4px double var(--tinta);
  border-radius:15px;padding:26px;margin-bottom:22px
}
.sessao-resumo h3{font-family:var(--serif);font-size:1.5rem;margin:0 0 18px}
.sessao-metricas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:18px}
.sessao-metricas span{display:grid;gap:2px;border:1px solid var(--linha);border-radius:10px;padding:11px;background:#fff;color:var(--tinta-2);font-size:.78rem}
.sessao-metricas b{font-size:1rem;color:var(--tinta)}
.sessao-metricas span.ok b{color:var(--ok)}
.sessao-metricas span.erro b{color:var(--erro)}
.hist-questoes h3{font-family:var(--serif);margin:0 0 10px}
.hist-q{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;
  width:100%;text-align:left;background:#fff;border:1px solid var(--linha);border-radius:11px;
  padding:12px;margin-bottom:8px
}
.hist-q:hover{border-color:var(--acento)}
.hist-q-num{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#ECEFF1;font-weight:700;font-size:.82rem}
.hist-q > span:nth-child(2){display:grid;gap:2px;min-width:0}
.hist-q strong{font-size:.9rem;overflow-wrap:anywhere}
.hist-q small{font-size:.76rem;color:var(--tinta-2)}
.hist-q em{font-style:normal;font-size:.76rem;font-weight:700;white-space:nowrap}
.hist-q.ok em{color:var(--ok)}
.hist-q.erro em{color:var(--erro)}
.hist-q.branco em{color:var(--tinta-2)}
.hist-q.ok .hist-q-num{background:var(--ok-bg);color:var(--ok)}
.hist-q.erro .hist-q-num{background:var(--erro-bg);color:var(--erro)}

.des-geral{display:grid;grid-template-columns:1fr 1.7fr;gap:14px;margin-bottom:22px}
.des-principal{
  display:flex;flex-direction:column;justify-content:center;background:var(--acento);color:#fff;
  border-radius:14px;padding:22px
}
.des-principal small{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85}
.des-principal strong{font-family:var(--serif);font-size:3rem;line-height:1.05;margin:7px 0}
.des-principal span{font-size:.83rem;opacity:.9}
.des-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.des-cards button,.des-cards > div{
  display:grid;place-items:center;align-content:center;gap:3px;min-height:92px;background:#fff;
  border:1.5px solid var(--linha);border-radius:12px;padding:10px;text-align:center
}
.des-cards button:hover{border-color:var(--acento)}
.des-cards b{font-family:var(--serif);font-size:1.5rem}
.des-cards span{font-size:.75rem;color:var(--tinta-2)}
.des-areas{background:#fff;border:1.5px solid var(--linha);border-radius:14px;padding:20px}
.des-areas h3{font-family:var(--serif);margin:0 0 12px}
.des-area{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--linha)}
.des-area:last-child{border-bottom:none}
.des-area > div{display:grid;gap:2px}
.des-area span{font-size:.78rem;color:var(--tinta-2)}
.des-area > b{font-variant-numeric:tabular-nums;color:var(--acento)}

@media (max-width:700px){
  .historico-atalhos{grid-template-columns:1fr}
  .hist-sessao{grid-template-columns:52px minmax(0,1fr) auto;padding:13px 12px;gap:9px}
  .sessao-metricas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .des-geral{grid-template-columns:1fr}
  .des-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hist-q{grid-template-columns:34px minmax(0,1fr)}
  .hist-q em{grid-column:2;white-space:normal}
}

/* ============================================================
   FILA DIÁRIA E REVISÃO PROGRAMADA — VERSÃO 3
   ============================================================ */
.plano-diario{
  margin-top:16px;padding:18px;border:1.5px solid var(--linha);border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#F7FAFA 100%)
}
.plano-diario-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.plano-diario-topo h3{font-family:var(--serif);font-size:1.32rem;margin:4px 0 5px}
.plano-diario-topo p{margin:0;color:var(--tinta-2);font-size:.83rem;max-width:660px;line-height:1.5}
.plano-selo{
  display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:var(--acento-claro);
  color:var(--acento-escuro);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em
}
.plano-meta{white-space:nowrap;border:1px solid var(--linha);border-radius:999px;padding:7px 11px;background:#fff;font-size:.78rem}
.plano-contagens{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}
.plano-contagens span{display:grid;gap:2px;border:1px solid var(--linha);border-radius:10px;padding:10px;background:#fff;color:var(--tinta-2);font-size:.75rem}
.plano-contagens b{font-family:var(--serif);font-size:1.18rem;color:var(--tinta)}
.plano-acoes{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
.q-proxima-revisao{flex-basis:100%;color:var(--tinta-2);font-size:.73rem;margin-left:2px}

@media (max-width:700px){
  .plano-diario-topo{flex-direction:column}
  .plano-meta{align-self:flex-start}
  .plano-contagens{grid-template-columns:repeat(2,minmax(0,1fr))}
  .plano-acoes .btn{width:100%}
}

/* ============================================================
   FILA DIÁRIA PERSONALIZÁVEL — VERSÃO 4
   ============================================================ */
.plano-descricao{
  display:block;
  margin-top:8px;
  color:var(--acento-escuro);
  font-size:.76rem;
  font-weight:700;
  line-height:1.45;
}
.plano-config-intro{
  margin-bottom:16px;
  padding:20px;
  border:1.5px solid var(--linha);
  border-radius:var(--radius);
  background:linear-gradient(180deg,#fff 0%,#F7FAFA 100%);
}
.plano-config-intro h3{
  margin:7px 0 6px;
  font-family:var(--serif);
  font-size:1.35rem;
}
.plano-config-intro p{
  margin:0;
  color:var(--tinta-2);
  line-height:1.55;
}
.campo-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:14px;
  max-width:420px;
  color:var(--tinta-2);
  font-size:.86rem;
  font-weight:650;
}
.campo-meta input{
  width:110px;
  border:1.5px solid var(--linha);
  border-radius:10px;
  padding:10px 12px;
  background:#fff;
  color:var(--tinta);
  font-family:var(--sans);
  font-size:1rem;
  font-weight:700;
  text-align:center;
}
.campo-meta input:focus{
  outline:2px solid var(--acento-claro);
  border-color:var(--acento);
}
.modo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.modo-card{
  display:grid;
  gap:5px;
  min-height:112px;
  padding:17px;
  border:1.5px solid var(--linha);
  border-radius:12px;
  background:#fff;
  text-align:left;
}
.modo-card:hover{border-color:var(--acento)}
.modo-card.on{
  border-color:var(--acento);
  background:var(--acento-claro);
  box-shadow:inset 0 0 0 1px var(--acento);
}
.modo-card strong{
  font-family:var(--serif);
  font-size:1.06rem;
}
.modo-card span{
  color:var(--tinta-2);
  font-size:.82rem;
  line-height:1.45;
}
.plano-provas-lista{
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid var(--linha);
}
.plano-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:18px;
  border:1.5px solid var(--acento);
  border-radius:14px;
  background:var(--acento-claro);
}
.plano-preview > div{
  display:grid;
  gap:4px;
  min-width:0;
}
.plano-preview small{
  color:var(--acento-escuro);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.plano-preview strong{
  overflow-wrap:anywhere;
  font-family:var(--serif);
  font-size:1.06rem;
}
.plano-preview span{
  color:var(--tinta-2);
  font-size:.82rem;
}
.plano-preview .btn{flex:0 0 auto}

@media (max-width:700px){
  .modo-grid{grid-template-columns:1fr}
  .campo-meta{align-items:flex-start;flex-direction:column}
  .campo-meta input{width:100%}
  .plano-preview{align-items:stretch;flex-direction:column}
  .plano-preview .btn{width:100%}
}

/* ============================================================
   PAINEL AVANÇADO DE EVOLUÇÃO — ETAPA 5
   ============================================================ */
.painel-evolucao{max-width:980px}
.evolucao-cabecalho{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
  padding:22px;
  border:1.5px solid var(--linha);
  border-radius:var(--radius);
  background:linear-gradient(180deg,#fff 0%,#F7FAFA 100%);
}
.evolucao-cabecalho h3{
  margin:8px 0 5px;
  font-family:var(--serif);
  font-size:1.45rem;
  line-height:1.2;
}
.evolucao-cabecalho p{
  max-width:58ch;
  margin:0;
  color:var(--tinta-2);
  font-size:.9rem;
}
.evolucao-periodos{justify-content:flex-end}
.evolucao-resumo{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);
  gap:14px;
  margin-bottom:14px;
}
.evolucao-principal{
  display:grid;
  align-content:center;
  gap:4px;
  min-height:174px;
  padding:24px;
  border-radius:14px;
  background:var(--tinta);
  color:#fff;
}
.evolucao-principal small{
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.evolucao-principal strong{
  font-family:var(--serif);
  font-size:3.15rem;
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.evolucao-principal span{
  color:rgba(255,255,255,.8);
  font-size:.86rem;
}
.evolucao-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.evolucao-cards > div{
  display:grid;
  align-content:center;
  gap:3px;
  min-height:82px;
  padding:15px;
  border:1.5px solid var(--linha);
  border-radius:12px;
  background:#fff;
}
.evolucao-cards b{
  overflow-wrap:anywhere;
  font-family:var(--serif);
  font-size:1.45rem;
  line-height:1.12;
  font-variant-numeric:tabular-nums;
}
.evolucao-cards span{
  color:var(--tinta-2);
  font-size:.75rem;
  line-height:1.3;
}
.evolucao-sem-dados{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:18px 20px;
  border:1.5px dashed var(--linha);
  border-radius:14px;
  background:#fff;
}
.evolucao-sem-dados p{flex:1;margin:0;color:var(--tinta-2);font-size:.86rem}
.evolucao-insights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.evolucao-insight{
  display:grid;
  gap:4px;
  min-height:132px;
  padding:18px;
  border:1.5px solid var(--linha);
  border-radius:13px;
  background:#fff;
}
.evolucao-insight small{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.evolucao-insight strong{
  align-self:end;
  font-family:var(--serif);
  font-size:1.15rem;
  line-height:1.25;
}
.evolucao-insight span{color:var(--tinta-2);font-size:.78rem;line-height:1.4}
.evolucao-insight.alerta{border-color:var(--erro-linha);background:var(--erro-bg)}
.evolucao-insight.alerta small{color:var(--erro)}
.evolucao-insight.positivo{border-color:var(--ok-linha);background:var(--ok-bg)}
.evolucao-insight.positivo small{color:var(--ok)}
.evolucao-insight.sequencia{border-color:#D7CBAA;background:#FBF7E9}
.evolucao-insight.sequencia small{color:#7A5B14}
.evolucao-insight.neutro small{color:var(--tinta-2)}
.evolucao-graficos{
  display:grid;
  gap:14px;
  margin-bottom:14px;
}
.grafico-card{
  overflow:hidden;
  border:1.5px solid var(--linha);
  border-radius:14px;
  background:#fff;
  padding:20px 20px 12px;
}
.grafico-topo{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:8px;
}
.grafico-topo small,.evolucao-bloco-topo small{
  color:var(--acento);
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.grafico-topo h3,.evolucao-bloco-topo h3{
  margin:3px 0 0;
  font-family:var(--serif);
  font-size:1.16rem;
}
.grafico-topo > strong{
  display:grid;
  text-align:right;
  font-family:var(--serif);
  font-size:1.25rem;
  font-variant-numeric:tabular-nums;
}
.grafico-topo > strong span{
  color:var(--tinta-2);
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:500;
}
.grafico-svg{display:block;width:100%;height:auto;min-height:220px}
.grafico-grade{stroke:var(--linha);stroke-width:1}
.grafico-y,.grafico-x{fill:var(--tinta-2);font-family:var(--sans);font-size:11px}
.grafico-y{text-anchor:end}
.grafico-x{text-anchor:middle}
.grafico-barra{fill:var(--acento)}
.grafico-barra.zero{fill:var(--linha)}
.grafico-linha{fill:none;stroke:var(--acento);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.grafico-ponto{fill:#fff;stroke:var(--acento);stroke-width:3}
.grafico-media{stroke:var(--tinta-2);stroke-width:1.5;stroke-dasharray:6 6;opacity:.65}
.grafico-vazio{
  display:grid;
  place-items:center;
  min-height:220px;
  color:var(--tinta-2);
  font-size:.88rem;
  text-align:center;
}
.evolucao-duas-colunas{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);
  gap:14px;
}
.evolucao-bloco{
  border:1.5px solid var(--linha);
  border-radius:14px;
  background:#fff;
  padding:20px;
}
.evolucao-bloco-topo{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.evolucao-bloco-topo > span{
  max-width:210px;
  color:var(--tinta-2);
  font-size:.72rem;
  line-height:1.4;
  text-align:right;
}
.des-area.avancada{align-items:flex-start}
.des-area-info{display:grid;gap:3px;flex:1;min-width:0}
.des-area-trilho{
  height:6px;
  overflow:hidden;
  margin-top:5px;
  border-radius:999px;
  background:var(--papel);
}
.des-area-trilho i{display:block;height:100%;border-radius:inherit;background:var(--acento)}
.progresso-numero{display:flex;align-items:baseline;gap:8px;margin-top:18px}
.progresso-numero strong{font-family:var(--serif);font-size:2.5rem;line-height:1}
.progresso-numero span{color:var(--tinta-2);font-size:.8rem}
.progresso-trilho{
  height:12px;
  overflow:hidden;
  margin:15px 0 8px;
  border-radius:999px;
  background:var(--papel);
}
.progresso-trilho i{display:block;height:100%;border-radius:inherit;background:var(--acento)}
.progresso-banco > p{margin:0 0 16px;color:var(--tinta-2);font-size:.78rem}
.progresso-estados{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.progresso-estados button,.progresso-estados > div{
  display:grid;
  gap:2px;
  padding:12px;
  border:1px solid var(--linha);
  border-radius:10px;
  background:#fff;
  text-align:left;
}
.progresso-estados button:hover{border-color:var(--acento)}
.progresso-estados b{font-family:var(--serif);font-size:1.28rem}
.progresso-estados span{color:var(--tinta-2);font-size:.72rem}
.progresso-acoes{display:flex;gap:8px;margin-top:14px}
.progresso-acoes .btn{flex:1;padding:10px 12px;font-size:.82rem}

@media (max-width:820px){
  .evolucao-cabecalho{align-items:flex-start;flex-direction:column}
  .evolucao-periodos{justify-content:flex-start}
  .evolucao-resumo{grid-template-columns:1fr}
  .evolucao-principal{min-height:145px}
  .evolucao-duas-colunas{grid-template-columns:1fr}
}
@media (max-width:650px){
  .painel-evolucao{padding-left:14px;padding-right:14px}
  .evolucao-cabecalho{padding:18px}
  .evolucao-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .evolucao-insights{grid-template-columns:1fr}
  .evolucao-insight{min-height:112px}
  .evolucao-sem-dados{align-items:stretch;flex-direction:column}
  .grafico-card{padding:16px 10px 8px}
  .grafico-topo{padding:0 6px}
  .grafico-topo > strong{font-size:1.05rem}
  .grafico-svg{min-height:190px}
  .evolucao-bloco-topo{flex-direction:column}
  .evolucao-bloco-topo > span{text-align:left}
  .progresso-acoes{flex-direction:column}
}
@media (max-width:420px){
  .evolucao-cards{grid-template-columns:1fr}
  .evolucao-principal strong{font-size:2.65rem}
  .evolucao-periodos .chip{flex:1;text-align:center;padding-left:10px;padding-right:10px}
}

/* ============================================================
   DADOS E BACKUP — ETAPA 6
   ============================================================ */
.historico-atalhos{grid-template-columns:repeat(4,minmax(0,1fr))}
.historico-atalhos .btn:first-child{grid-column:auto}

.dados-intro{
  margin-bottom:14px;
  padding:24px;
  border:1.5px solid var(--linha);
  border-top:4px double var(--tinta);
  border-radius:15px;
  background:var(--superficie);
}
.dados-intro h3{
  margin:10px 0 6px;
  font-family:var(--serif);
  font-size:1.5rem;
}
.dados-intro p{margin:0;color:var(--tinta-2)}
.dados-resumo{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-bottom:14px;
}
.dados-resumo span{
  display:grid;
  gap:4px;
  min-height:92px;
  align-content:center;
  padding:14px;
  border:1.5px solid var(--linha);
  border-radius:12px;
  background:#fff;
  color:var(--tinta-2);
  font-size:.76rem;
}
.dados-resumo b{
  color:var(--tinta);
  font-family:var(--serif);
  font-size:1.35rem;
  overflow-wrap:anywhere;
}
.dados-bloco{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  padding:20px;
  border:1.5px solid var(--linha);
  border-radius:14px;
  background:#fff;
}
.dados-bloco > div:first-child{flex:1;min-width:0}
.dados-bloco h3{margin:0 0 4px;font-family:var(--serif);font-size:1.12rem}
.dados-bloco p{margin:0;color:var(--tinta-2);font-size:.86rem}
.dados-bloco small{display:block;margin-top:7px;color:var(--tinta-2);font-size:.74rem;overflow-wrap:anywhere}
.dados-acoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.dados-bloco.perigo{border-color:var(--erro-linha);background:var(--erro-bg)}
.dados-relatorio{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:10px 16px;
  margin-bottom:12px;
  padding:14px 18px;
  border:1px solid var(--ok-linha);
  border-radius:12px;
  background:var(--ok-bg);
}
.dados-relatorio span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ok);font-weight:700}
.dados-relatorio strong{font-family:var(--serif);color:var(--ok)}
.dados-relatorio p{margin:0;color:var(--tinta-2);font-size:.8rem;text-align:right}

@media (max-width:760px){
  .historico-atalhos{grid-template-columns:1fr 1fr}
  .dados-resumo{grid-template-columns:1fr 1fr}
  .dados-bloco{align-items:stretch;flex-direction:column}
  .dados-acoes{justify-content:flex-start}
  .dados-bloco > .btn{width:100%}
  .dados-acoes .btn{flex:1 1 180px}
  .dados-relatorio{grid-template-columns:1fr;gap:3px}
  .dados-relatorio p{text-align:left}
}
@media (max-width:460px){
  .historico-atalhos{grid-template-columns:1fr}
  .dados-intro{padding:18px 16px}
  .dados-resumo{grid-template-columns:1fr}
  .dados-resumo span{min-height:76px}
  .dados-bloco{padding:16px}
  .dados-acoes{display:grid;grid-template-columns:1fr;width:100%}
  .dados-acoes .btn{width:100%}
}
.dados-bloco.perigo{align-items:stretch;flex-direction:column}
.dados-bloco.perigo .dados-acoes{justify-content:flex-start}

/* ============================================================
   ESTABILIDADE, CARREGAMENTO E MOBILE — ETAPA 7
   ============================================================ */
.status-global{
  position:sticky;
  top:0;
  z-index:120;
  width:100%;
  padding:9px 16px;
  border-bottom:1px solid var(--aviso-linha);
  background:var(--aviso-bg);
  color:var(--aviso-texto);
  font-size:.8rem;
  font-weight:650;
  text-align:center;
}
.status-global[hidden]{display:none}

.app-inicializacao{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:42px!important;
  padding-bottom:42px!important;
}
.app-loading,.app-erro{
  width:min(100%,620px);
  margin:auto;
  padding:34px;
  border:1.5px solid var(--linha);
  border-top:4px double var(--tinta);
  border-radius:16px;
  background:var(--superficie);
  box-shadow:0 10px 34px rgba(25,39,47,.06);
}
.app-loading{text-align:center}
.app-loading-marca{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 16px;
  border-radius:15px;
  background:var(--acento);
  color:#fff;
  font-family:var(--serif);
  font-size:1.8rem;
  font-weight:700;
}
.app-loading strong{display:block;font-family:var(--serif);font-size:1.35rem}
.app-loading p{margin:7px 0 18px;color:var(--tinta-2)}
.app-loading-trilho{
  overflow:hidden;
  height:10px;
  border-radius:999px;
  background:var(--papel);
}
.app-loading-trilho i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--acento);
  transition:width .18s ease;
}
.app-loading small{display:block;margin-top:9px;color:var(--tinta-2);font-variant-numeric:tabular-nums}

.app-erro-selo{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:var(--erro-bg);
  color:var(--erro);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.app-erro h1{margin:14px 0 8px;font-family:var(--serif);font-size:1.75rem;line-height:1.18}
.app-erro > p{color:var(--tinta-2);overflow-wrap:anywhere}
.app-erro-alerta{padding:12px;border:1px solid var(--aviso-linha);border-radius:10px;background:var(--aviso-bg);color:var(--aviso-texto)!important}
.app-erro-acoes{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.app-erro details{padding-top:14px;border-top:1px solid var(--linha)}
.app-erro summary{cursor:pointer;font-weight:700}
.app-erro ol{margin:12px 0 0;padding-left:22px;color:var(--tinta-2)}
.app-erro code{font-family:var(--mono);font-size:.86em}

.app-versao{
  max-width:860px;
  margin:18px auto 0;
  padding:0 20px 24px;
  color:var(--tinta-2);
  font-size:.68rem;
  letter-spacing:.04em;
  text-align:center;
  opacity:.78;
}

[data-clique-bloqueado="1"]{
  pointer-events:none!important;
  opacity:.68!important;
  cursor:wait!important;
}
button,[role="button"]{-webkit-tap-highlight-color:transparent}
button:focus-visible,.btn:focus-visible,.chip:focus-visible,.alt:focus-visible,.pq:focus-visible,.opcao:focus-visible,.item-prova:focus-visible{
  outline:3px solid rgba(14,95,92,.32)!important;
  outline-offset:2px!important;
}

/* Evita saltos de layout enquanto imagens externas carregam. */
.q-figura img,.alt-figura img{content-visibility:auto}

@media (max-width:640px){
  .app-loading,.app-erro{padding:24px 18px;border-radius:14px}
  .app-erro h1{font-size:1.45rem}
  .app-erro-acoes{display:grid;grid-template-columns:1fr}
  .app-erro-acoes .btn{width:100%}
  .app-versao{padding-left:12px;padding-right:12px;padding-bottom:calc(22px + env(safe-area-inset-bottom))}

  /* Alvos confortáveis para toque. */
  .btn,.chip,.alt,.item-prova,.opcao{min-height:44px}
  .folha-fechar,.lb-fechar{min-width:44px;min-height:44px}

  /* Cabeçalho da prova mais compacto sem sacrificar leitura. */
  .barra-topo{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
  .topo-l1{align-items:center!important}
  .cron{font-size:.78rem!important}

  /* Barra inferior respeita a área segura de iPhone. */
  .barra-nav{padding-bottom:calc(8px + env(safe-area-inset-bottom))!important}
  .main-prova{padding-bottom:calc(174px + env(safe-area-inset-bottom))!important}

  /* Alternativas ficam inteiramente clicáveis e legíveis. */
  .alt{align-items:flex-start!important}
  .alt-letra{margin-top:1px}
  .alt-conteudo{font-size:.96rem}

  /* Tabelas mantêm rolagem horizontal sem ampliar a página. */
  .tabela-rolagem{overscroll-behavior-inline:contain}
}

@media (max-width:390px){
  .container{padding-left:10px!important;padding-right:10px!important}
  .barra-nav-inner{gap:4px!important}
  .barra-nav .btn{font-size:.7rem!important}
  .painel-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

/* ============================================================
   P1 — ESTABILIDADE DA POSIÇÃO DE ROLAGEM
   ============================================================ */
html{scroll-behavior:auto!important;overflow-anchor:none}
body,#app,.container{overflow-anchor:none}

/* ============================================================
   P2 — CLASSIFICAÇÃO TEMÁTICA
   ============================================================ */
.taxonomia-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:10px;
}
.taxonomia-grid label{
  display:grid;
  gap:7px;
  min-width:0;
}
.taxonomia-grid label > span{
  color:var(--tinta-2);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.taxonomia-grid select{
  width:100%;
  min-height:46px;
  padding:10px 38px 10px 12px;
  border:1px solid var(--linha);
  border-radius:10px;
  background:var(--papel);
  color:var(--tinta);
  font:inherit;
  font-size:.9rem;
  cursor:pointer;
}
.taxonomia-grid select:focus{
  outline:3px solid rgba(14,95,92,.18);
  border-color:var(--primaria);
}
.q-meta{
  line-height:1.55;
  overflow-wrap:anywhere;
}
.hist-q small:first-of-type{line-height:1.4}

@media (max-width:700px){
  .taxonomia-grid{grid-template-columns:1fr}
}


/* ============================================================
   P3 — SELEÇÃO MÚLTIPLA HIERÁRQUICA · VERSÃO 8
   ============================================================ */
.filtro-titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.filtro-titulo-linha h3{margin:0}
.tax-resumo{font-size:.76rem;color:var(--tinta-2);background:var(--fundo);border:1px solid var(--linha);border-radius:999px;padding:6px 10px}
.tax-arvore{display:grid;gap:10px}
.tax-area-card{border:1px solid var(--linha);border-radius:14px;background:#fff;overflow:hidden}
.tax-area-card > summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;font-weight:750;list-style:none}
.tax-area-card > summary::-webkit-details-marker{display:none}
.tax-area-card > summary:after{content:"＋";font-size:1rem;color:var(--tinta-2)}
.tax-area-card[open] > summary:after{content:"−"}
.tax-area-card > summary small{margin-left:auto;font-weight:500;color:var(--tinta-2)}
.tax-area-corpo{border-top:1px solid var(--linha);padding:14px}
.tax-acoes,.tax-temas-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.link-botao{border:0;background:transparent;color:var(--acento-escuro,#0f625f);font:inherit;font-size:.8rem;font-weight:700;padding:4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.chip-tax,.chip-tema{padding:7px 11px;font-size:.8rem}
.tax-temas-lista{display:grid;gap:10px;margin-top:13px}
.tax-temas-grupo{border-left:3px solid var(--linha);padding:10px 0 7px 12px}
.tax-temas-grupo strong{font-size:.88rem}
.tax-temas-grupo small{display:block;color:var(--tinta-2);font-size:.72rem;margin-top:7px}
@media(max-width:720px){
  .filtro-titulo-linha{align-items:flex-start;flex-direction:column}
  .tax-area-card > summary{align-items:flex-start;flex-wrap:wrap}
  .tax-area-card > summary small{width:100%;margin-left:0}
  .tax-acoes,.tax-temas-topo{align-items:flex-start;flex-direction:column}
}


/* ============================================================
   P4 — BUSCA GLOBAL · VERSÃO 8.3
   ============================================================ */
.busca-box{background:var(--papel);border:1px solid var(--linha);border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:var(--sombra)}
.busca-campo{display:grid;gap:9px}
.busca-campo>span{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--tinta-2)}
.busca-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.busca-linha input{width:100%;min-height:48px;border:1px solid var(--linha);border-radius:12px;padding:11px 14px;font:inherit;color:var(--tinta);background:#fff}
.busca-linha input:focus{outline:3px solid rgba(14,95,92,.18);border-color:var(--primaria)}
.busca-ajuda{margin:12px 0 0;color:var(--tinta-2);line-height:1.55}
.busca-acoes-resumo{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px;align-items:center}
.busca-lista{display:grid;gap:12px}
.busca-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;background:#fff;border:1px solid var(--linha);border-radius:16px;padding:15px;transition:border-color .15s,box-shadow .15s,background .15s}
.busca-item.selecionado{border-color:var(--primaria);background:rgba(14,95,92,.04);box-shadow:0 0 0 2px rgba(14,95,92,.08)}
.busca-check{width:30px;height:30px;border:1px solid var(--linha);border-radius:9px;background:#fff;color:#fff;font-weight:900;cursor:pointer;display:grid;place-items:center}
.busca-check.on{background:var(--primaria);border-color:var(--primaria)}
.busca-item-conteudo{min-width:0}
.busca-item-topo{display:grid;gap:4px}
.busca-item-topo strong{font-size:.98rem}
.busca-item-topo span{font-size:.78rem;color:var(--tinta-2);line-height:1.45;overflow-wrap:anywhere}
.busca-item-trecho{margin:10px 0;color:var(--tinta);line-height:1.55;font-size:.9rem}
.busca-item-rodape{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.busca-item-rodape small{color:var(--tinta-2)}
.busca-limite{color:var(--tinta-2);font-size:.8rem;text-align:center;margin:16px 0}
@media(max-width:640px){
  .busca-box{padding:15px}
  .busca-linha{grid-template-columns:1fr}
  .busca-linha .btn{width:100%}
  .busca-item{padding:12px;gap:9px}
  .busca-acoes-resumo .btn{width:100%}
  .busca-item-rodape{align-items:flex-start;flex-direction:column}
  .busca-item-rodape .btn{width:100%}
}

/* ============================================================
   P5 — MODO CONSULTA DA BUSCA GLOBAL · VERSÃO 8.3
   ============================================================ */
.consulta-tela{padding-bottom:36px}
.consulta-aviso{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid rgba(14,95,92,.22);
  border-radius:14px;
  background:rgba(14,95,92,.06);
  color:var(--tinta-2);
  line-height:1.5;
}
.consulta-aviso strong{color:var(--primaria);white-space:nowrap}
.consulta-card{margin-bottom:16px}
.consulta-status{margin:-2px 0 16px;color:var(--tinta-2);font-size:.78rem}
.consulta-alt{cursor:default}
.consulta-alt:hover{transform:none}
.consulta-gabarito{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(36,132,82,.28);
  border-radius:12px;
  background:rgba(36,132,82,.08);
  color:#17643d;
}
.consulta-acoes{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
@media(max-width:700px){
  .consulta-aviso{flex-direction:column}
  .consulta-acoes .btn{width:100%}
}


/* ============================================================
   P6 — PRIORIDADE REVALIDA · VERSÃO 8.3
   ============================================================ */
.prioridade-filtros .chip[title]{cursor:pointer}
.busca-item-rodape small{line-height:1.45}
.consulta-status{line-height:1.45}


/* ============================================================
   P7 — PRIORIDADE REVALIDA VISÍVEL · VERSÃO 8.4
   ============================================================ */
.q-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 8px}
.q-cabecalho .q-pos{margin:0}
.prioridade-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--linha);border-radius:999px;padding:5px 10px;font-size:.76rem;font-weight:850;line-height:1;background:#fff;white-space:nowrap}
.prioridade-dot{width:10px;height:10px;border-radius:999px;display:inline-block;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 3px currentColor}
.prioridade-baixa{color:#667085;background:#F2F4F7;border-color:#D0D5DD}
.prioridade-media{color:#8A6116;background:#FFF7D6;border-color:#F6D365}
.prioridade-alta{color:#B54708;background:#FEF0C7;border-color:#FDB022}
.prioridade-muito_alta{color:#B42318;background:#FEE4E2;border-color:#FDA29B}
.busca-item-titulo{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.busca-item-titulo strong{min-width:0}
.busca-item-rodape small{line-height:1.45}
.prioridade-chip{display:inline-flex;align-items:center;gap:7px}
.prioridade-chip:before{content:"";width:9px;height:9px;border-radius:999px;background:#667085;display:inline-block}
.prioridade-chip-media:before{background:#D89614}
.prioridade-chip-alta:before{background:#F79009}
.prioridade-chip-muito_alta:before{background:#D92D20}
.prioridade-chip-todas:before{background:linear-gradient(90deg,#667085 0 25%,#D89614 25% 50%,#F79009 50% 75%,#D92D20 75%)}
@media(max-width:640px){
  .prioridade-badge{font-size:.72rem;padding:4px 8px}
  .prioridade-dot{width:8px;height:8px}
}
