@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');:root{font-family:'DM Sans',system-ui,sans-serif;color:#18213a;background:#f6f7fc}*{box-sizing:border-box}body{margin:0}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:white;border-right:1px solid #e9eaf3;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:-.7px;padding:0 10px 40px}.brand small{display:block;font-size:10px;color:#9299ad;font-weight:500;letter-spacing:0;margin-top:4px}.logo{background:#6554e8;color:white;padding:10px 13px;border-radius:13px}.accent{color:#6554e8}nav{display:grid;gap:9px}button{font:inherit;cursor:pointer}nav button{border:0;background:transparent;padding:14px 16px;text-align:left;color:#667087;border-radius:12px;font-weight:700}nav button.active,nav button:hover{background:#eeecff;color:#5b4ada}.aside-foot{margin-top:auto;padding:16px;color:#65708c;font-size:12px;line-height:1.7;background:#f7f7ff;border-radius:12px}main{width:100%;max-width:1250px;padding:34px 44px 80px;margin:0 auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{color:#7666e8;font-size:11px;letter-spacing:2px;font-weight:800}h1{font-size:30px;letter-spacing:-1px;margin:8px 0}h2{font-size:21px;letter-spacing:-.5px;margin:0 0 15px}h3{margin:0 0 9px}.avatar{border-radius:50%;background:#e9e6ff;color:#6554e8;padding:13px;font-weight:800}.hero{background:linear-gradient(110deg,#6252dd,#8877f2);color:white;border-radius:22px;padding:30px;display:flex;justify-content:space-between;gap:20px;align-items:center}.hero h2{font-size:29px;max-width:520px}.hero p{color:#e8e3ff;max-width:510px}.hero-art{font-size:88px;opacity:.7}.btn{background:#6655e9;color:white;border:0;padding:12px 19px;border-radius:11px;font-weight:800}.btn:hover{filter:brightness(.94)}.btn.secondary{background:#efedff;color:#6252d9}.btn.white{background:white;color:#5947d6}.btn.outline{background:white;color:#5b4ada;border:1px solid #d8d3ff}.btn:disabled{opacity:.4;cursor:not-allowed}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:23px 0}.card{background:white;border:1px solid #e9eaf3;border-radius:17px;padding:22px}.card .label{font-size:13px;color:#7c859b}.metric{font-size:28px;font-weight:800;margin:10px 0 4px}.muted{color:#7b849a}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-top:22px}.action{border:1px solid #e8e7f5;background:white;border-radius:14px;padding:19px;text-align:left;display:flex;gap:14px;align-items:center;width:100%;margin:10px 0}.action:hover{border-color:#a99df5}.symbol{display:grid;place-items:center;width:42px;height:42px;background:#f0edff;color:#6252dd;border-radius:12px;font-size:22px}.action strong{display:block}.action small{color:#8590a4}.pill{background:#f0edff;color:#6554dc;padding:7px 12px;border-radius:20px;font-size:12px;font-weight:800;display:inline-block}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:13px;font-weight:700}select,input,textarea{font:inherit;border:1px solid #dfe2ef;border-radius:11px;padding:12px;background:white;color:#18213a;width:100%}textarea{min-height:350px;line-height:1.8;resize:vertical}.options{display:grid;gap:11px;margin:24px 0}.option{padding:15px;border:1px solid #e2e5f0;border-radius:12px;background:white;text-align:left}.option.chosen{background:#eeecff;border-color:#6655e9}.option.correct{border-color:#26a779;background:#e7faf2}.option.wrong{border-color:#dc6868;background:#fff0f0}.question{font-size:19px;line-height:1.65;font-weight:600}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}.progress{height:9px;background:#e9e8f6;border-radius:10px;overflow:hidden;margin:18px 0}.progress div{height:100%;background:#7061e9}.list{display:grid;gap:11px}.list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f0f0f6}.badge{border-radius:9px;background:#f2f0ff;color:#6351df;padding:6px 10px;font-size:12px}.empty{padding:36px 16px;text-align:center;color:#8490a6}.hint{font-size:13px;color:#7d879a;line-height:1.7}.mobile-nav{display:none}.print-only{display:none}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}main{padding:28px 24px 90px}.sidebar{width:210px}}@media(max-width:700px){.sidebar{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:white;justify-content:space-around;border-top:1px solid #e7e9f2;padding:9px 2px max(9px,env(safe-area-inset-bottom))}.mobile-nav button{border:0;background:white;color:#7c849c;font-size:22px;display:grid;gap:2px;justify-items:center}.mobile-nav button.active{color:#6554e8}.mobile-nav small{font-size:10px}main{padding:22px 16px 95px}h1{font-size:24px}.hero{padding:24px}.hero h2{font-size:23px}.hero-art{display:none}.grid2{grid-template-columns:1fr}.cards{gap:10px}.card{padding:15px}.metric{font-size:23px}}@media print{body{background:white}.sidebar,.mobile-nav,header,.no-print{display:none!important}main{padding:0;max-width:none}.print-only{display:block}.card{border:0;padding:0}.question{font-size:14px}.print-question{break-inside:avoid;margin:18px 0}.print-options{font-size:12px;line-height:2}.sheet-row{margin:9px 0;font-size:13px}}

.mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.mode-tab{border:1px solid #dedcf4;background:#fff;color:#514b75;border-radius:12px;padding:13px 17px;font:inherit;font-weight:700;cursor:pointer}.mode-tab.selected{background:#eeeaff;color:#5e4ce2;border-color:#7a6af0}.notice{background:#f6f5ff;border:1px solid #e6e3fc;border-radius:14px;padding:20px;margin-top:18px}.notice p{line-height:1.7}.notice a.btn{display:inline-block;text-decoration:none;margin-top:5px}.question-grid{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.q-jump{width:39px;height:39px;border-radius:9px;background:#f5f5fa;border:1px solid #ddddea;color:#3b4160;cursor:pointer}.q-jump.answered{background:#d9f5e9;border-color:#8ac9ab}.q-jump.current{outline:2px solid #6655e9}.q-jump.flagged{box-shadow:inset 0 -4px #e8a73a}@media(max-width:700px){.mode-tab{flex:1 1 100%;text-align:left}.notice{padding:14px}}

.booklet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.booklet{background:#fff;border:1px solid #e3e1f7;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:12px}.booklet span{color:#707b96;font-size:13px}.booklet .btn{text-align:center;font-size:13px;padding:11px}.essay-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.essay-grade{border-top:1px solid #e5e2f4;padding:12px 0}.essay-grade p{margin:7px 0}.essay-buttons .btn{white-space:normal}

/* ENEM oficial: PDF e cartão-resposta lado a lado */
.official-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,1fr);gap:20px;margin-top:20px}.official-pdf{width:100%;height:78vh;min-height:570px;border:1px solid #dddff4;border-radius:14px;background:#fafaff}.answer-sheet{max-height:62vh;overflow-y:auto;border:1px solid #e4e5f5;border-radius:14px;padding:8px 12px;margin:12px 0}.answer-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 3px;border-bottom:1px solid #f0f0f6}.answer-line>div{display:flex;gap:5px}.answer-bubble{width:32px;height:32px;border-radius:50%;border:1px solid #cbc9f2;background:white;color:#514f70;cursor:pointer;font-weight:700}.answer-bubble.selected{background:#6550e9;color:white;border-color:#6550e9}@media(max-width:900px){.official-layout{grid-template-columns:1fr}.official-pdf{height:58vh;min-height:420px}.answer-sheet{max-height:460px}}

/* Guia de redação da versão 0.6 */
.essay-guide{align-self:start}.guide-part{border-top:1px solid #e8e8f3;padding:18px 0 7px}.guide-part h3{font-size:15px;color:#5145bd}.model-paragraph{font-size:14px;line-height:1.85;color:#26304b;background:#f8f8ff;padding:14px;border-radius:11px}.guide-tip{font-size:13px;line-height:1.7;color:#596680}.essay-checklist{padding-left:19px;line-height:1.8;font-size:13px}.essay-checklist li{margin-bottom:9px}

/* Login Supabase */
.auth-modal[hidden], [hidden] {display:none!important}
.auth-modal{position:fixed;inset:0;background:#121326a6;z-index:9999;display:grid;place-items:center;padding:18px}
.auth-panel{width:min(100%,440px);background:#fff;padding:28px;border-radius:18px;box-shadow:0 16px 50px #0003}
.auth-panel label{display:block;font-weight:600;margin:16px 0 8px}
.auth-panel input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #ccd0db;border-radius:9px;font:inherit}
.auth-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
#auth-message{min-height:20px;color:#6451a8}

/* v0.8 — autenticação obrigatória antes de exibir os estudos */
body.auth-locked .shell,body.auth-locked .mobile-nav{display:none!important}
body.auth-locked .auth-modal{background:linear-gradient(125deg,#f6f7ff,#e9e6ff)}
body.auth-locked .auth-panel{box-shadow:0 22px 65px #302a6b25}
.auth-loading{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;color:#6151d6;font-weight:800;background:#f7f7ff}
.auth-loading[hidden]{display:none!important}
body:not(.auth-locked) .auth-modal{background:#121326a6}

#signup-fields[hidden]{display:none!important}
.auth-panel{max-height:calc(100dvh - 36px);overflow-y:auto}
.auth-buttons button:disabled{opacity:.65;cursor:wait}

/* v1.1: aviso claro após cadastro com confirmação de e-mail */
.email-confirmation{text-align:center}
.email-confirmation-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#efebff;color:#6650e8;font-size:30px;margin:0 auto 14px}
.email-confirmation h2{margin:0 0 14px}
.email-confirmation p{color:#6b748b;line-height:1.55;margin:12px 0}
.email-confirmation .confirmation-email{color:#252b45;font-weight:700;overflow-wrap:anywhere}
.email-confirmation .confirmation-tip{background:#f6f4ff;border-radius:10px;padding:12px;font-size:14px}
.email-confirmation .btn{margin-top:12px}

/* Recuperação de senha — mantém o layout original */
.password-recovery[hidden],#recovery-email-form[hidden],#recovery-code-form[hidden],#recovery-password-form[hidden],#forgot-link-wrap[hidden]{display:none!important}
.password-recovery h3{margin:16px 0 8px;font-size:21px}
.password-recovery form .btn{margin:12px 8px 0 0}
#recovery-message{min-height:22px;color:#6451a8;line-height:1.45;overflow-wrap:anywhere}
.forgot-link-wrap{text-align:right;margin:8px 0}
.forgot-link{background:none;border:0;color:#6151d6;text-decoration:underline;font:inherit;cursor:pointer;padding:4px}
.password-recovery button:disabled{opacity:.6;cursor:wait}

/* Canal de suporte — acessível também antes do login e no celular */
.support-link{position:fixed;right:18px;bottom:18px;z-index:2147483646;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:11px 15px;border:1px solid #d9d4ff;border-radius:999px;background:#fff;color:#5948d8;text-decoration:none;font:600 13px/1.3 system-ui,-apple-system,Segoe UI,sans-serif;box-shadow:0 5px 20px #29205222}
.support-link:hover,.support-link:focus-visible{background:#f2f0ff;color:#4532c7;outline-offset:3px}
@media(max-width:600px){.support-link{right:10px;bottom:72px;font-size:12px;padding:9px 12px}}

/* Cadastro: aviso de e-mail da compra e ajuda para contas existentes */
.signup-purchase-notice{padding:13px 15px;border-radius:12px;background:#f0f1ff;border:1px solid #d8daf9;margin:15px 0;color:#27285c;font-size:14px;line-height:1.5}
.signup-purchase-notice p{margin:5px 0 0}
.signup-duplicate-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.signup-duplicate-actions .btn{flex:1;min-width:135px}

/* Perfil do aluno */
.profile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.profile-head h2{margin:0}
#profile-modal .auth-panel{width:min(100%,480px)}
#profile-modal h3{margin:20px 0 6px;font-size:1.05rem}
#profile-modal hr{border:0;border-top:1px solid #e5e3ef;margin:22px 0}
#profile-name-msg,#profile-password-msg{font-size:.9rem;color:#5543c9;min-height:1.2em}
