.ppia-registration-dialog{width:min(940px,calc(100vw - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #e4e1f4;border-radius:24px;background:#fff;color:#17162b;box-shadow:0 28px 100px #17102f38;overflow:hidden;font-family:var(--font-body,'Source Sans 3',sans-serif)}
.ppia-registration-dialog::backdrop{background:#16112999;backdrop-filter:blur(8px)}
.ppia-reg-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 50px)}
.ppia-reg-header{padding:28px 36px 20px;background:linear-gradient(120deg,#f7f5ff,#fafbff);border-bottom:1px solid #eeebf6;position:relative;flex-shrink:0}
.ppia-reg-kicker{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#6550a4;margin:0 48px 8px 0}
.ppia-reg-header h2{font-family:var(--font-heading,'Exo',sans-serif);font-size:26px;line-height:1.25;margin:0 44px 10px 0;letter-spacing:-.04em}
.ppia-reg-facts{font-size:14px;color:#625d78;margin:0;line-height:1.6}
.ppia-reg-close{position:absolute;right:22px;top:22px;width:38px;height:38px;border:1px solid #e5dff0;border-radius:50%;background:#fff;color:#615474;font-size:26px;line-height:1;cursor:pointer}
.ppia-reg-progress{display:flex;gap:8px;margin-top:22px;list-style:none;padding:0}
.ppia-reg-progress li{flex:1;border-top:3px solid #e4deef;padding-top:9px;font-size:12px;color:#837b93;line-height:1.3}
.ppia-reg-progress li.is-current{color:#5633b7;border-color:#7150d3;font-weight:700}
.ppia-reg-progress li.is-complete{border-color:#a793dd;color:#5e507a}
.ppia-reg-body{overflow-y:auto;padding:26px 36px;overscroll-behavior:contain;scrollbar-gutter:stable}
.ppia-reg-form>fieldset{border:0;padding:0;margin:0;min-width:0}
.ppia-reg-form [hidden],.ppia-reg-shell [hidden]{display:none!important}
.ppia-reg-form>fieldset>legend{font-family:var(--font-heading,'Exo',sans-serif);font-size:22px;font-weight:600;letter-spacing:-.025em;margin-bottom:6px}
.ppia-reg-intro{color:#6b637a;margin:0 0 22px;font-size:15px;line-height:1.65}
.ppia-reg-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ppia-reg-field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;min-width:0}
.ppia-reg-grid .ppia-reg-field{margin-bottom:0}
.ppia-reg-field label,.ppia-reg-question legend{font-size:15px;font-weight:600;color:#29233d;line-height:1.5}
.ppia-reg-field small,.ppia-reg-question small{font-size:13px;color:#777081;line-height:1.5;font-weight:400}
.ppia-reg-field input,.ppia-reg-field select,.ppia-reg-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid #ded9e8;border-radius:10px;background:#fdfcff;color:#24202f;font:inherit;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.ppia-reg-field textarea{resize:vertical;min-height:108px}
.ppia-reg-field input:focus,.ppia-reg-field select:focus,.ppia-reg-field textarea:focus{outline:0;border-color:#8065c5;box-shadow:0 0 0 3px #8065c51c;background:#fff}
.ppia-reg-question{padding:0;border:0;margin:24px 0;min-width:0}
.ppia-reg-question legend{margin-bottom:10px;padding:0}
.ppia-reg-options{display:grid;gap:8px}
.ppia-reg-options--grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ppia-reg-options--atividades{grid-template-columns:repeat(2,minmax(0,1fr))}
.ppia-reg-option{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #e5dfec;border-radius:11px;font-size:14px;line-height:1.5;cursor:pointer;transition:background .15s,border-color .15s}
.ppia-reg-option:has(input:checked){background:#f4f0fd;border-color:#9c82d6;color:#49317b}
.ppia-reg-option input,.ppia-reg-consent input{accent-color:#6943c4;width:17px;height:17px;flex:0 0 17px;margin-top:2px}
.ppia-reg-consent{display:flex;align-items:flex-start;gap:11px;border-radius:12px;padding:16px;background:#f5f2fc;font-size:14px;line-height:1.65;margin-top:22px;color:#514564}
.ppia-reg-summary{border:1px solid #e8e2ef;border-radius:14px;padding:18px;margin:22px 0;background:#fbfaff}
.ppia-reg-summary h3{font-size:16px;margin:0 0 12px}
.ppia-reg-summary dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:7px 12px;font-size:14px;line-height:1.5}
.ppia-reg-summary dt{color:#776b86}.ppia-reg-summary dd{margin:0;overflow-wrap:anywhere}
.ppia-reg-edit{border:0;background:none;color:#6844b1;cursor:pointer;text-decoration:underline;font:inherit;padding:12px 0 0;font-size:13px}
.ppia-reg-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid #ece7f2;position:sticky;bottom:-26px;background:#fff;padding-bottom:26px;margin-bottom:-26px;z-index:1}
.ppia-reg-actions [data-inscricao-passo]{font-size:12px;color:#877d94}
.ppia-reg-actions [data-inscricao-proximo]{margin-left:auto}
.ppia-reg-button{border:0;border-radius:11px;padding:13px 22px;background:#201432;color:#fff;font:600 15px var(--font-body,'Source Sans 3',sans-serif);cursor:pointer;transition:background .15s}
.ppia-reg-button:hover{background:#563199}.ppia-reg-button:disabled{opacity:.55;cursor:wait}
.ppia-reg-button--back{background:#f2edf8;color:#5f4d75}.ppia-reg-button--back:hover{background:#e8def5}
.ppia-reg-error{color:#9b253e;font-size:14px;line-height:1.5;margin:16px 0 0}
.ppia-reg-result{text-align:center;padding:22px 0 30px;line-height:1.7}
.ppia-reg-result-icon{width:68px;height:68px;display:grid;place-items:center;background:#eef7f1;color:#247448;border-radius:50%;font-size:30px;margin:0 auto 20px}
.ppia-reg-result.is-pending .ppia-reg-result-icon{background:#fff3df;color:#9e691c}
.ppia-reg-result h3{font-family:var(--font-heading,'Exo',sans-serif);font-size:27px;letter-spacing:-.04em;margin:0 0 12px}
.ppia-reg-result p{max-width:570px;margin:12px auto;color:#6b6178;font-size:16px}
.ppia-reg-protocol{display:inline-block;padding:8px 18px;border:1px solid #e5dfed;border-radius:9px;font-size:13px;color:#6e5a85;background:#faf8fd;margin:8px 0 16px;overflow-wrap:anywhere}
.ppia-reg-success-note{font-size:13px!important}.ppia-reg-result a{color:#6943b5}
@media(max-width:640px){.ppia-registration-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0}.ppia-reg-shell{height:100dvh;max-height:100dvh}.ppia-reg-header{padding:22px 22px 14px}.ppia-reg-header h2{font-size:22px}.ppia-reg-kicker{font-size:10px}.ppia-reg-progress{margin-top:16px}.ppia-reg-progress li{font-size:10px}.ppia-reg-body{padding:22px;flex:1}.ppia-reg-grid,.ppia-reg-options--grid{grid-template-columns:1fr}.ppia-reg-grid{gap:16px}.ppia-reg-actions{position:sticky;bottom:-22px;background:#fff;padding-bottom:22px;margin-bottom:-22px;z-index:1}.ppia-reg-actions [data-inscricao-passo]{display:none}.ppia-reg-summary dl{grid-template-columns:1fr;gap:2px}.ppia-reg-summary dd{margin-bottom:7px}.ppia-reg-result h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ppia-reg-field input,.ppia-reg-option,.ppia-reg-button{transition:none}}

.ppia-reg-actions.is-confirmation{flex-wrap:nowrap}.ppia-reg-actions.is-confirmation [data-inscricao-passo]{display:none}.ppia-reg-button--confirm{width:auto;flex:1;padding:20px 26px;font-size:18px;border-radius:16px;background:linear-gradient(110deg,#5930ad,#8252d9);box-shadow:0 8px 24px #6943c42b}.ppia-reg-button--confirm:hover{background:linear-gradient(110deg,#4c259d,#7140c8)}

@media(max-width:640px){.ppia-reg-button--confirm{padding:15px 12px;font-size:15px;border-radius:11px}}

.ppia-reg-button.is-loading{position:relative;overflow:hidden;opacity:1;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:10px;padding-bottom:25px}
.ppia-reg-actions .ppia-reg-loading-label{position:relative;z-index:1;font:inherit;color:inherit;display:inline}
.ppia-reg-loading-spinner{display:block;width:18px;height:18px;flex:0 0 18px;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:ppia-spin .7s linear infinite}
.ppia-reg-loading-track{display:block;position:absolute;bottom:7px;left:18px;right:18px;height:5px;overflow:hidden;background:#ffffff35;border-radius:5px}
.ppia-reg-loading-bar{display:block;width:100%;height:100%;background:#fff;border-radius:5px;transform-origin:left;animation:ppia-loading 5s ease-out forwards}
.ppia-reg-button.is-waiting .ppia-reg-loading-bar{width:35%;animation:ppia-waiting 1.2s ease-in-out infinite}
@keyframes ppia-loading{0%{transform:scaleX(0)}16%{transform:scaleX(.24)}26%{transform:scaleX(.24)}46%{transform:scaleX(.58)}56%{transform:scaleX(.58)}78%{transform:scaleX(.86)}86%{transform:scaleX(.86)}100%{transform:scaleX(1)}}
@keyframes ppia-spin{to{transform:rotate(360deg)}}
@keyframes ppia-waiting{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
.ppia-reg-result.is-confirmed .ppia-reg-result-icon{width:112px;height:112px;background:none;position:relative;overflow:visible}.ppia-reg-result-icon img{display:block;width:112px;height:112px;animation:ppia-success .5s ease-out both}.ppia-reg-celebration{position:absolute;inset:0;pointer-events:none}.ppia-reg-celebration i{position:absolute;left:calc(50% - 3px);top:calc(50% - 4px);width:6px;height:8px;background:var(--color);border-radius:2px;opacity:0;animation:ppia-confetti 1.1s ease-out both}
@keyframes ppia-success{from{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}
@keyframes ppia-confetti{0%{opacity:0;transform:rotate(var(--angle)) translateY(-30px) rotate(0)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(-100px) rotate(120deg)}}
@media(prefers-reduced-motion:reduce){.ppia-reg-result-icon img{animation:none}.ppia-reg-celebration{display:none}}

/* O CSS global reduz todas as animações a 0,01ms. Mantém ativos somente os indicadores funcionais de envio. */
.ppia-reg-button .ppia-reg-loading-spinner{animation-duration:.7s!important;animation-iteration-count:infinite!important}
.ppia-reg-button .ppia-reg-loading-bar{animation-duration:5s!important;animation-iteration-count:1!important}
.ppia-reg-button.is-waiting .ppia-reg-loading-bar{animation-duration:1.2s!important;animation-iteration-count:infinite!important}

/* Aviso de lista de espera (turma cheia): mesmo tom âmbar do estado "pendente" da tela final. */
.ppia-reg-waitlist{margin:0 0 22px;padding:14px 16px;background:#fff3df;border:1px solid #f0d9aa;border-radius:12px;color:#7a521a;font-size:15px;line-height:1.55}
.ppia-reg-waitlist[hidden]{display:none}
.ppia-reg-waitlist strong{color:#5f3f10}
