/* MTH · estilos das páginas de conta (entrar, aluno, admin, termos, privacidade) */
:root{
  --bg:#F6F7F9; --surface:#FFFFFF; --sunken:#EEF0F3; --strip:#F7F8FA; --ink:#14171D; --muted:#5A6170; --line:#DFE3E9;
  --pen:#1E3CA8; --pen-ink:#FFFFFF; --pen-soft:#E7ECFB; --ok:#17784A; --ok-soft:#E3F3EA; --bad:#B0281F; --bad-soft:#FBE8E5; --warn:#8A5A00; --warn-soft:#FBF0D9;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif; --f-ui:"IBM Plex Sans","Segoe UI",system-ui,sans-serif; --f-mono:"IBM Plex Mono",ui-monospace,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F1115; --surface:#171A20; --sunken:#1E222A; --strip:#1A1D24; --ink:#E7E9EE; --muted:#9BA2B1; --line:#2A2F39;
  --pen:#8FA6FF; --pen-ink:#0F1115; --pen-soft:#1D2544; --ok:#4CC38A; --ok-soft:#13281D; --bad:#FF8A7F; --bad-soft:#341A19; --warn:#F2C062; --warn-soft:#2E2412; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F1115; --surface:#171A20; --sunken:#1E222A; --strip:#1A1D24; --ink:#E7E9EE; --muted:#9BA2B1; --line:#2A2F39;
  --pen:#8FA6FF; --pen-ink:#0F1115; --pen-soft:#1D2544; --ok:#4CC38A; --ok-soft:#13281D; --bad:#FF8A7F; --bad-soft:#341A19; --warn:#F2C062; --warn-soft:#2E2412; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--f-ui);-webkit-font-smoothing:antialiased}
a{color:var(--pen)}
.wrap{max-width:1080px;margin:0 auto;padding-inline:16px}
header.top{border-bottom:1px solid var(--line);background:var(--surface)}
header.top .wrap{display:flex;align-items:center;gap:16px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.mark{width:36px;height:36px;border-radius:9px;background:var(--pen);color:var(--pen-ink);display:grid;place-items:center;font:800 13px/1 var(--f-display)}
.logo b{font:700 18px/1.1 var(--f-display)}
.logo small{display:block;font:500 10.5px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}
nav.main{display:flex;gap:6px;flex-wrap:wrap}
nav.main a{text-decoration:none;color:var(--muted);font-weight:500;font-size:15px;padding:7px 12px;border-radius:999px}
nav.main a:hover,nav.main a[aria-current="page"]{background:var(--sunken);color:var(--ink)}
main{padding-block:32px 64px}
h1{font:800 clamp(28px,4.5vw,40px)/1.1 var(--f-display);letter-spacing:-.02em;margin:0 0 8px}
h2{font:700 20px/1.25 var(--f-display);margin:0 0 12px}
.sub{color:var(--muted);margin:0 0 24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.grid{display:grid;gap:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font:600 15px var(--f-ui);border-radius:10px;padding:11px 18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.btn:hover{border-color:var(--muted)}
.btn.pri{background:var(--pen);border-color:var(--pen);color:var(--pen-ink)}
.btn.pri:hover{filter:brightness(1.06)}
.btn.full{width:100%}
.btn:disabled{opacity:.55;cursor:default}
.btn:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--pen);outline-offset:2px}
.linkbtn{border:0;background:none;color:var(--pen);font:500 14px var(--f-ui);padding:4px;cursor:pointer}
label.f{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=search],select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:14px}
.check input{margin-top:4px;flex:none}
.nota{font-size:13.5px;color:var(--muted);margin:10px 0 0;text-align:center}
.msg{margin-top:14px;padding:10px 12px;border-radius:10px;font-size:14.5px}
.msg.ok{background:var(--ok-soft);color:var(--ok)} .msg.bad{background:var(--bad-soft);color:var(--bad)} .msg.info{background:var(--pen-soft);color:var(--pen)} .msg.warn{background:var(--warn-soft);color:var(--warn)}
.sep{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:18px 0}
.sep::before,.sep::after{content:"";flex:1;height:1px;background:var(--line)}
.tabs{display:flex;gap:4px;background:var(--sunken);padding:4px;border-radius:999px;margin-bottom:18px}
.tabs button{flex:1;border:0;background:none;padding:8px 12px;border-radius:999px;font:500 15px var(--f-ui);color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(0 0 0 / .08)}
.tag{display:inline-block;font:600 12px/1 var(--f-ui);padding:5px 10px;border-radius:999px;background:var(--sunken);color:var(--muted)}
.tag.ok{background:var(--ok-soft);color:var(--ok)} .tag.bad{background:var(--bad-soft);color:var(--bad)} .tag.pen{background:var(--pen-soft);color:var(--pen)} .tag.warn{background:var(--warn-soft);color:var(--warn)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.kpi span{font:500 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kpi b{display:block;font:700 28px/1.1 var(--f-display);margin-top:8px;font-variant-numeric:tabular-nums}
.kpi small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.bars{display:flex;flex-direction:column;gap:10px}
.bar{display:grid;grid-template-columns:minmax(110px,200px) 1fr 84px;gap:12px;align-items:center;font-size:14px}
.bar .track{height:8px;background:var(--sunken);border-radius:999px;overflow:hidden}
.bar .fill{height:100%;background:var(--pen);border-radius:999px}
.bar .v{font:13px var(--f-mono);text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th,table.t td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.t th{font:500 11.5px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
table.t td.n{text-align:right;font-variant-numeric:tabular-nums}
.tscroll{overflow-x:auto}
.empty{color:var(--muted);text-align:center;padding:28px 0}
.prose{max-width:72ch}
.prose h2{margin-top:28px}
.prose p,.prose li{color:var(--ink)}
footer.foot{border-top:1px solid var(--line);color:var(--muted);font-size:14px}
footer.foot .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:22px}
footer.foot a{color:var(--muted)}
.auth{max-width:440px;margin:0 auto}
.gbtn svg{width:18px;height:18px}
@media (max-width:560px){.bar{grid-template-columns:96px 1fr 70px}.card{padding:18px}}
