.pa-page *, .pa-page *::before, .pa-page *::after { box-sizing: border-box; }
.pa-page::before { content: ''; position: fixed; inset: 0; pointer-events: none; }
.pa-page .recovery-container { max-width: 1180px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pa-page .auth-brand-panel { gap: 38px; }
.pa-page .recovery-header h1 { margin-top: 14px; line-height: 1.3; }
.pa-eyebrow { color: var(--auth-blue); font-size: .7rem; font-weight: 700; letter-spacing: .12em; }
.pa-progress { display: flex; gap: 12px; padding: 0; margin: 0 0 30px; list-style: none; }
.pa-progress li { flex: 1; border-top: 4px solid var(--auth-line); padding-top: 10px; color: var(--auth-muted); font-size: .72rem; }
.pa-progress li.is-active { border-color: var(--auth-sky); color: var(--auth-navy); }
.pa-progress li[aria-current] { font-weight: 600; }
.pa-progress span { margin-right: 5px; }
.pa-page .recovery-body h2 { font-size: 1.25rem; margin: 0 0 12px; }
.pa-page .recovery-body p { font-size: .88rem; line-height: 1.7; overflow-wrap: anywhere; }
.pa-page label { display: block; font-size: .84rem; font-weight: 600; margin: 20px 0 7px; }
.pa-page input:not([type=checkbox]):not([type=hidden]), .pa-page select { display: block; width: 100%; min-height: 50px; padding: 12px 14px; font: inherit; font-size: .88rem; color: var(--auth-ink); border: 1px solid #d5e0e6; border-radius: 11px; background: #fbfdfe; margin-top: 7px; }
.pa-page input[readonly] { background: var(--auth-soft) !important; color: var(--auth-muted) !important; }
.pa-page input:focus, .pa-page select:focus { outline: none; border-color: var(--auth-sky); box-shadow: 0 0 0 4px rgb(81 175 210 / 15%); }
.pa-page button, .pa-page .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin-top: 20px; padding: 12px 18px; border: 0; border-radius: 11px; color: white; background: linear-gradient(135deg,#257da2,#51afd2); box-shadow: 0 10px 24px rgb(39 123 159 / 18%); font: inherit; font-size: .9rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.pa-page button:hover, .pa-page .button:hover { filter: brightness(.95); }
.pa-page button:focus-visible, .pa-page a:focus-visible { outline: 3px solid var(--auth-sky); outline-offset: 4px; }
.pa-page button.secondary { background: var(--auth-soft); border: 1px solid var(--auth-line); color: var(--auth-blue); box-shadow: none; }
.pa-page .recovery-body .help { font-size: .75rem; color: var(--auth-muted); }
.pa-page .notice, .pa-page .error { padding: 14px 16px; border-radius: 11px; margin-bottom: 20px; font-size: .8rem; line-height: 1.65; }
.pa-page .notice { background: #effaf4; color: #17613f; border: 1px solid #bfe4cf; }
.pa-page .error { background: #fff3f4; color: #84202c; border: 1px solid #f1c6cc; }
.pa-page .choice { display: flex; gap: 10px; align-items: center; font-weight: 400; }
.pa-page .choice input { width: 18px; height: 18px; flex-shrink: 0; accent-color: var(--auth-blue); }
.pa-page .recovery-footer { text-align: center; }
.pa-back { display: inline-flex; gap: 9px; align-items: center; font-size: .88rem; }
.pa-page .recovery-footer p { margin: 20px 0 0; line-height: 1.7; }
@media(max-width:820px) { .pa-page .recovery-container { grid-template-columns: 1fr; } .pa-page .auth-brand-panel { gap: 0; } }
@media(max-width:520px) { .pa-page .recovery-header h1 { margin-top: 12px; } .pa-page .auth-brand-copy { margin-top: 18px; } }
