/* RP Academy 10.4: extensão dos estilos originais, sem substituí-los. */
.rp104-tabs,.rp104-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.rp104-tabs{margin-top:20px;border-bottom:1px solid var(--border,#cad5d4);padding-bottom:12px}.rp104-tabs button{border-radius:10px;padding:10px 13px;border:1px solid #becfca;background:#fff;color:#173e40;cursor:pointer;font:inherit}.rp104-tabs button.selected{background:#17454b;color:white;border-color:#17454b}.rp104-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:15px;margin:16px 0}.rp104-label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.93rem;font-weight:650;color:inherit}.rp104-label input,.rp104-label select,.rp104-label textarea,.rp104-actions input{width:100%;max-width:100%;min-width:0;border:1px solid #b7c9c7;background:#fff;border-radius:10px;padding:11px 12px;color:#203d40;font-size:16px;box-sizing:border-box}.rp104-editor .rp104-label{margin-bottom:12px}.rp104-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d5e0de;border-radius:12px;min-width:0}.rp104-check input{width:19px;height:19px;flex:none;accent-color:#1b5052}.rp104-check span{display:grid;gap:4px}.rp104-check small{font-weight:400;line-height:1.45}.rp104-actions{margin:16px 0}.rp104-actions .btn{white-space:normal}.rp104-upload-label{position:relative;cursor:pointer}.rp104-table{width:100%;overflow-x:auto;max-width:100%;margin:16px 0}.rp104-table table{border-collapse:collapse;min-width:580px;width:100%;font-size:.88rem}.rp104-table th,.rp104-table td{text-align:left;padding:11px;border-bottom:1px solid #dce5e2;vertical-align:top}.rp104-table th{background:#edf3f1}.rp104-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}.rp104-public-card{min-width:0;border:1px solid #d9e5e2;border-radius:14px;padding:18px;background:var(--card,#fff);overflow-wrap:anywhere}.rp104-public-card h3{margin:8px 0;font-size:1.04rem}.rp104-public-card p{margin:8px 0 12px}.rp104-public-meta{color:#916b20;font-size:.78rem;font-weight:800}.rp104-locked .v5-hero{max-width:870px}.rp104-locked .v5-panel{max-width:870px}.rp104-locked{min-width:0}.rp104-locked .btn{max-width:100%}#rp104-preview:not(:empty){border:1px dashed #88a4a3;padding:16px;margin:15px 0;border-radius:12px}#rp104-preview .rp104-public-card{max-width:600px}
@media(max-width:760px){.rp104-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.rp104-tabs button{font-size:.82rem;padding:10px 6px;overflow-wrap:anywhere}.rp104-form-grid{grid-template-columns:minmax(0,1fr)}.rp104-actions .btn{width:auto;flex:1 1 160px;max-width:100%}.rp104-table table{min-width:560px}.rp104-public-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:360px){.rp104-tabs{grid-template-columns:minmax(0,1fr)}}

#rp104-toast{position:fixed;bottom:18px;right:18px;left:auto;z-index:9999;padding:14px 18px;max-width:min(92vw,450px);border-radius:12px;background:#133c42;color:#fff;box-shadow:0 8px 32px #0003;font-size:.9rem}#rp104-toast[hidden]{display:none}@media(max-width:640px){#rp104-toast{left:16px;right:16px;max-width:none}}

/* 10.4.1 · textos justificados em toda a área de conteúdo.
   :where() mantém especificidade zero: qualquer regra existente (centralização, botões, tabelas) continua prevalecendo. */
:where(.main-area) :where(p,li,dd,blockquote,figcaption,.pp-enun,.pp-com,.pp-opt span){text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
:where(.main-area) :where(td,th,button,.btn,label,summary,nav){text-align:inherit}
/* regras antigas que forçavam alinhamento à esquerda (aulas no celular, leitura, Atlas, notas técnicas) */
.lesson-body.redesigned .lesson-chapter p,.extra-depth p,.atlas-panel>p,.atlas-comparison p,.atlas-stage-detail p,.developer-content p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.reading-row p{text-align:justify!important;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:650px){.lesson-body.redesigned .lesson-chapter p,.extra-depth p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}}
/* 10.6 · janela de pagamento (Pix e cartão) */
.rpp-back{position:fixed;inset:0;z-index:1100;background:rgba(9,30,34,.6);display:grid;place-items:center;padding:16px;overflow:auto}
.rpp{position:relative;background:#fff;border-radius:20px;max-width:460px;width:100%;padding:24px 22px;box-shadow:0 24px 60px rgba(0,0,0,.3);animation:rppIn .3s ease both}
@keyframes rppIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rpp h2{margin:0 0 6px;font-size:21px;color:#0d3238}.rpp-item{margin:0 0 14px;color:#41575c;text-align:left}
.rpp-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:#5d7176}
.rpp-opts{display:grid;gap:10px}
.rpp-opt{display:flex;gap:12px;align-items:center;text-align:left;border:1.5px solid #cfdeda;border-radius:14px;padding:14px;background:#fff;cursor:pointer;font:inherit;color:#163039;transition:border-color .15s,transform .15s}
.rpp-opt:hover,.rpp-opt:focus-visible{border-color:#15505a;transform:translateY(-1px)}.rpp-opt b{display:block;font-size:15.5px}.rpp-opt small{color:#5d7176}
.rpp-ic{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#0d3238;color:#f3cf7e;display:grid;place-items:center;font-size:20px}
.rpp-note{font-size:12.5px;color:#5d7176;margin:12px 0 0;text-align:left}.rpp-msg{font-size:13.5px;margin-top:8px;color:#15505a}.rpp-msg.bad{color:#8f3326}
.rpp-steps{padding-left:20px;margin:0 0 12px;line-height:1.55;font-size:14px;text-align:left}
.rpp-qr{display:block;width:220px;max-width:70%;margin:6px auto 12px;border:1px solid #dfe8e5;border-radius:12px;padding:6px;background:#fff}
.rpp-lbl{font-size:12.5px;font-weight:700;color:#41575c}.rpp-copy{display:flex;gap:8px;margin-top:4px}.rpp-copy input{flex:1;min-width:0;border:1px solid #cfdeda;border-radius:10px;padding:8px;font:12px monospace}
.rpp-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0 0;font-weight:700;color:#15505a}.rpp-status small{font-weight:400;color:#5d7176}
.rpp-spin{width:14px;height:14px;border:2px solid #cfe3dd;border-top-color:#15505a;border-radius:50%;animation:rppSpin 1s linear infinite}@keyframes rppSpin{to{transform:rotate(360deg)}}
.rpp-ok{width:64px;height:64px;border-radius:50%;background:#3aa57f;color:#fff;font-size:34px;display:grid;place-items:center;margin:0 auto 10px;animation:rppIn .4s ease both}.rpp-act{display:flex;justify-content:center;margin-top:12px}
@media (prefers-reduced-motion:reduce){.rpp,.rpp-ok{animation:none}.rpp-spin{animation:none}}

.rpp-info{display:flex;gap:12px;align-items:flex-start;background:#f4f9f8;border:1px solid #cfe3dd;border-radius:14px;padding:14px}.rpp-info p{margin:0;line-height:1.55;text-align:left}
.rpp-act2{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}
/* 10.7 · perfil complementar e manter conectado */
.rp107-hasphoto{background-size:cover!important;background-position:center!important;color:transparent!important}
.rp107-grid{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start}
.rp107-photo{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.rp107-prev{width:120px;height:120px;border-radius:50%;background:#eef4f3;border:3px solid #e8b74e;display:grid;place-items:center;font-size:34px;background-size:cover;background-position:center}
.rp107-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.rp107-fields label{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px;color:#41575c}.rp107-fields small{font-weight:400}
.rp107-fields input,.rp107-fields select{min-height:42px;border:1px solid #cfdeda;border-radius:10px;padding:6px 10px;font:inherit;max-width:100%;box-sizing:border-box}
.rp107-file{cursor:pointer}.rp107-bad{border-color:#e7b2a7!important;background:#fbe9e5!important}
.rp107-remember{display:flex;gap:8px;align-items:flex-start;margin:10px 0 4px;line-height:1.45}.rp107-remember input{margin-top:3px;width:18px;height:18px;flex:0 0 18px}
#rp107-meta{margin:2px 0 6px;color:#15505a;font-weight:600}
@media (max-width:760px){.rp107-grid{grid-template-columns:1fr}}
#rp107-meta{text-align:left!important}
