@font-face{font-family:'Lexend';font-weight:300 700;font-display:swap;src:url(lexend.woff2) format('woff2')}
:root{--navy:#0E2556;--navy2:#15326F;--navy3:#0B1E47;--line:#2E4C8C;--line2:#3D5A99;--track:#24427F;--gold:#F2B33D;--cream:#F4EFE6;--mute:#B7C3E0;--ok:#7FD1A6;--err:#FF8A7A}
*{box-sizing:border-box}
html,body{margin:0;background:var(--navy3);color:var(--cream);font-family:'Lexend','Helvetica Neue',sans-serif;font-weight:300}
a{color:var(--gold)}a:hover{color:var(--cream)}
button,input,select,textarea{font-family:inherit;font-size:15px}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.hidden{display:none!important}
b,strong{font-weight:700}
.app{max-width:480px;min-height:100vh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;background:var(--navy)}
.top{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px}
.top h1{margin:0;font-size:26px;line-height:1.1;letter-spacing:-.01em;font-weight:300}
.avatar{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:var(--navy2);color:var(--gold);font-size:15px;font-weight:700}
main{flex:1;overflow-y:auto;padding:4px 20px 28px;display:flex;flex-direction:column;gap:22px}
.card{background:var(--navy2);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}
.member{height:214px;border-color:var(--line2);box-shadow:0 18px 34px -16px rgba(0,0,0,.6);padding:22px;justify-content:space-between}
.brand{display:flex;flex-direction:column;line-height:1;font-size:19px;letter-spacing:-.01em}
.member .brand{font-size:24px}
.login .brand{font-size:40px}
.brand b{font-weight:700}.dot{color:var(--gold)}
.kicker{font-size:11px;font-weight:700;letter-spacing:.24em;color:var(--mute)}
.memberno{font-size:38px;font-weight:700;line-height:1.05;color:var(--gold)}
.sec{border-top:2px solid var(--gold);padding-top:14px;display:flex;flex-direction:column;gap:14px}
.sec h2{margin:0;font-size:17px;font-weight:700}
.label{font-size:13px;font-weight:700;color:var(--gold)}
.mute{color:var(--mute)}.small{font-size:13px}
.big{font-size:20px;line-height:1.25}
.pill{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;padding:0 20px;border-radius:999px;background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none;border:0}
.pill:hover{color:var(--navy);filter:brightness(1.08)}
.pill.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.pill[disabled]{opacity:.5;cursor:default}
.check{width:100%;min-height:44px;display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:6px 0;color:var(--cream);text-align:left;font-weight:300}
.box{width:24px;height:24px;flex-shrink:0;border-radius:7px;display:flex;align-items:center;justify-content:center;border:2px solid #5B76B0}
.check[aria-pressed=true] .box{background:var(--gold);border:0}
.check[aria-pressed=true] .txt{color:var(--mute);text-decoration:line-through}
ul.clean{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rowbtn{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:transparent;border-radius:18px;padding:16px 18px;color:var(--cream);text-align:left}
.lesson{background:var(--navy2);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lesson>button{width:100%;min-height:64px;display:flex;align-items:center;gap:14px;border:0;background:transparent;padding:14px 16px;color:var(--cream);text-align:left}
.date{width:48px;flex-shrink:0;display:flex;flex-direction:column;align-items:center}
.date .d{font-size:22px;font-weight:700;line-height:1;color:var(--gold)}
.lesson .more{padding:0 16px 16px 78px;display:flex;flex-direction:column;gap:12px}
.lesson p{margin:0;font-size:14px;line-height:1.55}
.chev{transition:transform .2s}.lesson[data-open] .chev{transform:rotate(180deg)}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stats>div{border-top:2px solid var(--gold);padding-top:10px;display:flex;flex-direction:column;gap:2px}
.stats .n{font-size:26px;font-weight:700}
.badge{font-size:12px;font-weight:700;border-radius:999px;padding:4px 10px;white-space:nowrap}
.b-pendente{background:var(--gold);color:var(--navy)}.b-corr{background:transparent;border:1px solid var(--mute);color:var(--mute)}.b-ok{background:#1F5E46;color:#D9F5E6}
.feedback{margin:0;font-size:14px;line-height:1.55;background:var(--navy);border-radius:10px;padding:10px 12px}
.levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.levels>div{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:12px}
.levels i{display:block;width:100%;height:10px;border-radius:999px;background:var(--track)}
.levels .on i{background:var(--gold)}.levels .now{color:var(--gold);font-weight:700}
.bar{height:8px;background:var(--track);border-radius:999px;overflow:hidden}.bar>div{height:100%;background:var(--gold);border-radius:999px}
.months{height:120px;display:flex;align-items:flex-end;gap:10px}
.months>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px}
.months i{display:block;width:100%;max-width:26px;border-radius:6px 6px 2px 2px;background:var(--line2)}.months .cur i{background:var(--gold)}
nav.tabs{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 10px calc(14px + env(safe-area-inset-bottom));background:var(--navy3);border-top:1px solid var(--track)}
nav.tabs button{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:14px;background:transparent;color:var(--mute);font-size:12px}
nav.tabs button[aria-current=page]{color:var(--gold);font-weight:700}
.empty{color:var(--mute);font-size:14px;line-height:1.55}
/* formulários */
.field{display:flex;flex-direction:column;gap:6px}
.field span{font-size:13px;font-weight:500;color:var(--mute)}
input,select,textarea{width:100%;min-height:46px;border-radius:12px;border:1px solid var(--line2);background:var(--navy3);color:var(--cream);padding:10px 14px}
textarea{min-height:90px;resize:vertical}
.msg{font-size:14px;min-height:20px}.msg.err{color:var(--err)}.msg.ok{color:var(--ok)}
.login{flex:1;display:flex;flex-direction:column;justify-content:center;gap:28px;padding:32px 24px}
.login form{display:flex;flex-direction:column;gap:14px}
/* equipe (tela larga) */
.wide{max-width:1100px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.list{display:flex;flex-direction:column;gap:8px}
.item{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--navy2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;color:var(--cream);text-align:left;width:100%}
.item small{color:var(--mute)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.secret{font-family:ui-monospace,monospace;background:var(--navy3);border:1px dashed var(--gold);padding:10px;border-radius:10px;font-size:15px;word-break:break-all}
details>summary{cursor:pointer;font-weight:700;color:var(--gold);min-height:36px}
/* app instalável + iOS/Android */
html{-webkit-text-size-adjust:100%}
body{-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
input,select,textarea{font-size:16px}
.top{padding-top:calc(22px + env(safe-area-inset-top))}
.login{padding-top:calc(32px + env(safe-area-inset-top));padding-bottom:calc(32px + env(safe-area-inset-bottom))}
main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.instalar{display:flex;align-items:center;gap:12px;width:100%;border:1px dashed var(--gold);background:transparent;border-radius:16px;padding:14px 16px;color:var(--cream);text-align:left;min-height:56px}
.instalar b{color:var(--gold)}
.instalar svg{flex-shrink:0}
dialog.sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:480px;background:transparent;color:var(--cream)}
dialog.sheet::backdrop{background:rgba(5,12,30,.7)}
.sheet-in{background:var(--navy2);border:1px solid var(--line2);border-bottom:0;border-radius:22px 22px 0 0;padding:22px 22px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
.sheet-in h2{margin:0;font-size:22px;font-weight:300}
.sheet-in p{margin:0;line-height:1.55}
ol.passos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
ol.passos li{display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.num{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:700;display:flex;align-items:center;justify-content:center}
@media (min-width:700px){dialog.sheet{margin:auto}.sheet-in{border-radius:22px;border-bottom:1px solid var(--line2)}}
/* arquivos das tarefas */
.arqs{display:flex;flex-direction:column;gap:8px}
.arq{display:flex;flex-direction:column;gap:8px;background:var(--navy3);border:1px solid var(--line);border-radius:12px;padding:8px}
.arq-a{display:flex;align-items:center;gap:12px;color:var(--cream);text-decoration:none;min-height:44px}
.arq-a img{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0;background:var(--navy2)}
.arq-i{width:64px;height:64px;flex-shrink:0;border-radius:8px;background:var(--navy2);display:flex;align-items:center;justify-content:center;font-size:28px}
.arq-n{display:flex;flex-direction:column;gap:2px;font-size:14px;word-break:break-word;line-height:1.3}.arq-n small{color:var(--mute);font-size:12px}
.arq audio{width:100%;height:40px}
.arq-b{display:flex;gap:8px;flex-wrap:wrap}.arq-b:empty{display:none}
.mini{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--cream);font-size:13px;font-weight:500}
.mini.on{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700}.mini.x{color:var(--err);border-color:rgba(255,138,122,.5)}
.anexar{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.anexar label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px dashed var(--gold);border-radius:12px;color:var(--gold);font-weight:700;font-size:14px;cursor:pointer;text-align:center;padding:6px}
.anexar input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.anexar label:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.prog{height:6px;background:var(--track);border-radius:999px;overflow:hidden}.prog>div{height:100%;width:0;background:var(--gold);transition:width .2s}
.nota{font-size:22px;font-weight:700;color:var(--gold)}
/* editor de correção na foto */
dialog.editor{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#050C1E;color:var(--cream);display:flex;flex-direction:column}
dialog.editor:not([open]){display:none}
dialog.editor::backdrop{background:#050C1E}
.ed-top{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:calc(12px + env(safe-area-inset-top)) 16px 6px}
.ed-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:6px 16px}
.cor{width:34px;height:34px;border-radius:50%;border:3px solid transparent}.cor.on{border-color:#fff}
.ed-area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.ed-area canvas{max-width:100%;max-height:100%;touch-action:none;border-radius:6px;background:#fff}
.ed-bot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:8px 16px calc(14px + env(safe-area-inset-bottom))}
/* aba boletim (aluno) */
nav.tabs.cinco{grid-template-columns:repeat(5,minmax(0,1fr))}
nav.tabs.cinco button{font-size:11px}
.bol{display:flex;flex-direction:column;gap:12px}
.bol-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.bol-nums>div{background:var(--navy3);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.bol-nums b{font-size:22px;color:var(--gold)}
.hist{width:100%;border-collapse:collapse;font-size:13px}.hist th{color:var(--mute);font-weight:500;text-align:left;padding:6px 4px;border-bottom:1px solid var(--line)}
.hist td{padding:8px 4px;border-bottom:1px solid var(--track)}.hist tr.cur td{color:var(--gold);font-weight:700}
.tabela{overflow-x:auto}
/* painel da equipe */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.kpi{background:var(--navy2);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;text-align:left;color:var(--cream)}
button.kpi:hover{border-color:var(--gold)}
.kpi b{font-size:30px;line-height:1.1;color:var(--gold)}.kpi.zero b{color:var(--mute)}
.abas{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.abas::-webkit-scrollbar{display:none}
.abas button{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--mute);font-weight:500;white-space:nowrap}
.abas button[aria-current=page]{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700}
.abas .cnt{display:inline-block;min-width:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--err);color:var(--navy);font-size:12px;font-weight:700}
.fila{display:flex;flex-direction:column;gap:10px}
.fila .item{align-items:flex-start}
.acoes{display:flex;gap:8px;flex-wrap:wrap}
.busca{display:flex;gap:10px;flex-wrap:wrap}.busca input{flex:1;min-width:180px}.busca select{width:auto;min-width:150px}
.top .row{flex-wrap:nowrap}
.cab-aluno{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cab-aluno .avatar{flex-shrink:0}
.chip{font-size:12px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;color:var(--mute)}
.chip.ouro{border-color:var(--gold);color:var(--gold)}
.vazio-ok{display:flex;align-items:center;gap:10px;color:var(--ok);font-size:14px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--ok);color:var(--navy);font-weight:700;padding:12px 20px;border-radius:999px;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.4)}
@media (max-width:700px){.top{flex-wrap:wrap;gap:8px}.top h1{font-size:20px}.wide main{padding-left:14px;padding-right:14px}}
.msg:empty{display:none}
.grid2 .field input,.grid2 .field select{width:100%;min-width:0;box-sizing:border-box}
.anexar label{font-size:13px;padding:6px 10px}
/* club (stories) e perfil */
nav.tabs.seis{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding-left:6px;padding-right:6px}
nav.tabs.seis button{font-size:10.5px;letter-spacing:-.01em}
.avatar{overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.cl-av{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--navy3);border:1px solid var(--line2);color:var(--gold);font-weight:700;overflow:hidden;box-sizing:border-box}
.cl-av img{width:100%;height:100%;object-fit:cover;display:block}
.cl-av.anel{border:3px solid var(--gold);box-shadow:inset 0 0 0 2px var(--navy)}.cl-av.anel.visto{border-color:var(--line2)}
.cl-mais{border:2px dashed var(--gold);font-size:30px;font-weight:300}
.cl-roda{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:none;margin:0 -4px}.cl-roda::-webkit-scrollbar{display:none}
.cl-bola{display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:transparent;color:var(--cream);font-size:12px;min-width:72px;padding:0}
.cl-bola>span:last-child{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-mural{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:700px){.wide .cl-mural{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cl-card{position:relative;aspect-ratio:9/14;border:0;border-radius:16px;overflow:hidden;padding:0;color:#fff;display:flex;align-items:center;justify-content:center;text-align:left}
.cl-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cl-card::after{content:'';position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(transparent,rgba(5,12,30,.85));pointer-events:none}
.cl-txt{padding:14px;font-size:16px;font-weight:700;line-height:1.3;word-break:break-word;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;color:var(--cream)}
.cl-txt.escuro,.st-grande.escuro{color:var(--navy)}
.cl-tag{position:absolute;top:8px;left:8px;z-index:1;background:rgba(5,12,30,.6);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500}
.cl-quem{position:absolute;left:8px;right:8px;bottom:8px;z-index:1;display:flex;align-items:center;gap:6px;font-size:12px}
.cl-quem>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-up{position:relative;display:inline-flex;align-items:center;cursor:pointer}.cl-up input{position:absolute;width:1px;height:1px;opacity:0}
.cl-up:focus-within{outline:3px solid var(--gold);outline-offset:2px}
.cl-prev{height:220px;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.cl-prev img{width:100%;height:100%;object-fit:contain;background:#050C1E}
.cl-prof{background:var(--gold);color:var(--navy);border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700;vertical-align:1px}
.cor{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.35);padding:0}.cor.on{border:3px solid #fff;box-shadow:0 0 0 2px var(--gold)}
dialog.story{border:0;padding:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#050C1E;color:#fff}
dialog.story::backdrop{background:#050C1E}
.st-in{position:relative;height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}
.st-barras{display:flex;gap:4px;padding:calc(10px + env(safe-area-inset-top)) 10px 0;position:relative;z-index:3}
.st-barras i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}.st-barras b{display:block;height:100%;background:#fff}
.st-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 6px;position:relative;z-index:3}
.st-autor{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:#fff;text-align:left;padding:0;min-height:44px;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.st-x{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:22px}
.st-meio{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.st-meio img{max-width:100%;max-height:100%;object-fit:contain}
.st-grande{margin:0;padding:24px;font-size:26px;font-weight:700;line-height:1.3;text-align:center;word-break:break-word;color:var(--cream)}
.st-lado{position:absolute;top:0;bottom:0;width:35%;border:0;background:transparent;z-index:2}.st-lado.esq{left:0}.st-lado.dir{right:0;width:65%}
.st-baixo{display:flex;flex-direction:column;gap:10px;padding:10px 14px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(5,12,30,.9));position:relative;z-index:3}
.st-leg{margin:0;font-size:15px;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.st-reac{display:flex;gap:8px;justify-content:space-between}
.st-reac button{flex:1;min-height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:rgba(5,12,30,.45);font-size:20px;color:#fff;display:flex;align-items:center;justify-content:center;gap:4px}
.st-reac button.on{background:var(--gold);border-color:var(--gold)}.st-reac small{font-size:12px;font-weight:700}
dialog.story :focus:not(:focus-visible){outline:none}
.st-autor .cl-prof{text-shadow:none}
.st-in{outline:none}
