/* AVALIA ESCOLA — estilo (celular primeiro) */
:root{
  --vermelho:#C8102E;--vermelho-escuro:#9E0C24;--grafite:#1F1F1F;--azul:#0B4F9C;--verde:#009C3B;--amarelo:#FFC72C;
  --cinza-1:#F5F5F7;--cinza-2:#E6E6EA;--cinza-3:#8A8A93;--branco:#fff;--raio:14px;--sombra:0 6px 24px rgba(31,31,31,.08);
  --fonte:"Inter","Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fonte);color:var(--grafite);background:var(--cinza-1);line-height:1.5;font-size:16px}
img{max-width:100%;display:block}
a{color:var(--azul)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1{font-size:1.7rem}h2{font-size:1.3rem}h3{font-size:1.05rem}
p{margin:0 0 1em}
.oculto{display:none!important}
.container{width:100%;max-width:1100px;margin:0 auto;padding:0 16px}
.faixa{height:8px;background:linear-gradient(100deg,var(--vermelho) 0 60%,var(--grafite) 60% 80%,var(--branco) 80%)}

/* cabeçalho */
.topo{background:var(--branco);box-shadow:var(--sombra);position:sticky;top:0;z-index:20}
.topo .container{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.topo .logo img{height:40px;width:auto}
.topo nav{display:flex;gap:6px;flex-wrap:wrap}
.topo nav a{color:var(--grafite);text-decoration:none;font-weight:600;padding:8px 10px;border-radius:8px;font-size:.95rem}
.topo nav a:hover,.topo nav a.ativo{background:var(--cinza-1);color:var(--vermelho)}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:48px;transition:.15s;background:var(--vermelho);color:#fff}
.btn:hover{background:var(--vermelho-escuro)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.azul{background:var(--azul)}.btn.azul:hover{background:#083B75}
.btn.verde{background:var(--verde)}.btn.verde:hover{background:#007A2E}
.btn.claro{background:var(--branco);color:var(--grafite);border:2px solid var(--cinza-2)}.btn.claro:hover{background:var(--cinza-1)}
.btn.pequeno{padding:6px 12px;min-height:32px;font-size:.85rem;border-radius:8px;white-space:nowrap}
td .btn.pequeno{margin:2px 2px 2px 0}
.btn.largo{width:100%}
.btn.texto{background:none;color:var(--azul);padding:6px 8px;min-height:auto}

/* cartões e formulários */
.cartao{background:var(--branco);border-radius:var(--raio);box-shadow:var(--sombra);padding:20px;margin-bottom:16px}
.campo{margin-bottom:14px}
.campo label{display:block;font-weight:600;margin-bottom:6px;font-size:.95rem}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;padding:13px 14px;border:2px solid var(--cinza-2);border-radius:10px;background:#fff;min-height:48px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--azul)}
.campo input[type=checkbox],.campo input[type=radio]{width:18px;height:18px;min-height:0;padding:0;margin:0 6px 0 0;vertical-align:middle}
.grade-opcoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 12px}
.grade-opcoes label{font-weight:400;display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;cursor:pointer}
.grade-opcoes label:hover{background:var(--cinza-1)}
.campo .ajuda{font-size:.85rem;color:var(--cinza-3);margin-top:4px}
.campo .erro{font-size:.9rem;color:var(--vermelho);margin-top:4px;font-weight:600}
.aviso{border-left:5px solid var(--amarelo);background:#FFF8E1;padding:12px 14px;border-radius:8px;margin:12px 0}
.aviso.vermelho{border-color:var(--vermelho);background:#FDECEF}
.aviso.verde{border-color:var(--verde);background:#E8F7EE}
.aviso.azul{border-color:var(--azul);background:#E9F1FB}
.linha{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.espaco{flex:1}
.grade{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:720px){.grade.c2{grid-template-columns:1fr 1fr}.grade.c3{grid-template-columns:repeat(3,1fr)}.grade.c4{grid-template-columns:repeat(4,1fr)}}
.etiqueta{display:inline-block;white-space:nowrap;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;background:var(--cinza-2);color:var(--grafite)}
.etiqueta.vermelho{background:var(--vermelho);color:#fff}.etiqueta.verde{background:var(--verde);color:#fff}.etiqueta.azul{background:var(--azul);color:#fff}.etiqueta.amarelo{background:var(--amarelo);color:var(--grafite)}
.numero{font-size:2rem;font-weight:800;line-height:1}
.mini{font-size:.85rem;color:var(--cinza-3)}
table.tabela{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff}
table.tabela th,table.tabela td{padding:9px 8px;border-bottom:1px solid var(--cinza-2);text-align:left;vertical-align:top}
table.tabela th{background:var(--cinza-1);font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
table.tabela thead th{position:sticky;top:0;z-index:1}
table.compacta th,table.compacta td{padding:6px 5px;font-size:.86rem}
table.compacta th{font-size:.72rem;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn.icone{background:none;color:var(--grafite);padding:2px 4px;min-height:26px;font-size:1rem;border-radius:6px;border:1px solid var(--cinza-2);margin-right:2px}
.btn.icone:hover{background:var(--cinza-1)}
.rolar{overflow-x:auto;-webkit-overflow-scrolling:touch}
.nivel-ponto{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}
.barra{height:12px;background:var(--cinza-2);border-radius:6px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--azul)}
.abas{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}
.abas button{flex:0 0 auto;border:0;background:#fff;padding:10px 14px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;color:var(--cinza-3);white-space:nowrap}
.abas button.ativo{background:var(--vermelho);color:#fff}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--grafite);color:#fff;padding:12px 18px;border-radius:10px;z-index:50;max-width:92vw;box-shadow:var(--sombra)}
.toast.erro{background:var(--vermelho)}
.rodape{padding:28px 0;text-align:center;color:var(--cinza-3);font-size:.85rem}

/* página inicial */
.hero{background:#fff}
.hero .container{display:grid;gap:20px;padding:28px 16px;align-items:center}
@media(min-width:820px){.hero .container{grid-template-columns:1.1fr 1fr;padding:40px 16px}}
.hero h1{font-size:2rem;color:var(--grafite)}.hero h1 span{color:var(--vermelho)}
.hero img{border-radius:var(--raio);box-shadow:var(--sombra)}
.bloco{padding:36px 0}
.bloco.alt{background:#fff}
.icone-passo{width:44px;height:44px;border-radius:12px;background:var(--vermelho);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.2rem;margin-bottom:10px}

/* prova do aluno */
.prova-topo{position:sticky;top:0;background:#fff;z-index:10;box-shadow:var(--sombra)}
.prova-topo .container{display:flex;align-items:center;gap:10px;min-height:56px;flex-wrap:wrap}
.cronometro{font-weight:800;font-variant-numeric:tabular-nums;background:var(--grafite);color:#fff;padding:6px 12px;border-radius:8px}
.cronometro.urgente{background:var(--vermelho)}
.progresso{height:6px;background:var(--cinza-2)}
.progresso i{display:block;height:100%;background:var(--verde);transition:width .3s}
.questao{user-select:none;-webkit-user-select:none}
.texto-base{background:var(--cinza-1);border-left:5px solid var(--azul);padding:14px;border-radius:8px;white-space:pre-wrap;margin-bottom:14px;font-size:1.02rem}
.enunciado{font-size:1.1rem;font-weight:600;white-space:pre-wrap;margin-bottom:14px}
.alternativa{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;background:#fff;border:2px solid var(--cinza-2);border-radius:12px;padding:12px 14px;margin-bottom:10px;font:inherit;cursor:pointer;min-height:52px}
.alternativa b{flex:0 0 32px;height:32px;border-radius:50%;background:var(--cinza-1);display:flex;align-items:center;justify-content:center}
.alternativa.marcada{border-color:var(--azul);background:#E9F1FB}.alternativa.marcada b{background:var(--azul);color:#fff}
.nav-questoes{display:flex;flex-wrap:wrap;gap:6px}
.nav-questoes button{width:38px;height:38px;border-radius:8px;border:2px solid var(--cinza-2);background:#fff;font:inherit;font-weight:700;cursor:pointer}
.nav-questoes button.respondida{background:var(--verde);border-color:var(--verde);color:#fff}
.nav-questoes button.atual{border-color:var(--vermelho);box-shadow:0 0 0 2px var(--vermelho) inset}
.medalha{width:160px;margin:0 auto 10px}
.tela-bloqueio{position:fixed;inset:0;background:rgba(31,31,31,.96);color:#fff;display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;text-align:center}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.topo,.btn,.abas,.nao-imprimir{display:none!important}body{background:#fff}.cartao{box-shadow:none;border:1px solid #ddd;break-inside:avoid}}
