/* Telas de login, conta e painel de alunas — usa os mesmos tokens do app */
#acesso{min-height:100vh;display:grid;place-items:start center;padding-block:28px 48px}
#acesso[hidden]{display:none!important}
.ac-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ac-top{background:var(--band);color:var(--band-ink);padding:20px 20px 18px;display:grid;gap:6px;justify-items:start}
.ac-top img{height:64px;width:auto}
.ac-top h1{font:700 28px/1.1 var(--display);margin:0}
.ac-top p{margin:0;color:var(--band-muted);font-size:14px}
.ac-body{padding:18px 20px 22px;display:grid;gap:14px}
.ac-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--bg);padding:4px;border-radius:12px}
.ac-tab{font:600 14px var(--body);padding:9px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}
.ac-tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ac-f{display:grid;gap:5px;font-weight:600;font-size:14px}
.ac-f input{font:16px var(--body);color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
.ac-f input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.ac-btn{font:600 16px var(--body);padding:12px 16px;border-radius:11px;border:1.5px solid var(--gold-btn);background:var(--gold-btn);color:var(--gold-btn-ink);cursor:pointer;min-height:46px;width:100%}
.ac-btn[disabled]{opacity:.6;cursor:default}
.ac-link{font:600 14px var(--body);background:none;border:0;color:var(--gold);cursor:pointer;padding:6px 0;justify-self:center;text-decoration:underline}
.ac-msg{font-size:14px;padding:10px 12px;border-radius:10px}
.ac-msg.err{background:var(--bad-soft);color:var(--bad)}
.ac-msg.ok{background:var(--good-soft);color:var(--good)}
.ac-msg.info{background:var(--gold-soft);color:var(--ink)}
.ac-hint{font-size:13px;color:var(--muted);margin:0}
.contabar{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;justify-content:flex-end;font-size:13px;color:var(--muted);padding-top:10px}
.contabar .em{overflow-wrap:anywhere;margin-right:auto}
.cb-btn{font:600 13px var(--body);padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.cb-btn.gold{background:var(--gold-soft);border-color:var(--gold)}
/* painel */
.ov{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));padding-block:calc(12px + env(safe-area-inset-top,0px)) 48px}
.ov[hidden]{display:none!important}
.ov-in{max-width:760px;margin:0 auto;display:grid;gap:14px}
.ov-head{display:flex;align-items:center;gap:10px}
.ov-head h2{font:700 26px/1.1 var(--display);margin:0;flex:1}
.ov-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:12px}
.ov-card h3{margin:0;font:700 16px var(--body)}
.ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.ac-f select{font:16px var(--body);color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
.al-list{display:grid;gap:8px}
.al-item{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--field)}
.al-item .t{flex:1;min-width:180px}
.al-item .t b{display:block;overflow-wrap:anywhere}
.al-item .t span{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.al-item.bloq{opacity:.65}
.pill{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px}
.pill.ativa{background:var(--good-soft);color:var(--good)}
.pill.bloqueada{background:var(--bad-soft);color:var(--bad)}
.al-acts{display:flex;gap:6px;flex-wrap:wrap}
.al-acts .cb-btn.danger{color:var(--bad);border-color:var(--bad)}
.ov-stats{display:flex;gap:14px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.ov-stats b{color:var(--ink);font-size:20px;font-variant-numeric:tabular-nums;margin-right:4px}
