/* Escola Áxicon: mesma paleta e tipografia da Central e do site. */
:root {
  --noite: #020A22; --marca: #00297E; --eletrico: #2F6BFF; --claro: #8AAEFF;
  --bg: #F4F2F1; --sup: #FFFFFF; --fg: #0B1B45; --fg-2: #5F6A86; --linha: rgba(0,41,126,.12);
  --ok: #15803D; --alerta: #C2410C; --erro: #B91C1C;
  --serif: 'Gilda Display', Georgia, serif; --sans: 'Montserrat', system-ui, sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: var(--eletrico); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 16px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; margin: 0; letter-spacing: -.3px; }
.eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 3.5px; text-transform: uppercase; color: var(--claro); }
.topo { background: var(--noite) url(/marca/onda.png) center 35% / cover; color: #fff; padding-bottom: 34px; }
.topo .linha { display: flex; justify-content: space-between; align-items: center; height: 72px; gap: 12px; }
.logo img { height: 38px; display: block; }
nav { display: flex; align-items: center; gap: 18px; font-size: 14px; flex-wrap: wrap; justify-content: flex-end; }
nav a { color: rgba(255,255,255,.8); text-decoration: none; font-weight: 500; }
nav a:hover { color: #fff; }
nav span { color: rgba(255,255,255,.55); }
nav button { background: none; border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 999px; padding: 6px 14px; font: 600 13px var(--sans); cursor: pointer; }
.titulo { padding-top: 18px; }
.titulo h1 { font-size: clamp(28px, 5vw, 44px); margin-top: 8px; }
.titulo p { color: rgba(255,255,255,.72); margin: 8px 0 0; max-width: 640px; }
main { padding-top: 28px; padding-bottom: 60px; }
.cartao { background: var(--sup); border-radius: 18px; padding: 24px; box-shadow: 0 24px 48px -36px rgba(0,41,126,.45); margin-bottom: 20px; }
.botao { display: inline-flex; align-items: center; gap: 8px; background: var(--eletrico); color: #fff; border: 0; border-radius: 999px; padding: 12px 22px; font: 600 14px var(--sans); cursor: pointer; text-decoration: none; }
.botao:hover { background: #1E57EA; }
.botao.fantasma { background: transparent; color: var(--marca); border: 1px solid var(--linha); }
.botao:disabled { opacity: .5; cursor: default; }
label { display: block; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--fg-2); margin: 14px 0 6px; }
input { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--linha); background: var(--bg); font: 15px var(--sans); color: var(--fg); }
.entrar { max-width: 420px; margin: 0 auto; }
.erro { color: var(--erro); font-size: 14px; min-height: 22px; margin: 10px 0 0; }
/* trilha */
.resumo { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.barra { flex: 1; min-width: 200px; height: 10px; background: var(--bg); border-radius: 999px; overflow: hidden; }
.barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--marca), var(--eletrico)); border-radius: 999px; }
.modulo h2 { font-size: 24px; color: var(--marca); margin-bottom: 12px; }
.aulas { list-style: none; padding: 0; margin: 0; }
.aulas li a { display: grid; grid-template-columns: 44px 1fr auto; gap: 14px; align-items: center; padding: 14px 4px; border-top: 1px solid var(--linha); text-decoration: none; color: var(--fg); }
.aulas li:first-child a { border-top: 0; }
.aulas .n { font: 400 22px var(--serif); color: var(--eletrico); }
.aulas b { font-weight: 600; display: block; }
.aulas small { color: var(--fg-2); }
.selo { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--bg); color: var(--fg-2); white-space: nowrap; }
.selo.ok { background: #EEF8F1; color: var(--ok); }
.selo.meio { background: #EEF3FF; color: var(--eletrico); }
/* aula */
.video { width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 14px; display: block; }
.pontos { padding-left: 20px; margin: 8px 0 0; }
.pontos li { margin-bottom: 6px; }
.pontos li::marker { color: var(--eletrico); }
.pergunta { border-top: 1px solid var(--linha); padding: 16px 0 6px; }
.pergunta:first-of-type { border-top: 0; }
.pergunta p { font-weight: 600; margin: 0 0 10px; }
.opcao { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--linha); margin-bottom: 8px; cursor: pointer; font-size: 14px; text-transform: none; letter-spacing: 0; color: var(--fg); font-weight: 500; }
.opcao input { width: auto; margin-top: 3px; }
.opcao.certa { border-color: var(--ok); background: #EEF8F1; }
.opcao.errada { border-color: var(--erro); background: #FDEEEE; }
.nav-aula { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.resultado { font-weight: 600; margin-top: 12px; }
.resultado.ok { color: var(--ok); } .resultado.nao { color: var(--alerta); }
/* painel */
.tabela { width: 100%; border-collapse: collapse; font-size: 14px; }
.tabela th { text-align: left; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--fg-2); padding: 8px; border-bottom: 1px solid var(--linha); }
.tabela td { padding: 10px 8px; border-bottom: 1px solid var(--linha); vertical-align: top; }
.rolar { overflow-x: auto; }
/* certificado */
.certificado { background: var(--noite) url(/marca/onda.png) center / cover; color: #fff; border-radius: 18px; padding: 48px 32px; text-align: center; }
.certificado img { height: 44px; }
.certificado h2 { font-size: clamp(30px, 6vw, 52px); margin: 22px 0 8px; }
.certificado .nome { font: 400 clamp(26px, 5vw, 40px) var(--serif); color: var(--claro); margin: 18px 0; }
.certificado p { color: rgba(255,255,255,.8); max-width: 560px; margin: 0 auto; }
@media print {
  .topo, .nao-imprimir { display: none !important; }
  body { background: #fff; } main { padding: 0; }
  .certificado { -webkit-print-color-adjust: exact; print-color-adjust: exact; min-height: 95vh; display: flex; flex-direction: column; justify-content: center; }
}
