:root{--vermelho:#b81e2e;--vermelho-esc:#8d1522;--azul:#033576;--azul-fundo:#02224e;--dourado:#c69765;--papel:#f5f1e9;--papel2:#ebe3d5;--tinta:#14110e;--tinta-fraca:#4a423a;--branco:#fff;--f-display:"Zilla Slab", Georgia, serif;--f-texto:"Roboto", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, monospace;--sp1:.5rem;--sp2:1rem;--sp3:1.75rem;--sp4:3rem;--largura:1240px;--ease:cubic-bezier(.22, .61, .36, 1);--micro:.18s;--sombra:0 2px 4px #03357629, 0 18px 40px -18px #03357657;--sombra-alta:0 3px 6px #03357633, 0 34px 70px -26px #0335766b;--canto:clamp(30px, 6.5vw, 104px);--raio-ctrl:8px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--papel);min-height:100vh;color:var(--tinta);font-family:var(--f-texto);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}body:after{content:"";pointer-events:none;z-index:50;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2{font-family:var(--f-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:700;line-height:1}h1{color:var(--azul);font-size:clamp(2rem,4vw,3rem)}p{text-wrap:pretty;margin:0}a{color:var(--azul);text-underline-offset:.18em}:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:4px}::selection{background:var(--vermelho);color:var(--branco)}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:500}.so-leitor{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pular{left:var(--sp2);z-index:60;padding:var(--sp1) var(--sp2);background:var(--azul);color:var(--branco);border-radius:var(--raio-ctrl);position:absolute;top:-100px}.pular:focus{top:var(--sp1)}.btn{border-radius:var(--raio-ctrl);min-height:48px;font-family:var(--f-texto);cursor:pointer;transition:transform var(--micro) var(--ease), box-shadow var(--micro) var(--ease), background-color var(--micro) var(--ease);border:0;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.4rem;font-size:1rem;font-weight:500;line-height:1.15;text-decoration:none;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primario{background:var(--vermelho);color:var(--branco);box-shadow:var(--sombra)}.btn-primario:not(:disabled):hover,.btn-primario:not(:disabled):focus-visible{background:var(--vermelho-esc);box-shadow:var(--sombra-alta);transform:translateY(-3px)}.btn-linha{color:var(--azul);background:0 0;border:1.5px solid #03357659}.btn-linha:not(:disabled):hover,.btn-linha:not(:disabled):focus-visible{border-color:var(--azul);background:#0335760d}.btn-compacto{min-height:44px;padding:.55rem 1rem;font-size:.9375rem}.formulario{gap:var(--sp2);display:grid}.campo{align-content:start;gap:.35rem;display:grid}.campo label{font-size:.9375rem;font-weight:500}.campo input,.campo select,.campo textarea{width:100%;min-height:48px;font-family:var(--f-texto);color:var(--tinta);background:var(--branco);border-radius:var(--raio-ctrl);transition:border-color var(--micro) var(--ease), box-shadow var(--micro) var(--ease);border:1.5px solid #14110e47;padding:.75rem .9rem;font-size:1rem}.campo textarea{resize:vertical;min-height:6.5rem;line-height:1.45}.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{border-color:var(--azul);outline:none;box-shadow:0 0 0 3px #03357640}.campo-codigo{font-family:var(--f-mono);letter-spacing:.3em;font-size:1.25rem}.campo-ajuda{color:var(--tinta-fraca);overflow-wrap:anywhere;font-size:.875rem}.campo-opcional{color:var(--tinta-fraca);font-weight:400}.campo-marcar{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-weight:500;display:inline-flex}.campo-marcar input{width:1.25rem;height:1.25rem;accent-color:var(--azul);margin:0}.aviso{align-items:center;gap:var(--sp1) var(--sp2);border-radius:var(--raio-ctrl);border-left:4px solid var(--azul);background:var(--branco);overflow-wrap:anywhere;flex-wrap:wrap;padding:.85rem 1rem;display:flex}.aviso p{flex:16rem}.aviso-erro{border-left-color:var(--vermelho);background:#fdf4f4}.porta{min-height:100vh;padding:var(--sp3) 1.25rem;place-items:center;display:grid}.porta-cartao{gap:var(--sp2);background:var(--branco);border-radius:0 var(--canto) 0 0;width:min(28rem,100%);box-shadow:var(--sombra);padding:clamp(1.5rem,5vw,2.75rem);display:grid}.porta-logo{width:min(15rem,80%);height:auto;margin-bottom:var(--sp1)}.porta-texto{color:var(--tinta-fraca)}.porta-acoes{gap:var(--sp1);display:grid}.topo{background:var(--branco);border-bottom:3px solid var(--vermelho)}.topo-linha{width:min(var(--largura), 100% - 2.5rem);align-items:center;gap:var(--sp2) var(--sp3);grid-template-columns:auto 1fr auto;grid-template-areas:"marca nav conta";margin-inline:auto;padding-block:.75rem;display:grid}.topo-marca{grid-area:marca;line-height:0;display:block}.topo-simbolo{width:44px;height:44px}.topo-nav{grid-area:nav}.topo-nav ul{gap:var(--sp1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.topo-nav a{border-radius:var(--raio-ctrl);min-height:44px;color:var(--azul);align-items:center;padding:.5rem .9rem;font-weight:500;text-decoration:none;display:inline-flex}.topo-nav a:hover{background:#0335760f}.topo-nav a[aria-current=page]{background:var(--azul);color:var(--branco)}.topo-conta{align-items:center;gap:var(--sp2);grid-area:conta;display:flex}.topo-usuario{text-align:right;line-height:1.25;display:grid}.topo-nome{overflow-wrap:anywhere;font-weight:500}.topo-papel{color:var(--tinta-fraca);font-size:.875rem}@media (width<=720px){.topo-linha{grid-template-columns:auto 1fr;grid-template-areas:"marca conta""nav nav"}.topo-conta{justify-content:flex-end}.topo-nav ul{gap:.25rem}.topo-nav a{padding-inline:.6rem}}.area{width:min(var(--largura), 100% - 2.5rem);padding-block:var(--sp3);gap:var(--sp2);align-content:start;margin-inline:auto;display:grid}main.area:focus{outline:none}.area h1{margin-bottom:var(--sp1)}.vazio{padding:var(--sp3) var(--sp2);background:var(--papel2);border-radius:var(--raio-ctrl);color:var(--tinta-fraca);text-align:center}.cabecalho-tela{justify-content:space-between;align-items:flex-end;gap:var(--sp2);flex-wrap:wrap;display:flex}.area .cabecalho-tela h1{margin-bottom:0}.area>h2{margin-top:var(--sp2);color:var(--azul);font-size:clamp(1.4rem,2.6vw,1.85rem)}.texto-apoio{max-width:68ch;color:var(--tinta-fraca)}.texto-apoio+.texto-apoio{margin-top:calc(var(--sp1) * -1)}.painel{gap:var(--sp2);background:var(--branco);border-radius:0 var(--canto) 0 0;box-shadow:var(--sombra);padding:clamp(1.25rem,4vw,2.25rem);display:grid}.painel-topo{justify-content:space-between;align-items:center;gap:var(--sp1) var(--sp2);padding-right:calc(var(--canto) * .35);flex-wrap:wrap;display:flex}.painel h2{color:var(--azul);font-size:clamp(1.4rem,2.6vw,1.85rem)}.painel h2:focus{outline:none}.painel h3{font-family:var(--f-display);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.painel-secao{gap:var(--sp2);padding-top:var(--sp2);border-top:2px solid var(--dourado);display:grid}.grade-campos{gap:var(--sp2);grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));display:grid}.grade-campos .campo-largo{grid-column:1/-1}.acoes{gap:var(--sp1);flex-wrap:wrap;display:flex}.btn-perigo{color:var(--vermelho);border-color:#b81e2e66}.btn-perigo:not(:disabled):hover,.btn-perigo:not(:disabled):focus-visible{border-color:var(--vermelho);background:#b81e2e0d}.lista-vinculos{gap:var(--sp1);margin:0;padding:0;list-style:none;display:grid}.lista-vinculos li{justify-content:space-between;align-items:center;gap:var(--sp1) var(--sp2);background:var(--papel);border-radius:var(--raio-ctrl);overflow-wrap:anywhere;flex-wrap:wrap;padding:.6rem .9rem;display:flex}.tabela-moldura{background:var(--branco);border-radius:0 var(--canto) 0 0;box-shadow:var(--sombra);padding:var(--sp1) var(--sp2);overflow-x:auto}.tabela{border-collapse:collapse;width:100%}.tabela th,.tabela td{text-align:left;vertical-align:top;border-bottom:1px solid #14110e1a;padding:.8rem .75rem}.tabela th{color:var(--tinta-fraca);border-bottom:2px solid var(--dourado);font-size:.875rem;font-weight:500}.tabela tbody tr:last-child td{border-bottom:0}.celula-linha{overflow-wrap:anywhere;display:block}.celula-linha.mono{overflow-wrap:normal;white-space:nowrap}@media (width<=640px){.tabela-moldura{box-shadow:none;background:0 0;border-radius:0;padding:0}.tabela thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.tabela,.tabela tbody,.tabela tr,.tabela td{display:block}.tabela tr{margin-bottom:var(--sp2);padding:var(--sp1) var(--sp2);background:var(--branco);border-radius:0 calc(var(--canto) * .8) 0 0;box-shadow:var(--sombra)}.tabela td{gap:var(--sp1);grid-template-columns:8.5rem 1fr;padding:.55rem 0;display:grid}.tabela td>*{grid-column:2}.tabela td:before{content:attr(data-rotulo);font-family:var(--f-texto);color:var(--tinta-fraca);letter-spacing:0;font-size:.875rem;font-weight:500}}.voltar{justify-self:start;align-items:center;min-height:44px;font-weight:500;display:inline-flex}.cabecalho-tela .texto-apoio{margin-top:var(--sp1)}.campo-erro{color:var(--vermelho);font-size:.875rem;font-weight:500}.campo input[aria-invalid=true]{border-color:var(--vermelho)}.campo .campo-nota{max-width:8rem;font-family:var(--f-mono);font-variant-numeric:tabular-nums}.grade-notas{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr))}.celula-texto{overflow-wrap:anywhere;max-width:42ch;display:block}.presenca{gap:var(--sp1);border:0;min-width:0;margin:0;padding:0;display:grid}.presenca legend{margin-bottom:var(--sp1);font-family:var(--f-display);letter-spacing:-.035em;color:var(--azul);padding:0;font-size:clamp(1.4rem,2.6vw,1.85rem);font-weight:700}.presenca-topo{justify-content:space-between;align-items:center;gap:var(--sp1) var(--sp2);flex-wrap:wrap;display:flex}.presenca-contagem{font-weight:500}.presenca-lista{gap:var(--sp1);grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));margin:0;padding:0;list-style:none;display:grid}.presenca-aluno{background:var(--papel);border-radius:var(--raio-ctrl);cursor:pointer;border:1.5px solid #0000;align-items:center;gap:.75rem;min-height:48px;padding:.5rem .9rem;display:flex}.presenca-aluno input{width:1.25rem;height:1.25rem;accent-color:var(--azul);flex:none;margin:0}.presenca-nome{overflow-wrap:anywhere;flex:1}.presenca-estado{color:var(--tinta-fraca);font-size:.875rem}.presenca-aluno-falta{background:var(--branco);border-color:#b81e2e66}.presenca-aluno-falta .presenca-estado{color:var(--vermelho);font-weight:500}.seletor-celula{max-width:100%;min-height:44px;font-family:var(--f-texto);color:var(--tinta);background:var(--branco);border-radius:var(--raio-ctrl);border:1.5px solid #14110e47;padding:.45rem .6rem;font-size:.9375rem}.seletor-celula:focus-visible{border-color:var(--azul);outline:none;box-shadow:0 0 0 3px #03357640}.celula-apoio{color:var(--tinta-fraca);font-size:.875rem}.situacao-alerta{color:var(--vermelho);font-weight:500}.tabela td .acoes{flex-wrap:wrap}.resumo{gap:var(--sp2);grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));margin:0;display:grid}.resumo>div{padding:var(--sp2);background:var(--branco);border-left:4px solid var(--azul);border-radius:var(--raio-ctrl);gap:.25rem;display:grid}.resumo dt{color:var(--tinta-fraca);font-size:.875rem;font-weight:500}.resumo dd{margin:0}.resumo .mono{font-size:1.25rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
