.concurser-professor,.concurser-upload{max-width:850px;margin:24px auto;padding:28px;border-radius:22px;background:linear-gradient(145deg,#071429,#0b2450);color:#fff;box-shadow:0 20px 50px rgba(4,26,63,.25)}.concurser-head h2{font-size:32px;margin:10px 0}.concurser-head p{color:#c6dcff}.concurser-badge{display:inline-block;padding:6px 12px;border-radius:999px;background:#0d7deb;color:#fff;font-weight:700}.concurser-professor label{display:block;margin:18px 0;font-weight:700}.concurser-professor textarea,.concurser-professor input{width:100%;margin-top:8px;border:1px solid #2a5590;border-radius:12px;padding:14px;background:#fff;color:#071429}.concurser-explain,.concurser-upload-btn{border:0;border-radius:12px;padding:14px 22px;background:linear-gradient(90deg,#0875ee,#16b8ff);color:#fff;font-weight:800;cursor:pointer}.concurser-output,.concurser-upload-result{margin-top:20px;padding:18px;border-radius:14px;background:rgba(255,255,255,.08);white-space:pre-wrap;min-height:30px}.concurser-notice{padding:16px;border-left:4px solid #0d7deb;background:#eef6ff}
.concurser-checkout,.concurser-library,.concurser-wallet{max-width:900px;margin:24px auto;padding:28px;border-radius:20px;background:#fff;box-shadow:0 12px 40px rgba(0,30,80,.12)}.concurser-price{font-size:32px;display:block;margin:18px 0;color:#0875ee}.concurser-bump{display:block;padding:16px;background:#eef7ff;border:1px dashed #0875ee;border-radius:12px;margin:15px 0}.concurser-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.concurser-library article{padding:20px;border:1px solid #dce7f5;border-radius:16px}.concurser-button,.concurser-subscribe-btn{display:inline-block;background:#0875ee;color:#fff;padding:12px 18px;border:0;border-radius:10px;text-decoration:none;font-weight:700}.concurser-library small{display:block;margin-top:12px;color:#667}

/* Resultado de pagamento */
.concurser-payment-result{margin-top:16px}
.concurser-status{padding:12px 14px;border-radius:8px;font-weight:600;background:#f0f0f1}
.concurser-status-approved{background:#e6f6ec;color:#1e7e34}
.concurser-status-pending,.concurser-status-in_process{background:#fff8e1;color:#8a6d00}
.concurser-status-rejected{background:#fdecea;color:#b32d2e}
.concurser-pix{text-align:center;margin:12px 0}
.concurser-pix img{max-width:240px;width:100%;height:auto;border:1px solid #ddd;border-radius:8px;padding:8px;background:#fff}
.concurser-pix-code{width:100%;font-size:12px;word-break:break-all}
.concurser-copy-pix{margin-top:6px;cursor:pointer;padding:8px 14px;border:1px solid #2271b1;background:#2271b1;color:#fff;border-radius:6px}
.concurser-copy-pix:hover{background:#135e96}

.concurser-payment-status{max-width:720px;margin:40px auto;padding:42px 28px;text-align:center;border-radius:24px;background:linear-gradient(145deg,#071225,#0b2142);border:1px solid rgba(47,145,255,.35);box-shadow:0 18px 60px rgba(0,82,180,.18)}
.concurser-payment-status h2{font-size:34px;margin:14px 0;color:#fff}.concurser-payment-status p{font-size:17px;line-height:1.7;color:#cfe1ff;max-width:590px;margin:0 auto 24px}.concurser-payment-icon{width:76px;height:76px;margin:auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;background:linear-gradient(135deg,#0878ff,#13c6ff);color:#fff}.concurser-payment-failure .concurser-payment-icon{background:linear-gradient(135deg,#c73d4e,#ff7a59)}.concurser-payment-pending .concurser-payment-icon{background:linear-gradient(135deg,#d89000,#ffd34d);color:#172033}

/* v0.8.0 — Gerador de Apostilas e contexto do QR */
.concurser-gerador{max-width:860px;margin:0 auto}
.concurser-gerador-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0;padding:16px;background:#eef3f9;border:1px solid #c6d4e5;border-radius:10px}
.concurser-gerador-form .concurser-gerador-title,.concurser-gerador-form .concurser-generate-btn,.concurser-gerador-form .concurser-generate-result{grid-column:1/-1}
.concurser-gerador-form select,.concurser-gerador-form input{padding:9px 10px;border:1px solid #c6d4e5;border-radius:8px;background:#fff}
.concurser-generate-btn{background:#1e3a5f;color:#fff;border:0;border-radius:8px;padding:12px;font-weight:700;cursor:pointer}
.concurser-generate-btn:disabled{opacity:.6;cursor:wait}
.concurser-gerador-status{color:#5a6472}
.concurser-apostila-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.concurser-apostila-item{border:1px solid #c6d4e5;border-radius:10px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:6px}
.concurser-ctx-badge{background:#fdf6e3;border:1px solid #c9a227;border-radius:8px;padding:10px 12px;color:#5a4a10;font-size:.92em}

/* v0.10.0 — Landing de vendas, autenticação e área do aluno */
.concurser-landing{max-width:1080px;margin:0 auto;color:#1a2332}
.concurser-hero{text-align:center;padding:56px 24px 40px;background:linear-gradient(135deg,#1e3a5f 0%,#2c5282 100%);color:#fff;border-radius:16px;margin-bottom:36px}
.concurser-hero h1{font-size:2.2em;line-height:1.2;margin:0 0 16px;font-weight:800}
.concurser-hero p{font-size:1.15em;max-width:680px;margin:0 auto 28px;opacity:.94}
.concurser-button{display:inline-block;background:#1e3a5f;color:#fff;padding:13px 26px;border-radius:10px;font-weight:700;text-decoration:none;border:0;cursor:pointer;transition:transform .12s,box-shadow .12s}
.concurser-button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,58,95,.28)}
.concurser-button-small{padding:8px 16px;font-size:.9em}
.concurser-cta{background:#c9a227;color:#1a2332;font-size:1.1em;padding:16px 40px}
.concurser-cta:hover{box-shadow:0 8px 24px rgba(201,162,39,.42)}
.concurser-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:44px}
.concurser-features article{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:26px;box-shadow:0 2px 10px rgba(30,58,95,.06)}
.concurser-features h3{color:#1e3a5f;margin:0 0 10px;font-size:1.2em}
.concurser-features p{margin:0;color:#4a5568;line-height:1.55}
.concurser-plans{margin-bottom:44px}
.concurser-plans h2,.concurser-final-cta h2{text-align:center;color:#1e3a5f;font-size:1.7em;margin-bottom:26px}
.concurser-plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.concurser-plan{background:#fff;border:2px solid #e2e8f0;border-radius:14px;padding:28px 24px;text-align:center;display:flex;flex-direction:column;gap:10px}
.concurser-plan-sub{border-color:#c9a227;position:relative}
.concurser-plan-sub::before{content:"Assinatura";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#c9a227;color:#1a2332;font-size:.72em;font-weight:700;padding:3px 12px;border-radius:20px}
.concurser-plan h3{color:#1e3a5f;margin:0;font-size:1.25em}
.concurser-plan-price{font-size:1.9em;font-weight:800;color:#1a2332;margin:6px 0}
.concurser-plan-price small{font-size:.5em;font-weight:600;color:#718096}
.concurser-plan-credits{background:#eef3f9;color:#1e3a5f;font-weight:700;border-radius:8px;padding:6px 10px;font-size:.9em}
.concurser-plan .concurser-button{margin-top:auto}
.concurser-final-cta{text-align:center;background:#eef3f9;border-radius:16px;padding:44px 24px;margin-bottom:20px}
.concurser-final-cta p{color:#4a5568;margin-bottom:24px;font-size:1.05em}
/* Autenticação */
.concurser-auth{max-width:420px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px;box-shadow:0 4px 20px rgba(30,58,95,.08)}
.concurser-auth-tabs{display:flex;gap:8px;margin-bottom:22px;border-bottom:2px solid #edf2f7}
.concurser-tab{flex:1;background:none;border:0;padding:12px;font-size:1em;font-weight:700;color:#a0aec0;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.concurser-tab.active{color:#1e3a5f;border-bottom-color:#1e3a5f}
.concurser-auth-panel{display:flex;flex-direction:column;gap:12px}
.concurser-auth input{padding:12px 14px;border:1px solid #cbd5e0;border-radius:10px;font-size:1em}
.concurser-auth input:focus{outline:none;border-color:#1e3a5f;box-shadow:0 0 0 3px rgba(30,58,95,.12)}
.concurser-reg-website{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.concurser-login-btn,.concurser-register-btn{background:#1e3a5f;color:#fff;border:0;border-radius:10px;padding:13px;font-weight:700;font-size:1em;cursor:pointer}
.concurser-login-btn:disabled,.concurser-register-btn:disabled{opacity:.6;cursor:wait}
.concurser-auth-panel p{margin:4px 0 0;font-size:.9em;text-align:center}
.concurser-auth-result{margin-top:14px;text-align:center;color:#2d3748;min-height:1.2em}
/* Área do aluno logado */
.concurser-account{max-width:520px;margin:0 auto;text-align:center}
.concurser-account h2{color:#1e3a5f}
.concurser-account-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0}
.concurser-logout{color:#718096;font-size:.92em}
/* Aviso com botão de login */
.concurser-notice{background:#fdf6e3;border:1px solid #c9a227;border-radius:10px;padding:16px 18px;color:#5a4a10;display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}
@media(max-width:600px){.concurser-hero h1{font-size:1.7em}.concurser-hero{padding:40px 18px 30px}}

/* v0.10.0 — Landing por concurso (campanha) */
.concurser-hero-tag{display:inline-block;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:.85em;padding:6px 16px;border-radius:20px;margin-bottom:18px;letter-spacing:.02em}
.concurser-hero-stats{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.concurser-hero-stats div{background:rgba(255,255,255,.12);border-radius:12px;padding:14px 22px;min-width:110px}
.concurser-hero-stats strong{display:block;font-size:1.7em;font-weight:800;line-height:1}
.concurser-hero-stats span{font-size:.82em;opacity:.9}
.concurser-concurso-questions{margin-bottom:44px}
.concurser-concurso-questions h2{text-align:center;color:#1e3a5f;font-size:1.6em;margin-bottom:24px}
.concurser-qsample{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #c9a227;border-radius:10px;padding:18px 20px;margin-bottom:14px}
.concurser-qsample-meta{display:block;font-size:.78em;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.concurser-qsample p{margin:0;color:#2d3748;line-height:1.5}
.concurser-concurso-cta-mid{text-align:center;margin-top:24px}

/* v0.11.0 — abas de status no admin (carregado no admin também) */
.concurser-status-tabs a.current{font-weight:700;color:#1e3a5f}

/* v0.12.0 — Aulas em áudio */
.concurser-aulas{max-width:760px;margin:0 auto}
.concurser-aulas h2{color:#1e3a5f}
.concurser-aulas-hint{color:#5a6472;margin-bottom:18px}
.concurser-aulas-list{display:flex;flex-direction:column;gap:12px}
.concurser-aula{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;box-shadow:0 2px 8px rgba(30,58,95,.05)}
.concurser-aula-info h3{margin:0 0 4px;color:#1e3a5f;font-size:1.1em}
.concurser-aula-meta{font-size:.82em;color:#718096;text-transform:uppercase;letter-spacing:.02em}
.concurser-aula-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.concurser-aula-play,.concurser-aula-premium{border:0;border-radius:9px;padding:10px 18px;font-weight:700;cursor:pointer;font-size:.95em}
.concurser-aula-play{background:#1e3a5f;color:#fff}
.concurser-aula-premium{background:#fff;color:#1e3a5f;border:2px solid #c9a227}
.concurser-aula-premium:disabled{opacity:.6;cursor:wait}
.concurser-aula-status{margin-top:10px;font-size:.9em;color:#5a6472;min-height:1em}
.concurser-aula audio.cai-audio{width:100%;margin-top:12px}


/* v0.15.0 — Google OAuth 2.0 / OpenID Connect */
.concurser-google-btn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;box-sizing:border-box;background:#fff;color:#202124;border:1px solid #dadce0;border-radius:10px;padding:12px 16px;font-weight:700;text-decoration:none;margin-bottom:16px;transition:background .15s,border-color .15s,box-shadow .15s}
.concurser-google-btn:hover{background:#f8fafd;border-color:#c8ccd0;box-shadow:0 2px 8px rgba(60,64,67,.14);color:#202124}
.concurser-google-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:800;font-family:Arial,sans-serif;color:#4285f4;background:#fff;border:1px solid #e6e9ef}
.concurser-auth-divider{display:flex;align-items:center;gap:12px;color:#718096;font-size:.82em;margin:0 0 16px}
.concurser-auth-divider:before,.concurser-auth-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}
.concurser-auth-error{background:#fff5f5;border:1px solid #feb2b2;color:#9b2c2c;padding:10px 12px;border-radius:9px;margin-bottom:14px;font-size:.92em}

/* v0.16.0 — páginas legais públicas */
.concurser-legal{max-width:920px;margin:0 auto;color:#2d3748;line-height:1.72}
.concurser-legal h2{color:#1e3a5f;font-size:1.35rem;margin:32px 0 10px}
.concurser-legal p{margin:0 0 15px}
.concurser-legal a{color:#1e3a5f;text-decoration:underline;text-underline-offset:3px}
.concurser-legal-updated{background:#eef3f9;border-left:4px solid #c9a227;border-radius:8px;padding:12px 16px;margin-bottom:24px!important}
.concurser-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:32px 0 8px;font-size:.95rem}
.concurser-auth .concurser-legal-links{margin:14px 0 0;font-size:.82rem}

/* === Experiência v0.20.0 — componentes coesos === */
/* Spinner + estados de carregamento/erro */
.cai-spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-2px;margin-right:8px;animation:cai-rot .7s linear infinite}
.cai-loading .cai-spin{border-color:rgba(30,58,95,.25);border-top-color:#1e3a5f}
@keyframes cai-rot{to{transform:rotate(360deg)}}
.cai-loading{display:flex;align-items:center;gap:6px;color:#5a6472}
.cai-hint{color:#8a94a6;font-style:italic;margin:0}
.cai-error{color:#b32d2e;background:#fdecea;border-radius:8px;padding:10px 12px;margin:0}

/* Resposta formatada do Professor IA */
.concurser-professor-sub{color:#c6dcff;margin:2px 0 14px}
.cai-answer{background:rgba(255,255,255,.97);color:#1a2332;border-radius:12px;padding:18px 20px;line-height:1.65}
.cai-answer h3{color:#1e3a5f;font-size:1.12em;margin:16px 0 8px}
.cai-answer h4{color:#1e3a5f;font-size:1em;margin:14px 0 6px}
.cai-answer h3:first-child,.cai-answer h4:first-child{margin-top:0}
.cai-answer p{margin:0 0 12px}
.cai-answer ul,.cai-answer ol{margin:0 0 12px;padding-left:22px}
.cai-answer li{margin:4px 0}
.cai-answer code{background:#eef3f9;border-radius:5px;padding:1px 6px;font-size:.92em}
.cai-answer strong{color:#111}

/* Painel do aluno (dashboard) */
.concurser-dashboard{max-width:860px;text-align:left}
.concurser-dash-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#1e3a5f,#2c5282);color:#fff;border-radius:16px;padding:24px 26px}
.concurser-dash-hello{opacity:.85;font-size:.95em}
.concurser-dash-head h2{margin:2px 0 0;color:#fff;font-size:1.5em}
.concurser-dash-credits{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:rgba(255,255,255,.14);border-radius:12px;padding:12px 16px;min-width:150px}
.concurser-dash-credits span{font-size:.8em;opacity:.9}
.concurser-dash-credits strong{font-size:1.9em;line-height:1}
.concurser-dash-credits .concurser-button{margin-top:6px;background:#c9a227;color:#1a2332}
.concurser-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:20px 0}
.concurser-dash-card{display:flex;align-items:center;justify-content:center;text-align:center;min-height:74px;padding:16px;border-radius:14px;background:#fff;border:1px solid #e2e8f0;color:#1e3a5f;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s}
.concurser-dash-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,58,95,.14);border-color:#1e3a5f}
.concurser-dash-logout{text-align:center;margin-top:6px}

/* Carteira */
.concurser-wallet{max-width:520px;margin:24px auto;display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:26px;box-shadow:0 12px 40px rgba(0,30,80,.10)}
.concurser-wallet-label{color:#5a6472;font-size:.95em}
.concurser-wallet-value{font-size:2.6em;line-height:1;color:#1e3a5f}
.concurser-wallet .concurser-button{margin-top:10px}

/* Gerador — agrupamento e estados */
.concurser-gerador{max-width:880px}
.concurser-gerador h2{color:#1e3a5f}
.concurser-generate-result{grid-column:1/-1}
.concurser-generate-result .cai-loading{color:#1e3a5f;font-weight:600}
.concurser-generate-btn:hover{background:#16304f}

/* Página de preços [concurser_planos] (namespaced p/ não colidir com a landing) */
.concurser-pricing{max-width:1040px;margin:0 auto;padding:8px 0}
.concurser-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;align-items:stretch}
.concurser-pricing-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e3e8ef;border-radius:16px;padding:26px 24px}
.concurser-pricing-card--featured{border:2px solid #1e3a5f;box-shadow:0 8px 30px rgba(30,58,95,.12)}
.concurser-pricing-badge{position:absolute;top:-13px;left:24px;background:#1e3a5f;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px}
.concurser-pricing-name{margin:0 0 6px;font-size:20px;color:#1a2332}
.concurser-pricing-price{display:flex;align-items:baseline;gap:6px}
.concurser-pricing-price strong{font-size:30px;line-height:1;color:#111}
.concurser-pricing-price span{font-size:14px;color:#6b7280}
.concurser-pricing-note{margin:4px 0 16px;font-size:13px;color:#6b7280}
.concurser-pricing-features{list-style:none;margin:0 0 22px;padding:16px 0 0;border-top:1px solid #eef2f7;flex:1}
.concurser-pricing-features li{position:relative;padding:6px 0 6px 26px;font-size:14px;color:#374151}
.concurser-pricing-features li::before{content:"✓";position:absolute;left:0;top:6px;color:#16a34a;font-weight:700}
.concurser-pricing-cta{display:block;text-align:center;text-decoration:none;padding:12px 16px;border-radius:10px;font-weight:600;border:1px solid #1e3a5f;color:#1e3a5f;background:#fff;transition:all .15s}
.concurser-pricing-cta:hover{background:#f2f6fb}
.concurser-pricing-cta--primary{background:#1e3a5f;color:#fff}
.concurser-pricing-cta--primary:hover{background:#16304f;color:#fff}
.concurser-credit-packs{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px;padding:18px 22px;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:14px}
.concurser-credit-packs-title{font-weight:600;color:#1e3a5f}
.concurser-credit-pack{text-decoration:none;color:#374151;font-size:14px;padding:8px 14px;border:1px solid #dbe2ea;border-radius:10px;background:#fff}
.concurser-credit-pack:hover{border-color:#1e3a5f}
.concurser-credit-packs-note{flex-basis:100%;margin:2px 0 0;font-size:12px;color:#6b7280}

/* Responsividade geral */
@media(max-width:600px){
 .concurser-professor,.concurser-upload,.concurser-checkout,.concurser-library,.concurser-wallet{padding:20px;margin:16px auto}
 .concurser-dash-head{flex-direction:column;align-items:stretch}
 .concurser-dash-credits{align-items:center}
}

/* Resultado do pagamento */
.concurser-result{text-align:center;padding:8px 0}
.concurser-result .concurser-status{font-size:1.05em;font-weight:600;margin:0 0 12px;padding:14px 16px;border-radius:12px}
.concurser-result-approved .concurser-status{background:#e7f6ec;color:#1a7a3a;border:1px solid #b6e3c4}
.concurser-result-pending .concurser-status,.concurser-result-in_process .concurser-status{background:#fff7e6;color:#8a5a00;border:1px solid #f2dca6}
.concurser-result-rejected .concurser-status{background:#fdecea;color:#b32d2e;border:1px solid #f5c2c0}
.concurser-result .concurser-button{margin-top:6px}
.concurser-result .concurser-pix img{max-width:220px;margin:8px auto;display:block}

/* Menu de navegação do aluno */
.concurser-nav{display:flex;align-items:center;gap:16px;max-width:1040px;margin:0 auto 22px;padding:10px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 18px rgba(0,30,80,.06);position:relative;flex-wrap:wrap}
.concurser-nav-brand{font-weight:800;color:#1e3a5f;text-decoration:none;font-size:1.05em;white-space:nowrap}
.concurser-nav-body{display:flex;align-items:center;gap:16px;flex:1;justify-content:space-between}
.concurser-nav-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.concurser-nav-link{color:#3a4658;text-decoration:none;padding:8px 12px;border-radius:9px;font-weight:600;font-size:.95em;transition:background .12s,color .12s}
.concurser-nav-link:hover{background:#f2f6fb;color:#1e3a5f}
.concurser-nav-link.is-active{background:#1e3a5f;color:#fff}
.concurser-nav-right{display:flex;align-items:center;gap:10px}
.concurser-nav-credits{background:#fff7e6;color:#8a5a00;border:1px solid #f2dca6;border-radius:999px;padding:6px 12px;font-weight:700;font-size:.9em;text-decoration:none;white-space:nowrap}
.concurser-nav-credits.is-active{background:#1e3a5f;color:#fff;border-color:#1e3a5f}
.concurser-nav-logout,.concurser-nav-login{color:#1e3a5f;text-decoration:none;font-weight:600;padding:8px 12px;border-radius:9px;border:1px solid #cbd5e1}
.concurser-nav-logout:hover,.concurser-nav-login:hover{background:#f2f6fb}
.concurser-nav-toggle{display:none;background:none;border:0;font-size:1.5em;line-height:1;color:#1e3a5f;cursor:pointer;margin-left:auto;padding:4px 8px}
@media(max-width:760px){
 .concurser-nav-toggle{display:block}
 .concurser-nav-body{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:10px}
 .concurser-nav.open .concurser-nav-body{display:flex}
 .concurser-nav-links{flex-direction:column;align-items:stretch}
 .concurser-nav-link{padding:12px}
 .concurser-nav-right{justify-content:space-between}
}

/* Página do QR (leitura de explicação pronta) */
.concurser-question-view{background:rgba(255,255,255,.97);color:#1a2332;border-radius:12px;padding:16px 18px;margin-bottom:14px;line-height:1.6}
.concurser-qr-upsell{margin-top:16px;padding:14px 16px;background:rgba(255,255,255,.12);border-radius:12px;font-size:.95em}
.concurser-qr-upsell a{color:#ffd977;font-weight:700}

/* Provas enviadas pelo aluno */
.concurser-provas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:12px}
.concurser-prova-item{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px}
.concurser-prova-item strong{color:#1e3a5f}
.concurser-prova-item small{color:#6b7280}
.concurser-prova-item .concurser-button{margin-top:6px;text-align:center}

/* Envio de prova com metadados */
.concurser-upload-sub{color:#c6dcff;margin:2px 0 14px}
.concurser-upload-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}
.concurser-upload-meta input,.concurser-meta-gabarito{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;font-size:15px}
.concurser-meta-gabarito{margin-bottom:12px;font-family:inherit}
.concurser-extract-btn{margin-top:12px;width:100%;text-align:center}
.concurser-button-secondary{background:#fff;color:#1e3a5f;border:1px solid #1e3a5f;box-shadow:none}
.concurser-button-secondary:hover{background:#f4f8fd;box-shadow:none}
summary.concurser-button{list-style:none;cursor:pointer;display:inline-block}summary.concurser-button::-webkit-details-marker{display:none}
.concurser-prova-ok{color:#1a7a3a!important;font-weight:600}
.concurser-extract-result:empty{display:none}

/* Estudo questão por questão */
.concurser-estudo,.concurser-estudar{max-width:860px;margin:0 auto}
.cai-progress{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px;margin-bottom:18px;position:sticky;top:10px;z-index:5}
.cai-progress-bar{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}
.cai-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#1e3a5f,#2c5282);transition:width .3s}
.cai-progress-text{margin-top:8px;font-size:14px;color:#4b5563;font-weight:600}
.cai-q{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px 24px;margin-bottom:16px}
.cai-q.is-answered{border-color:#b6e3c4;background:#fbfffc}
.cai-q-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cai-q-num{background:#1e3a5f;color:#fff;font-size:13px;font-weight:700;padding:4px 12px;border-radius:99px}
.cai-q-disc{color:#6b7280;font-size:13px}
.cai-q-statement{color:#1a2332;line-height:1.7;margin-bottom:14px}
.cai-alts{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.cai-alt{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:border-color .12s,background .12s}
.cai-alt:hover{border-color:#1e3a5f;background:#f7fafd}
.cai-alt input{margin-top:4px}
.cai-alt-letter{font-weight:800;color:#1e3a5f;min-width:18px}
.cai-answer-btn{background:#1e3a5f;color:#fff;border:0;padding:12px 22px;border-radius:10px;font-weight:700;cursor:pointer}
.cai-answer-btn:hover{background:#16304f}
.cai-verdict{font-weight:700;padding:12px 14px;border-radius:10px;margin:0 0 12px}
.cai-ok{background:#e7f6ec;color:#1a7a3a}
.cai-no{background:#fdecea;color:#b32d2e}
.cai-neutral{background:#eef4fb;color:#1e3a5f}
.cai-q .cai-answer{background:#f7fafd;border:1px solid #e6eef7}
.concurser-button-study{background:#1e3a5f}

/* Sessão de estudo — foco em uma questão */
.cai-progress{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px 18px;margin-bottom:18px}
.cai-progress-top{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:#4b5563;margin-bottom:8px}
.cai-progress-acc{color:#1a7a3a}
.cai-q-actions{display:flex;gap:10px;align-items:center}
.cai-prev-btn{background:none;border:1px solid #cbd5e1;color:#4b5563;padding:12px 18px;border-radius:10px;font-weight:600;cursor:pointer}
.cai-prev-btn:hover{background:#f2f6fb}
.cai-next-wrap{margin-top:16px}
.cai-next-btn{background:#c9a227;color:#1a2332;border:0;padding:13px 26px;border-radius:10px;font-weight:800;cursor:pointer;font-size:15px}
.cai-next-btn:hover{background:#b8941f}

/* Tela de resultado */
.cai-resultado{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:32px 28px;text-align:center}
.cai-score{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px}
.cai-score-num{font-size:56px;font-weight:800;color:#1e3a5f;line-height:1}
.cai-score-num small{font-size:26px;color:#94a3b8;font-weight:600}
.cai-score-pct{font-size:16px;color:#4b5563;font-weight:700}
.cai-score-msg{color:#4b5563;margin-bottom:22px}
.cai-foco{background:#fff7e6;border:1px solid #f2dca6;border-radius:14px;padding:20px;text-align:left;margin-bottom:22px}
.cai-foco-tag{display:inline-block;background:#c9a227;color:#1a2332;font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;margin-bottom:8px}
.cai-foco p{margin:0 0 12px;color:#4b5563}
.cai-res-sub{text-align:left;font-size:17px;color:#1e3a5f;margin:0 0 12px}
.cai-disc-list{display:flex;flex-direction:column;gap:12px;text-align:left;margin-bottom:22px}
.cai-disc-top{display:flex;justify-content:space-between;font-size:14px;color:#374151;margin-bottom:5px}
.cai-disc-bar{height:8px;background:#eef2f7;border-radius:99px;overflow:hidden}
.cai-disc-bar span{display:block;height:100%;border-radius:99px}
.cai-disc-bar.cai-ok span{background:#16a34a}
.cai-disc-bar.cai-mid span{background:#c9a227}
.cai-disc-bar.cai-low span{background:#dc2626}
.cai-res-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.cai-restart-btn{background:none;border:1px solid #1e3a5f;color:#1e3a5f;padding:12px 22px;border-radius:10px;font-weight:700;cursor:pointer}
.cai-restart-btn:hover{background:#f2f6fb}

/* Próximo passo no painel */
.concurser-next{background:linear-gradient(135deg,#fff7e6,#fffdf7);border:1px solid #f2dca6;border-left:5px solid #c9a227;border-radius:16px;padding:22px 24px;margin:18px 0}
.concurser-next-tag{display:inline-block;background:#c9a227;color:#1a2332;font-size:12px;font-weight:800;padding:3px 10px;border-radius:99px;margin-bottom:8px}
.concurser-next h3{margin:0 0 6px;color:#1e3a5f;font-size:20px}
.concurser-next p{margin:0 0 14px;color:#5a6472}

/* Progresso de tarefa em segundo plano */
.cai-job{background:#f7fafd;border:1px solid #dbe6f3;border-radius:12px;padding:14px 16px;margin-top:8px}
.cai-job-top{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e3a5f;margin-bottom:8px;font-size:14px}
.cai-job small{display:block;margin-top:8px;color:#6b7280;font-size:12px}

/* Contagem ao vivo do Gerador */
.concurser-count-live{grid-column:1/-1;margin:4px 0 6px}
.cai-count{display:inline-block;background:#eef4fb;color:#1e3a5f;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}
.cai-count-zero{background:#fdecea;color:#b32d2e}
.cai-count-loading{color:#6b7280;font-size:14px}
.concurser-generate-btn:disabled{opacity:.55;cursor:not-allowed}

.cai-answer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(148,163,184,.18);flex-wrap:wrap}.concurser-read-answer{border:1px solid #1d4ed8;background:#07152e;color:#dbeafe;border-radius:10px;padding:10px 14px;cursor:pointer}.cai-answer-tools small{opacity:.72}.concurser-next{position:relative;overflow:hidden}.concurser-next:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#0ea5e9}

/* Fluxo guiado após o envio da prova */
.cai-flow-steps{display:grid;gap:8px;margin:14px 0}.cai-flow-steps>div{padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.08);color:#b8c7df}.cai-flow-steps>div.done{color:#85efae}.cai-flow-steps>div.active{background:rgba(0,153,255,.18);color:#fff;font-weight:700}.cai-flow-success,.cai-flow-saved{display:grid;gap:10px}.cai-flow-success strong,.cai-flow-saved strong{font-size:20px}.cai-flow-success .concurser-button,.cai-flow-saved .concurser-button{width:max-content}

.cai-optional{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:#eef2ff;font-size:12px;font-weight:700}.cai-choice{display:block;margin:9px 0;cursor:pointer}.cai-gabarito-file-wrap,.cai-gabarito-paste-wrap{margin-top:10px}.cai-answer-key-status{margin:12px 0;padding:12px;border-radius:12px;background:#f7f8fa}.cai-answer-key-status.has-key{background:#eefbf3}.cai-answer-key-status button,.cai-answer-key-status summary{margin:8px 6px 0 0}.cai-later-answer-key{display:inline-block;margin-top:0;vertical-align:top}.cai-answer-key-form{margin-top:10px;padding:14px;border:1px solid #d8e2ee;border-radius:12px;background:#fff}.cai-answer-key-form label{display:block;margin-top:8px;font-weight:700;color:#1e3a5f}.cai-later-answer-key textarea,.cai-later-answer-key input{width:100%;margin:6px 0;box-sizing:border-box}.cai-answer-key-result{margin-top:8px}

/* v0.32.5 — estados visuais blindados contra estilos rosa do tema/Elementor */
.concurser-library .concurser-button,
.concurser-library button.concurser-button,
.concurser-library summary.concurser-button{
  background:#1e3a5f!important;border:1px solid #1e3a5f!important;color:#fff!important;
  text-decoration:none!important;box-shadow:none!important;accent-color:#1e3a5f!important;
}
.concurser-library .concurser-button:hover,
.concurser-library .concurser-button:focus,
.concurser-library .concurser-button:focus-visible,
.concurser-library .concurser-button:active,
.concurser-library .concurser-button:visited,
.concurser-library button.concurser-button:hover,
.concurser-library button.concurser-button:focus,
.concurser-library button.concurser-button:active,
.concurser-library summary.concurser-button:hover,
.concurser-library summary.concurser-button:focus,
.concurser-library summary.concurser-button:active{
  background:#16304f!important;border-color:#16304f!important;color:#fff!important;
  outline:3px solid rgba(30,58,95,.22)!important;outline-offset:2px!important;
  text-decoration:none!important;box-shadow:none!important;
}
.concurser-library .concurser-button-secondary,
.concurser-library button.concurser-button-secondary,
.concurser-library summary.concurser-button-secondary{
  background:#fff!important;color:#1e3a5f!important;border:1px solid #1e3a5f!important;
}
.concurser-library .concurser-button-secondary:hover,
.concurser-library .concurser-button-secondary:focus,
.concurser-library .concurser-button-secondary:active{
  background:#eef4fb!important;color:#16304f!important;border-color:#16304f!important;
}

.concurser-prova-warn{display:block;color:#b45309;font-weight:600;margin:.35rem 0}
.concurser-repair-btn{background:#b45309;border-color:#b45309}
.cai-progress-warn{display:block;color:#b45309;margin-top:.35rem}
.cai-progress-resume{display:block;color:#2563eb;margin-top:.35rem}

.concurser-modo-tabs{display:flex;gap:.5rem;margin:.75rem 0 1rem}
.concurser-modo-btn{padding:.55rem 1rem;border-radius:999px;border:1px solid #c6d4e5;background:#fff;cursor:pointer;font-weight:600}
.concurser-modo-btn.is-active{background:#1e3a5f;border-color:#1e3a5f;color:#fff}
.concurser-curso-cta{background:#eef3f9;border:1px solid #c6d4e5;border-radius:12px;padding:1.25rem}
.concurser-curso-pdf{margin-top:1rem;display:flex;flex-direction:column;gap:.35rem}

/* v0.53 — Central de Materiais e Edital Intelligence Foundation */
.cai-material-type{margin:18px 0;padding:16px;border:1px solid #d9d9d9;border-radius:12px;background:#fff}
.cai-material-type>strong{display:block;margin-bottom:10px}
.cai-file-label{display:block;margin:14px 0;font-weight:700}
.cai-file-label input{display:block;width:100%;margin-top:8px;padding:12px;border:1px dashed #777;border-radius:10px;background:#fff;color:#111}
.cai-edital-item{border-left:4px solid #111}
.cai-edital-summary{margin-top:14px;padding:16px;border-radius:12px;background:#f5f5f5;color:#111}
.cai-edital-summary p{margin:6px 0}
.cai-material-badge{display:inline-block;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}

/* v0.54 — UX da Central de Materiais */
.concurser-upload{max-width:760px;margin:0 auto;padding:30px 28px;border-radius:20px;background:#0b2348;color:#fff;box-shadow:0 20px 50px rgba(5,22,48,.18)}
.cai-upload-heading h3{margin:6px 0 8px;font-size:28px;line-height:1.2;color:#fff}
.cai-step-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:#79c9f1}
.concurser-upload-sub{max-width:680px;margin:0;color:#d9e7f6;line-height:1.55}
.cai-material-type{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 16px;padding:0;border:0;background:transparent}
.cai-material-card{display:flex;gap:13px;align-items:flex-start;min-height:105px;padding:16px;border:2px solid #d8e2ef;border-radius:14px;background:#fff;color:#13233b;cursor:pointer;transition:.18s ease;box-sizing:border-box}
.cai-material-card:hover{transform:translateY(-1px);border-color:#7bc9ef}
.cai-material-card.is-selected{border-color:#12aeea;box-shadow:0 0 0 3px rgba(18,174,234,.18)}
.cai-material-card input{position:absolute;opacity:0;pointer-events:none}
.cai-material-card>span:last-child{display:flex;flex-direction:column;gap:5px}
.cai-material-card strong{font-size:16px;color:#0c2241}
.cai-material-card small{font-size:13px;line-height:1.42;color:#5b6b80}
.cai-material-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#eaf5fb;color:#0b8fc7;font-size:18px;font-weight:900}
.cai-material-card.is-selected .cai-material-icon{background:#10aee9;color:#fff}
.cai-upload-context{display:flex;flex-direction:column;gap:3px;margin:18px 0 10px}
.cai-context-title{font-size:17px;color:#fff}
.cai-context-text{font-size:13px;color:#c9d9eb}
.cai-file-drop{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border:2px dashed #8eadd2;border-radius:14px;background:#fff;color:#12233f;cursor:pointer;transition:.18s ease}
.cai-file-drop:hover,.cai-file-drop:focus-within{border-color:#10aee9;background:#f8fdff}
.cai-file-drop.has-file{border-style:solid;border-color:#20a96b;background:#f5fffa}
.cai-file-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.cai-file-drop-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#eaf5fb;color:#0b8fc7;font-size:25px;font-weight:800}
.cai-file-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.cai-file-copy strong{color:#0c2241}
.cai-file-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#65748a}
.cai-file-action{padding:9px 12px;border-radius:9px;background:#e9f4fb;color:#0b6d9b;font-size:12px;font-weight:800;white-space:nowrap}
.cai-advanced-meta,.concurser-answer-key-box{margin-top:14px;padding:0;border:1px solid rgba(198,218,241,.32);border-radius:12px;background:rgba(255,255,255,.06);overflow:hidden}
.cai-advanced-meta summary,.concurser-answer-key-box summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-weight:750;color:#fff;list-style:none}
.cai-advanced-meta summary::-webkit-details-marker,.concurser-answer-key-box summary::-webkit-details-marker{display:none}
.cai-advanced-meta summary:after,.concurser-answer-key-box summary:after{content:'+';margin-left:auto;color:#7fd3f6;font-size:20px;line-height:1}
.cai-advanced-meta[open] summary:after,.concurser-answer-key-box[open] summary:after{content:'–'}
.cai-advanced-meta summary span,.concurser-answer-key-box summary span{padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#d4e7fa}
.cai-meta-help,.cai-advanced-meta>.cai-hint,.concurser-answer-key-box>.cai-hint{margin:0;padding:0 16px 12px;color:#c7d8ea}
.concurser-upload-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px}
.concurser-upload-meta label{display:flex;flex-direction:column;gap:6px;color:#dfeafa;font-size:12px;font-weight:700}
.concurser-upload-meta input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c8d5e5;border-radius:9px;background:#fff;color:#14233a;box-sizing:border-box}
.cai-answer-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px}
.cai-choice{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid rgba(211,228,246,.32);border-radius:9px;color:#eef6ff;cursor:pointer}
.cai-choice input{accent-color:#10aee9}
.cai-gabarito-file-wrap,.cai-gabarito-paste-wrap{padding:0 16px 16px}
.cai-gabarito-paste-wrap textarea,.cai-gabarito-file-wrap input{width:100%;box-sizing:border-box}
.cai-upload-actions{display:flex;align-items:center;gap:14px;margin-top:18px}
.concurser-upload-btn{min-height:46px;padding:0 20px;border:0;border-radius:10px;background:linear-gradient(90deg,#1674e8,#11b9e8);color:#fff;font-weight:800;cursor:pointer}
.concurser-upload-btn:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.25)}
.cai-privacy-note{max-width:330px;color:#bed1e6;line-height:1.4}
.concurser-upload-result:empty{display:none}
.concurser-upload-result:not(:empty){margin-top:16px}
@media(max-width:680px){.concurser-upload{padding:22px 16px;border-radius:16px}.cai-material-type,.concurser-upload-meta,.cai-answer-options{grid-template-columns:1fr}.cai-file-action{display:none}.cai-upload-actions{align-items:stretch;flex-direction:column}.concurser-upload-btn{width:100%}.cai-privacy-note{max-width:none;text-align:center}}


/* v0.55 — Meus Cursos: gestão real de provas e aulas */
.concurser-course-library{max-width:1100px}
.cai-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:18px 0 22px}.cai-page-head h2{margin:4px 0 6px;font-size:30px}.cai-page-head p{margin:0;color:#64748b;max-width:680px;line-height:1.55}
.cai-library-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:12px;color:#64748b}.cai-library-summary strong{font-size:24px;color:#0b2348}
.concurser-course-library .concurser-provas-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.concurser-course-library .concurser-prova-item{position:relative;gap:12px;padding:20px;border-radius:18px;min-width:0;box-shadow:0 8px 24px rgba(15,35,65,.06)}
.cai-course-card-head{display:flex;justify-content:space-between;align-items:center}.cai-card-menu-toggle{border:0;background:#f1f5f9;color:#334155;border-radius:9px;width:38px;height:34px;cursor:pointer;font-weight:800;letter-spacing:2px}
.cai-course-title{margin:0;color:#0b2348;font-size:18px;line-height:1.35;overflow-wrap:anywhere}.cai-course-metrics{display:flex;flex-wrap:wrap;gap:8px}.cai-course-metrics span{padding:7px 9px;background:#f5f8fc;border-radius:9px;color:#64748b;font-size:12px}.cai-course-metrics strong{color:#0b2348;font-size:14px}
.cai-course-status{margin:0;font-size:13px;font-weight:700;display:flex;align-items:center;gap:7px}.cai-course-status.is-ready{color:#16713a}.cai-course-status.is-warning{color:#a35408}.cai-course-status.is-processing{color:#175ca8}
.cai-course-actions{display:grid;gap:8px;margin-top:auto}.cai-course-actions .concurser-button,.cai-course-actions button{width:100%;text-align:center;box-sizing:border-box}
.cai-card-menu{position:absolute;z-index:8;right:18px;top:56px;width:190px;padding:7px;background:#fff;border:1px solid #dbe4ef;border-radius:12px;box-shadow:0 16px 35px rgba(15,35,65,.16)}.cai-card-menu button,.cai-card-menu a{display:block;width:100%;box-sizing:border-box;border:0;background:none;padding:10px 11px;text-align:left;text-decoration:none;color:#23354d;border-radius:8px;cursor:pointer;font:inherit}.cai-card-menu button:hover,.cai-card-menu a:hover{background:#f2f6fb}.is-danger{color:#b42318!important}
.cai-rename-form{padding:13px;background:#f6f8fb;border-radius:12px}.cai-rename-form label,.cai-lesson-editor label{display:block;font-weight:700;color:#1e293b}.cai-rename-form input,.cai-lesson-editor input,.cai-lesson-editor textarea{width:100%;box-sizing:border-box;margin:6px 0 10px;padding:10px 11px;border:1px solid #cbd5e1;border-radius:9px;font:inherit}.cai-rename-form>div,.cai-lesson-editor>div{display:flex;gap:8px}
.cai-empty-state{text-align:center;padding:42px 24px;background:#f7f9fc;border:1px dashed #b9c8da;border-radius:18px}.cai-empty-state h3{margin-top:0}
.concurser-aula-controls{display:flex!important;flex-wrap:wrap;gap:7px}.concurser-aula-controls button{border:1px solid #c6d4e5;background:#fff;color:#173a67;border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:700}.concurser-aula-controls .concurser-aula-play{background:#173a67;color:#fff}.cai-lesson-editor{width:100%;margin-top:12px;padding:14px;background:#f4f7fb;border:1px solid #d9e3ef;border-radius:12px}.cai-lesson-editor textarea{min-height:240px;resize:vertical;line-height:1.55}
@media(max-width:700px){.cai-page-head{flex-direction:column}.cai-page-head .concurser-button{width:100%;text-align:center}.concurser-course-library .concurser-provas-grid{grid-template-columns:1fr}.cai-rename-form>div,.cai-lesson-editor>div{flex-direction:column}}


/* v0.57 Student Experience Foundation */
.cai-study-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:18px}.cai-study-hero h2{margin:4px 0 6px}.cai-study-hero p{margin:0;max-width:720px}.cai-trust-notice{border:1px solid #d8dde5;border-left:5px solid #111827;background:#f8fafc;border-radius:12px;padding:16px 18px;margin:0 0 18px}.cai-trust-notice strong{display:block;margin-bottom:5px}.cai-trust-notice p{margin:0;line-height:1.55;color:#374151}.cai-freshness-badge{margin-left:auto;font-size:12px;font-weight:700;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px}.cai-question-tools{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 10px}.cai-question-tools button,.cai-note-panel button,.cai-report-panel button{appearance:none;border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:9px;padding:9px 12px;font-weight:700;cursor:pointer}.cai-question-tools button:hover,.cai-question-tools button.is-active{border-color:#111827;background:#111827;color:#fff}.cai-note-panel,.cai-report-panel{border:1px solid #dbe2ea;background:#f8fafc;border-radius:12px;padding:14px;margin:10px 0 16px}.cai-note-panel label{font-weight:700}.cai-note-panel textarea,.cai-report-panel textarea,.cai-report-panel select{display:block;width:100%;box-sizing:border-box;margin:8px 0 10px;border:1px solid #cbd5e1;border-radius:9px;padding:10px;background:#fff;color:#111827}.cai-inline-status,.cai-report-status{display:inline-block;margin-left:10px;font-size:13px}.cai-success{color:#166534;font-weight:700}.cai-report-panel .cai-cancel-report{background:transparent}.cai-course-actions{flex-wrap:wrap}
@media(max-width:700px){.cai-study-hero{display:block}.cai-study-hero>a{display:block;margin-top:14px;text-align:center}.cai-freshness-badge{width:100%;margin:8px 0 0;text-align:center}.cai-q-head{flex-wrap:wrap}.cai-question-tools button{flex:1 1 45%}}

/* v0.58 Trust Center & Compliance */
.concurser-trust-gate{max-width:760px;margin:32px auto;padding:32px;border:1px solid #d8dde6;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.concurser-trust-gate h2{margin:8px 0 12px;font-size:clamp(1.55rem,3vw,2.2rem)}
.cai-trust-summary{margin:20px 0;padding:18px;border-radius:14px;background:#f6f8fb}.cai-trust-summary ul{margin:10px 0 0 20px}
.cai-legal-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;line-height:1.45}.cai-legal-check input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}.cai-legal-check a{text-decoration:underline}
.cai-registration-legal,.cai-upload-declaration{margin:14px 0;padding:14px;border:1px solid #d8dde6;border-radius:12px;background:#fafbfc}.cai-registration-legal .cai-legal-check{font-size:.9rem}
.cai-trust-result{margin-top:12px;font-weight:600}.cai-trust-notice-compact{margin:18px 0}.concurser-trust-center h2{margin-top:28px}.concurser-legal-updated{padding:12px 14px;background:#f6f8fb;border-radius:10px}
@media(max-width:640px){.concurser-trust-gate{margin:16px 10px;padding:22px 18px;border-radius:16px}}


/* v0.58.1 - Trust Center: estados consistentes, sem herdar rosa do tema. */
.cai-trust-form{margin:0}
.concurser-trust-gate .cai-trust-accept-btn,
.concurser-trust-gate .cai-trust-accept-btn:link,
.concurser-trust-gate .cai-trust-accept-btn:visited{
  appearance:none!important;-webkit-appearance:none!important;
  background:#1f426f!important;background-color:#1f426f!important;
  border:1px solid #1f426f!important;color:#fff!important;
  box-shadow:none!important;text-decoration:none!important;
  transition:background-color .18s ease,border-color .18s ease,transform .05s ease!important;
}
.concurser-trust-gate .cai-trust-accept-btn:hover{background:#17375f!important;border-color:#17375f!important;color:#fff!important}
.concurser-trust-gate .cai-trust-accept-btn:focus,
.concurser-trust-gate .cai-trust-accept-btn:focus-visible{background:#17375f!important;border-color:#17375f!important;color:#fff!important;outline:3px solid rgba(31,66,111,.24)!important;outline-offset:3px!important}
.concurser-trust-gate .cai-trust-accept-btn:active{background:#102b4d!important;border-color:#102b4d!important;color:#fff!important;transform:translateY(1px)}
.concurser-trust-gate .cai-trust-accept-btn:disabled{background:#718096!important;border-color:#718096!important;color:#fff!important;cursor:wait!important;opacity:1!important}
.concurser-trust-gate .cai-legal-check a,
.concurser-trust-gate .cai-legal-check a:hover,
.concurser-trust-gate .cai-legal-check a:focus,
.concurser-trust-gate .cai-legal-check a:active{color:#1f426f!important;text-decoration-color:#1f426f!important}
.concurser-trust-gate .cai-legal-check input{accent-color:#1f426f!important}
.cai-trust-result.cai-error{color:#9b1c1c!important;margin-top:12px}
.cai-trust-result.cai-success{color:#166534!important;margin-top:12px}

/* v0.59 — Curso por matérias e tópicos */
.cai-course-structure-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px;padding:20px;border:1px solid #dbe4ef;border-radius:16px;background:#f8fafc}.cai-course-structure-head h3{margin:0 0 5px}.cai-course-structure-head p{margin:0;color:#526276}.cai-subject-list{display:grid;gap:14px}.cai-subject{border:1px solid #dbe4ef;border-radius:16px;background:#fff;overflow:hidden}.cai-subject>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;background:#f8fafc;list-style:none}.cai-subject>summary::-webkit-details-marker{display:none}.cai-subject>summary strong{display:block;font-size:1.08rem;color:#10233f}.cai-subject>summary small{display:block;margin-top:3px;color:#617086}.cai-topic-list{padding:14px;display:grid;gap:12px}.cai-topic-kicker{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#285b9b;margin-bottom:5px}.cai-topic-list .concurser-aula{margin:0;border-left:4px solid #285b9b}@media(max-width:720px){.cai-course-structure-head{display:block}.cai-course-structure-head button{width:100%;margin-top:14px}.cai-subject>summary{padding:15px}.cai-topic-list{padding:10px}}


/* v0.60.0 — Declaração legível e Curso por Edital */
.concurser-upload .cai-upload-declaration{
  margin:14px 0 0!important;
  padding:14px 16px!important;
  border:1px solid #cbd8e8!important;
  border-radius:12px!important;
  background:#f8fafc!important;
  color:#172033!important;
  opacity:1!important;
}
.concurser-upload .cai-upload-declaration .cai-legal-check,
.concurser-upload .cai-upload-declaration .cai-legal-check span{
  color:#172033!important;
  opacity:1!important;
  text-shadow:none!important;
}
.concurser-upload .cai-upload-declaration input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
  accent-color:#0b8fc7!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
}
.cai-edital-course-progress{margin-top:14px;padding:15px 16px;border:1px solid #b9d9ea;border-radius:12px;background:#effaff;color:#14324b}
.cai-edital-course-progress strong{display:block;margin-bottom:5px;color:#0b2348}
.cai-edital-course-progress p{margin:5px 0;color:#35556f}
.cai-edital-course-progress .concurser-button{display:inline-block;margin-top:8px}

/* ===== v0.64 Curriculum Engine + Engenharia Pedagógica ===== */
.cai-stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0}
.cai-stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;text-align:center}
.cai-stat strong{display:block;font-size:1.4rem;color:#111827}
.cai-stat span{font-size:.8rem;color:#6b7280}
.cai-curriculum-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 16px}
.cai-tree-root,.cai-node-children{list-style:none;margin:0;padding:0}
.cai-node-children{margin-left:26px;padding-left:10px;border-left:2px solid #eef0f3}
.cai-node{margin:6px 0}
.cai-node-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}
.cai-node-discipline>.cai-node-row{background:#f4f6ff;border-color:#c9d4ff;font-weight:600}
.cai-node.is-dragging>.cai-node-row{opacity:.4}
.cai-node.is-dropover>.cai-node-row{outline:2px dashed #4f6df5;outline-offset:2px}
.cai-drag{cursor:grab;color:#9ca3af;user-select:none}
.cai-node-title{flex:1;min-width:0;overflow-wrap:anywhere}
.cai-node-badge{font-size:.72rem;background:#dcfce7;color:#166534;border-radius:999px;padding:2px 8px;white-space:nowrap}
.cai-node-badge.is-pending{background:#fef3c7;color:#92400e}
.cai-node-actions{display:flex;gap:4px}
.cai-node-actions button{border:1px solid #e5e7eb;background:#fff;border-radius:8px;width:26px;height:26px;cursor:pointer;color:#6b7280;line-height:1}
.cai-node-actions button:hover{background:#f3f4f6;color:#111827}
.cai-extras-panel{margin-top:12px;border-top:1px dashed #e5e7eb;padding-top:12px;width:100%}
.cai-extra-block{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;margin:12px 0}
.cai-extra-block h4{margin:0 0 8px}
.cai-extra-pitfalls{border-color:#fecaca;background:#fff7f7}
.cai-mindmap{background:#0f172a;color:#e2e8f0;border-radius:10px;padding:14px;overflow:auto;font-size:.85rem;line-height:1.5}
.cai-gami-bar{background:linear-gradient(120deg,#1e293b,#312e81);color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:6px}
.cai-gami-level{font-weight:700;font-size:1.05rem;margin-bottom:6px}
.cai-xp-bar{background:rgba(255,255,255,.2)}
.cai-xp-bar span{background:#facc15}
.cai-gami-meta{font-size:.8rem;opacity:.85;margin-top:6px}
.cai-badges{display:flex;flex-wrap:wrap;gap:8px}
.cai-badge{background:#fef9c3;border:1px solid #fde047;border-radius:999px;padding:4px 10px;font-size:.8rem}
.cai-curve{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:8px}
.cai-curve-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.cai-curve-col span{width:100%;max-width:34px;background:#4f6df5;border-radius:6px 6px 0 0;min-height:4px}
.cai-curve-col small{font-size:.65rem;color:#6b7280;margin-top:4px}
.cai-review-list{list-style:none;margin:0;padding:0}
.cai-review-list li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;margin:8px 0;background:#fff}
.cai-review-list li.is-done{opacity:.65}
.cai-review-list small{display:block;color:#6b7280}
.cai-review-summary{width:100%;border-top:1px dashed #e5e7eb;padding-top:10px}
.cai-flashcard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px;text-align:center}
.cai-flash-meta{font-size:.75rem;color:#6b7280;margin-bottom:10px}
.cai-flash-question{font-size:1.05rem;font-weight:600;margin-bottom:14px}
.cai-flash-answer{margin-top:12px;border-top:1px dashed #e5e7eb;padding-top:12px}
.cai-flash-grades{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.cai-grade{border:1px solid #e5e7eb;background:#f9fafb;border-radius:10px;padding:8px 14px;cursor:pointer}
.cai-grade[data-grade="0"]{border-color:#fca5a5;color:#b91c1c}
.cai-grade[data-grade="3"]{border-color:#86efac;color:#166534}
.cai-grade:hover{background:#eef2ff}
.cai-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
.cai-plan-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#374151}
.cai-plan-form input{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px}
.cai-plan-days{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 14px}
.cai-day{flex-direction:row!important;align-items:center;gap:4px!important;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:4px 10px;cursor:pointer}
.cai-schedule{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.cai-schedule-day{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}
.cai-schedule-day.has-simulado{border-color:#c9d4ff;background:#f8faff}
.cai-schedule-day ul{margin:8px 0 0;padding-left:18px;font-size:.85rem}
.cai-schedule-review{color:#6b7280}
.cai-schedule-simulado{color:#4f46e5;font-weight:600;list-style:none;margin-left:-18px}
.cai-lesson-complete{border:1px solid #86efac;background:#f0fdf4;color:#166534;border-radius:8px;padding:6px 10px;cursor:pointer}
.cai-lesson-extras{border:1px solid #c9d4ff;background:#f4f6ff;color:#3730a3;border-radius:8px;padding:6px 10px;cursor:pointer}
@media (max-width:640px){.cai-node-children{margin-left:12px}.cai-node-actions button{width:30px;height:30px}}

/* v0.64.2 — dica de data pré-preenchida do edital no plano de estudos */
.cai-plan-hint{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:var(--cai-muted,#8aa0b8)}

/* v0.64.7 — matérias por fase no resultado da análise do edital */
.cai-edital-phases{margin:14px 0 4px}
.cai-edital-phases h4{margin:0 0 8px;font-size:15px}
.cai-phase{border:1px solid var(--cai-border,#24313f);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:rgba(255,255,255,.02)}
.cai-phase-head{font-weight:700;color:var(--cai-accent,#5db4f5);margin-bottom:6px}
.cai-prova{margin:6px 0 6px 2px}
.cai-prova-name{font-weight:600;font-size:13px;margin-bottom:4px}
.cai-mat-list{list-style:none;margin:0;padding:0}
.cai-mat-list>li{margin:2px 0}
.cai-mat-list details{border:1px solid var(--cai-border,#24313f);border-radius:8px;padding:4px 10px;background:rgba(255,255,255,.02)}
.cai-mat-list summary{cursor:pointer;font-weight:600}
.cai-mat-count{font-weight:400;font-size:11px;color:var(--cai-muted,#8aa0b8);margin-left:6px}
.cai-mat-topics{margin:6px 0 4px 4px;padding-left:16px}
.cai-mat-topics li{margin:2px 0;font-size:13px;line-height:1.4}

/* v0.65.0 — Modo Quadro (aula animada) */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&display=swap');
.cai-qb-holder{margin:12px 0 4px}
.cai-qb-board{position:relative;background:#12352b;border:9px solid #7a5a37;border-radius:14px;height:340px;overflow:hidden;font-family:'Caveat','Comic Sans MS',cursive}
.cai-qb-board::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px);background-size:100% 30px;opacity:.5;pointer-events:none}
.cai-qb-stage{position:absolute;inset:18px;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.cai-qb-title{font-weight:700;color:#ffe9a8;font-size:24px}
.cai-qb-line{color:#eef6f0;font-size:22px;line-height:1.3}
.cai-qb-calc{color:#bfe8d2;font-size:23px;font-weight:700}
.cai-qb-warn{color:#ffd7d1;font-size:21px;line-height:1.3}
.cai-qb-warn-tag{background:#c0392b;color:#fff;font-family:var(--font-sans,sans-serif);font-size:12px;font-weight:700;padding:1px 8px;border-radius:6px;vertical-align:middle}
.cai-qb-hi{background:linear-gradient(#ffe57a,#ffe57a);color:#12352b;border-radius:6px;padding:0 4px}
.cai-qb-line .w,.cai-qb-calc .w,.cai-qb-title .w,.cai-qb-warn .w{opacity:0;transition:opacity .16s ease}
.cai-qb-dtitle{color:#ffe9a8;font-size:20px;font-weight:700}
.cai-qb-dia{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.cai-qb-box{opacity:0;transform:translateY(6px);transition:all .35s ease;border:2.5px solid #6fd3a3;border-radius:9px;padding:3px 11px;font-size:19px;font-weight:700;color:#d7fbe9;background:#1d8a5e22}
.cai-qb-box.on{opacity:1;transform:none}
.cai-qb-op{color:#9fe3c4;font-size:22px;font-weight:700}
.cai-qb-marker{position:absolute;width:28px;height:28px;left:-40px;top:-40px;transition:left .15s ease,top .15s ease;z-index:5;pointer-events:none}
.cai-qb-cap{min-height:20px;color:var(--cai-muted,#8aa0b8);font-size:13px;margin:8px 2px 0;line-height:1.45}
.cai-qb-ctl{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.cai-qb-speed{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cai-muted,#8aa0b8)}
.cai-qb-speed input{width:120px}
.cai-qb-spv{min-width:34px;font-weight:600;color:var(--cai-text,#e8eef5)}

/* v0.65.1 — cobertura, sugestões e crítica de relevância (efeito de rede) */
.cai-cov-sum{margin:2px 0 10px;font-size:13px;color:var(--cai-text,#e8eef5)}
.cai-cov{font-family:var(--font-sans,sans-serif);font-size:11px;font-weight:600;padding:1px 8px;border-radius:20px;margin-left:6px;white-space:nowrap}
.cai-cov.ok{background:#1d8a5e22;color:#5fd0a0;box-shadow:0 0 0 1px #1d8a5e55 inset}
.cai-cov.no{background:#8aa0b81a;color:var(--cai-muted,#8aa0b8);box-shadow:0 0 0 1px #8aa0b833 inset}
.cai-sugg{margin:12px 0 4px;display:flex;flex-direction:column;gap:8px}
.cai-sugg-item{font-size:13.5px;line-height:1.5;padding:10px 12px;border-radius:10px;border:1px solid var(--cai-border,#24313f);background:rgba(255,255,255,.02)}
.cai-sugg-item.is-suggest{border-color:#5db4f555;background:#5db4f512}
.cai-sugg-item.is-good{border-color:#1d8a5e55;background:#1d8a5e12}
.cai-sugg-item.is-warn{border-color:#e0913a55;background:#e0913a12}
.cai-relevance{margin:0 0 12px;border:1px solid var(--cai-border,#24313f);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.02)}
.cai-relevance.lvl-high{border-color:#1d8a5e66}
.cai-relevance.lvl-low{border-color:#c0392b66}
.cai-rel-head{font-weight:700;font-size:13.5px;margin-bottom:6px;color:var(--cai-text,#e8eef5)}
.cai-rel-item{font-size:13.5px;line-height:1.5;padding:6px 0;border-top:1px dashed var(--cai-border,#24313f)}
.cai-rel-item:first-of-type{border-top:0}
.cai-rel-item.is-warn{color:#f0b37e}
.cai-rel-item.is-good{color:#7fd9b0}

/* v0.65.3 — âncora do edital em cada aula */
.cai-edital-anchor{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:11.5px;font-weight:600;color:#5db4f5;background:#5db4f512;border:1px solid #5db4f533;border-radius:20px;padding:2px 10px;line-height:1.4}
