/* ===== GA1N · cadastro, recuperação de senha, meus dados + ajustes da auditoria ===== */
.login{justify-content:center}
.linkbtn{display:block;margin:12px auto 0;background:none;border:0;color:inherit;opacity:.8;font-weight:700;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;padding:8px 10px;min-height:40px}
.login .linkbtn{color:#cfcfd6}
.or{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#8a8a92;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.or::before,.or::after{content:"";flex:1;height:1px;background:#2c2c2c}
html[data-theme] .login .btn.signup-cta,.login .btn.signup-cta{background:transparent;border:1.5px solid #c8ff00;color:#c8ff00}
.pw{position:relative;display:block}
.pw input{width:100%;padding-right:48px}
.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:10px;background:none;border:0;font-size:17px;opacity:.75}
.bad{border-color:#ff5a6e!important;box-shadow:0 0 0 3px rgba(255,90,110,.25)!important}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

/* etapas */
.signup{justify-content:flex-start;padding-top:calc(16px + var(--safe-t))}
.s-top{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.signup .ib{background:#1e1e1e;border-color:#333;color:#fff;width:42px;height:42px}
.s-prog{flex:1;display:flex;gap:6px}
.s-prog i{flex:1;height:6px;border-radius:6px;background:#2a2a2a;transition:background .35s var(--spring)}
.s-prog i.on{background:#c8ff00;box-shadow:0 0 12px rgba(200,255,0,.45)}
.s-step{font-weight:800;font-size:12px;color:#8a8a92;min-width:28px;text-align:right}
.s-body{display:flex;flex-direction:column;gap:10px}
.s-body.fwd{animation:sfwd .35s var(--spring)}
.s-body.back{animation:sback .35s var(--spring)}
@keyframes sfwd{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:none}}
@keyframes sback{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.s-ico{font-size:40px;line-height:1}
.s-h{font-family:Poppins,Inter,system-ui,sans-serif;font-size:26px;font-weight:800;letter-spacing:-.02em;margin:4px 0 0;color:#fff}
.s-p{color:#a3a3ab;font-size:14px;margin:0 0 8px}
.s-sub{font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 2px;color:var(--tx)}
.login .s-sub{color:#e6e6ea}
.code{font-family:Poppins,Inter,system-ui,sans-serif;font-weight:800;font-size:22px!important;letter-spacing:.14em;text-align:center;text-transform:uppercase}
.pwm{height:5px;border-radius:5px;background:#2a2a2a;overflow:hidden;margin-top:-2px}
.pwm i{display:block;height:100%;width:0;background:#ff5a6e;transition:width .3s,background .3s}
.pwm i[data-s=m]{background:#ffb020}.pwm i[data-s=s]{background:#c8ff00}

/* controles (funcionam no login escuro e nas folhas claras/escuras) */
.seg{display:flex;gap:6px;background:var(--card2);padding:4px;border-radius:14px}
.seg button{flex:1;min-height:44px;border-radius:10px;font-weight:700;font-size:13px;color:var(--mut);background:none;border:0;transition:all .2s var(--spring)}
.seg button.on{background:#121212;color:#c8ff00}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.trio label{display:flex;flex-direction:column;gap:4px;position:relative}
.trio label span{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mut)}
.trio input{width:100%;text-align:center;font-weight:800;font-size:20px!important;padding:12px 4px 22px}
.trio em{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-style:normal;font-size:10.5px;font-weight:700;color:var(--dim)}
.imc{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--card2);font-size:13px;color:var(--mut);text-align:center}
.imc b{color:var(--tx);font-size:15px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opts .opt:last-child:nth-child(odd){grid-column:1/-1}
.opts3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px;min-height:52px;border-radius:14px;background:var(--card);border:1.5px solid var(--line);font-weight:700;font-size:13.5px;color:var(--tx);transition:all .2s var(--spring)}
.opts .opt{flex-direction:row;align-items:center;gap:8px}
.opt span{font-size:20px}
.opt small{font-size:10.5px;color:var(--mut);font-weight:600}
.opt.on{border-color:#121212;background:#121212;color:#c8ff00;transform:scale(1.02)}
.opt.on small{color:#c8ff00bb}
.daysel{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.daysel button{height:46px;border-radius:12px;background:var(--card);border:1.5px solid var(--line);font-weight:800;font-size:16px;color:var(--tx);transition:all .2s var(--spring)}
.daysel button.on{background:#c8ff00;border-color:#c8ff00;color:#121212;transform:scale(1.08)}

/* versões no login (sempre escuro) */
.login{--card:#1a1a1a;--card2:#1e1e1e;--line:#2f2f2f;--tx:#f2f2f2;--mut:#a3a3ab;--dim:#8a8a92}
.login .seg button.on,.login .opt.on{background:#c8ff00;color:#121212;border-color:#c8ff00}
.login .opt.on small{color:#121212aa}
.login .err{color:#ff8a9a}

/* tema escuro nas folhas */
html[data-theme=dark] .seg button.on,html[data-theme=dark] .opt.on{background:#c8ff00;color:#121212;border-color:#c8ff00}
html[data-theme=dark] .opt.on small{color:#121212aa}

/* meus dados */
.bstats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.bstats div{background:var(--card2);border-radius:12px;padding:8px 4px;text-align:center}
.bstats b{display:block;font-family:Poppins,Inter,system-ui,sans-serif;font-size:18px;font-weight:800}
.bstats span{font-size:10.5px;color:var(--mut);font-weight:700;text-transform:uppercase}

/* ===== auditoria: contraste, alvos de toque, foco ===== */
:root{--dim:#6b6b73;--err:#c62a2f}
html[data-theme=dark]{--dim:#8f8f98;--orange:#a8d900;--err:#ff6b7d}
.bar i,.prog i{box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.55)}
.bar,.prog{background:#d9d9d9}
html[data-theme=dark] .bar i,html[data-theme=dark] .prog i{box-shadow:none}
html[data-theme=dark] .bar,html[data-theme=dark] .prog{background:#2a2a2a}
.goalc.hit .ring .fg{stroke:#121212;filter:drop-shadow(0 0 3px #c8ff00)}
html[data-theme=dark] .goalc.hit .ring .fg{stroke:#c8ff00;filter:none}
.week div.today i{outline:2px solid #121212;outline-offset:1px}
html[data-theme=dark] .week div.today i{outline-color:#c8ff00}
.stepper button{width:40px;height:40px}
.colors button{width:36px;height:36px}
.xc .add{width:36px;height:36px}
.ib{width:40px;height:40px}
:focus-visible{outline:3px solid #c8ff00;outline-offset:2px;box-shadow:0 0 0 5px #121212}
.sheet:focus{outline:none}
/* anel da meta: número e legenda centralizados dentro do círculo */
.ring b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:17px;line-height:1;letter-spacing:-.02em}
.ring b small{margin-top:0;font-size:8.5px;letter-spacing:.02em;text-transform:uppercase}
/* ===== Modo Personal no app do aluno ===== */
.coachc{margin-top:10px;background:var(--card,#fff);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
html[data-theme=dark] .coachc{background:#181818;box-shadow:0 0 0 1px #242424}
.coachc .ib{width:42px;height:42px;font-size:18px;text-decoration:none}
.crec{background:var(--card2,#f4f4f4);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.4;display:flex;flex-direction:column;gap:3px}
html[data-theme=dark] .crec{background:#222}
.crec span{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--orange,#4f7000)}
.crec.hot{background:#0a0a0a;color:#fff}
.crec.hot span{color:#c8ff00}
.crec.hot .linkbtn{color:#c8ff00;align-self:flex-start;opacity:1}
.cnote{display:flex;gap:6px;align-items:flex-start;margin-top:5px;background:var(--card2,#f4f4f4);border-radius:10px;padding:6px 8px;font-size:12.5px;line-height:1.35}
html[data-theme=dark] .cnote{background:#222}
.cnote b{flex:none;font-size:10px;font-weight:800;letter-spacing:.04em;background:#0a0a0a;color:#c8ff00;border-radius:5px;padding:2px 5px;text-transform:uppercase}
.effort{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}
.effort button,.fbt{min-height:38px;border-radius:10px;border:1.5px solid var(--line,#e4e4e7);background:var(--card,#fff);font-weight:800;font-size:13px;color:var(--tx,#0a0a0a)}
.fbt{padding:0 14px}
.effort button.on,.fbt.on{background:#0a0a0a;color:#c8ff00;border-color:#0a0a0a}
html[data-theme=dark] .effort button,html[data-theme=dark] .fbt{background:#111;border-color:#2c2c2c}
html[data-theme=dark] .effort button.on,html[data-theme=dark] .fbt.on{background:#c8ff00;color:#0a0a0a;border-color:#c8ff00}
.fbk textarea{border-radius:12px;border:1.5px solid var(--line,#e4e4e7);padding:10px 12px;font-size:16px;resize:none;background:var(--card,#fff);color:var(--tx,#0a0a0a)}
html[data-theme=dark] .fbk textarea{background:#111;border-color:#2c2c2c}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;background:#1a1a1a;border-radius:14px;padding:12px;font-size:13px;line-height:1.45;color:#e6e6ea;cursor:pointer}
.consent input{width:22px;height:22px;flex:none;accent-color:#c8ff00;margin:0}
.consent.bad,.consent input.bad{outline:2px solid #ff5a6e}
/* página do convite */
.login.invite{justify-content:flex-start;gap:16px;padding-top:calc(24px + var(--safe-t,0px))}
.inv-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin-top:6px}
.inv-head h1{margin:0;font-family:Poppins,Inter,sans-serif;font-weight:800;font-size:26px;line-height:1.15;color:#fff}
.inv-head span{font-size:13px;color:#a3a3ab}
.inv-quote{margin:0;background:#1a1a1a;border-radius:16px;padding:14px;font-size:14px;line-height:1.45;color:#e6e6ea}
.inv-list{display:flex;flex-direction:column;gap:8px}
.inv-cap{font-size:12px;font-weight:800;letter-spacing:.08em;color:#a3a3ab}
.inv-r{display:flex;align-items:center;gap:12px;background:#1a1a1a;border-radius:14px;padding:10px 12px}
.inv-r .inv-l{width:36px;height:36px;border-radius:10px;color:#0a0a0a;display:grid;place-items:center;font-weight:800;flex:none}
.inv-r span{display:flex;flex-direction:column;color:#fff;font-size:14px}
.inv-r small{font-size:12px;color:#a3a3ab}
.inv-cta{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.inv-note{margin:0;font-size:11.5px;color:#a3a3ab;text-align:center;line-height:1.45}
/* conta: privacidade, termos, excluir */
.acct{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0;background:none;border:0;border-bottom:1px solid var(--line);color:var(--tx);font:inherit;font-weight:600;font-size:14px;text-decoration:none;text-align:left;cursor:pointer;width:100%}
.acct:last-child{border-bottom:0}
.acct span{color:var(--mut);font-size:20px}
.acct.bad{color:#ff6b8b;box-shadow:none!important}
