body.password-reset-page { min-height: 100vh; display: flex; flex-direction: column; color: #132f3d; background-color: #f1e0cd; }
.password-reset-page .header-wrap { padding: 12px 0 4px !important; }
.password-reset-page .header-wrap .nav-logo { width: 64px; height: 64px; object-fit: contain; }
.reset-main { flex: 1; width: min(100%, 560px); margin: 0 auto; padding: 12px 16px 32px; text-align: center; }
.reset-main h1 { font-size: clamp(1.8rem, 5vw, 2.5rem); font-weight: 800; text-wrap: balance; }
.reset-card { margin-top: 20px; padding: 22px; border: 1px solid #d6e4e7; border-radius: 24px; background: #fff; box-shadow: 0 12px 32px #18344514; }
.reset-message { padding: 14px; margin-bottom: 16px; border-radius: 12px; background: #eaf5f5; text-wrap: pretty; overflow-wrap: anywhere; }
.reset-message.is-error { background: #fff0eb; color: #832500; }
.reset-card label { display: block; margin: 14px 0 6px; font-weight: 700; }
.reset-card input { display: block; width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #aabcc5; border-radius: 12px; background: #fff; color: #000; text-align: center; }
.reset-card input:focus { color: #000; outline: 3px solid #66c9ca; outline-offset: 1px; }
.reset-card button, .reset-card a { font: inherit; font-weight: 700; }
.reset-primary, .reset-login.is-primary { display: block; width: 100%; padding: 12px 16px; margin-top: 18px; border: 0; border-radius: 24px; background: #183445; color: #fff !important; text-decoration: none; }
.reset-primary:hover, .reset-primary:focus, .reset-login.is-primary:hover, .reset-login.is-primary:visited { background: #254f64; color: #fff !important; }
.reset-text-button { min-height: 44px; border: 0; padding: 8px; background: transparent; color: #096568; text-decoration: underline; }
.reset-card button:disabled { opacity: .6; cursor: wait; }
.reset-card button:focus-visible, .reset-card a:focus-visible { outline: 3px solid #096568; outline-offset: 3px; }
.reset-login { display: inline-block; margin-top: 16px; min-height: 44px; padding: 10px; color: #096568; }
.reset-hint { margin: 8px 0; font-size: .9rem; text-wrap: pretty; }
#resetBusy:not([hidden]) { display: grid; position: fixed; inset: 0; z-index: 100000000; place-items: center; background: #ffffffc9; }
#resetBusy span { padding: 20px; border-radius: 14px; background: #183445; color: #fff; }
.password-reset-page footer { margin-top: auto; }
@media (max-width: 390px) { .reset-card { padding: 16px; } }
