body.password-page { margin:0; padding-top:88px; }
#password-page { --ink:#14243a; --plum:#641d64; --rose:#bd397d; --rose-deep:#76235e; --rose-soft:#f8eaf2; --muted:#68758b; --paper:#fcf9fb; }
#password-page * { box-sizing:border-box; }
#password-page { margin:0; background:var(--paper); color:var(--ink); font-family:'Geist',Arial,sans-serif; }
#password-page a { color:inherit; text-decoration:none; }
#password-page button, #password-page input, #password-page select, #password-page textarea { font:inherit; }
#password-page .shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
#password-page .eyebrow { margin:0; display:flex; align-items:center; gap:12px; color:#ac3275; font-size:12px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
#password-page .eyebrow span { width:38px; height:1px; background:currentColor; }
#password-page .password-main { position:relative; flex:1; overflow:hidden; display:flex; align-items:center; padding:72px 0 78px; background:radial-gradient(circle at 12% 16%,rgba(201,76,144,.11),transparent 28%),linear-gradient(135deg,#fff 0%,#f8edf5 100%); }
#password-page .password-orbit { position:absolute; border:1px solid rgba(145,54,111,.1); border-radius:50%; pointer-events:none; }
#password-page .password-orbit-one { width:650px; height:650px; right:-330px; top:-360px; }
#password-page .password-orbit-two { width:480px; height:480px; left:-330px; bottom:-330px; }
#password-page .password-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; gap:76px; }
#password-page .password-intro h1 { max-width:610px; margin:24px 0 22px; font-size:clamp(58px,6vw,82px); font-weight:520; line-height:.96; letter-spacing:-.065em; }
#password-page .password-intro > p:not(.eyebrow) { max-width:560px; margin:0; color:var(--muted); font-size:17px; line-height:1.7; }
#password-page .password-steps { display:grid; gap:12px; margin:38px 0 0; padding:0; list-style:none; }
#password-page .password-steps li { min-height:72px; display:flex; align-items:center; gap:15px; padding:13px 16px; border:1px solid #e6d6e1; border-radius:15px; background:rgba(255,255,255,.72); }
#password-page .password-steps li > b { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:12px; background:#f4ddea; color:var(--rose-deep); font-size:11px; }
#password-page .password-steps li > span { display:grid; gap:3px; }
#password-page .password-steps strong { font-size:13px; }
#password-page .password-steps small { color:#758196; font-size:10px; line-height:1.45; }
#password-page .password-form-card { position:relative; min-height:500px; display:flex; flex-direction:column; justify-content:center; padding:46px; border:1px solid rgba(255,255,255,.18); border-radius:30px; background:linear-gradient(145deg,#17273f,#4a1749 55%,#762056); color:white; box-shadow:0 34px 90px rgba(56,22,52,.25); }
#password-page .password-card-label { margin:0 0 13px; color:#ef9fc8; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
#password-page .password-form-card h2 { max-width:520px; margin:0; font-size:clamp(34px,4vw,48px); font-weight:620; line-height:1.05; letter-spacing:-.05em; }
#password-page .password-form-card > p:not(.password-card-label):not(.password-security-note) { max-width:520px; margin:17px 0 0; color:#d9cfd9; font-size:14px; line-height:1.65; }
#password-page .password-form-card > p strong { color:white; overflow-wrap:anywhere; }
#password-page .password-reset-form { display:grid; gap:19px; margin-top:31px; }
#password-page .password-reset-form label { display:grid; gap:8px; }
#password-page .password-reset-form label > span { color:#eadfec; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
#password-page .password-reset-form label b { margin-left:6px; color:#df94ba; font-size:7px; letter-spacing:.1em; }
#password-page .password-reset-form input { width:100%; min-height:60px; padding:0 17px; border:1px solid rgba(255,255,255,.26); border-radius:14px; outline:0; background:rgba(255,255,255,.98); color:var(--ink); font-size:14px; }
#password-page .password-reset-form input:focus { border-color:#ef9fc8; box-shadow:0 0 0 4px rgba(239,159,200,.16); }
#password-page .password-input-wrap { position:relative; }
#password-page .password-input-wrap input { padding-right:76px; }
#password-page .password-input-wrap button { position:absolute; top:50%; right:10px; min-width:54px; min-height:38px; padding:0 10px; transform:translateY(-50%); border:0; border-radius:999px; background:#f2e5ed; color:var(--rose-deep); cursor:pointer; font-size:9px; font-weight:850; }
#password-page .password-input-wrap button:hover { background:#ead3e1; }
#password-page .password-requirements { display:flex; flex-wrap:wrap; gap:8px; }
#password-page .password-requirements span { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#b9adba; font-size:9px; font-weight:700; }
#password-page .password-requirements span b { width:17px; height:17px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); color:#a99baa; font-size:8px; }
#password-page .password-requirements span.is-complete { border-color:rgba(128,218,176,.35); color:#d1f2e2; }
#password-page .password-requirements span.is-complete b { background:#4c9874; color:white; }
#password-page .password-error { margin:0; padding:11px 13px; border:1px solid rgba(255,171,183,.28); border-radius:11px; background:rgba(133,29,55,.3); color:#ffd4da; font-size:10px; line-height:1.5; }
#password-page .password-primary-button, #password-page .password-secondary-button { min-height:57px; display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:0 25px; border:0; border-radius:999px; cursor:pointer; font-size:13px; font-weight:850; }
#password-page .password-primary-button { background:#d04b90; color:white; }
#password-page .password-primary-button:hover { background:#dc5b9c; }
#password-page .password-secondary-button { border:1px solid rgba(255,255,255,.34); background:transparent; color:white; }
#password-page .password-secondary-button:hover { background:rgba(255,255,255,.09); }
#password-page .password-form-footer { display:flex; align-items:center; gap:9px; margin-top:24px; color:#bdafbd; font-size:11px; }
#password-page .password-text-button { padding:0; border:0; border-bottom:1px solid currentColor; background:transparent; color:#f2b1d2; cursor:pointer; font-size:11px; font-weight:800; }
#password-page .password-success { align-items:flex-start; }
#password-page .password-success-icon { width:60px; height:60px; margin-bottom:25px; display:grid; place-items:center; border-radius:50%; background:#d04b90; color:white; font-size:27px; font-weight:900; }
#password-page .password-security-note { max-width:520px; margin:16px 0 0; color:#afa2b0; font-size:11px; line-height:1.6; }
#password-page .password-success-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
@media(max-width:900px) {
#password-page .eyebrow { justify-content:center; }
#password-page .password-main { padding:62px 0; }
#password-page .password-grid { grid-template-columns:1fr; gap:42px; }
#password-page .password-intro { text-align:center; }
#password-page .password-intro .eyebrow { justify-content:center; }
#password-page .password-intro h1, #password-page .password-intro > p:not(.eyebrow) { margin-left:auto; margin-right:auto; }
#password-page .password-steps { max-width:620px; margin-left:auto; margin-right:auto; text-align:left; }
}
@media(max-width:640px) {
#password-page .shell { width:min(100% - 28px,1180px); }
#password-page .password-main { padding:49px 0 54px; }
#password-page .password-intro h1 { font-size:49px; }
#password-page .password-intro > p:not(.eyebrow) { font-size:15px; }
#password-page .password-steps li { padding:12px; }
#password-page .password-form-card { min-height:0; padding:30px 20px; border-radius:22px; }
#password-page .password-form-card h2 { font-size:36px; }
#password-page .password-primary-button, #password-page .password-secondary-button { width:100%; }
#password-page .password-form-footer { align-items:flex-start; flex-direction:column; }
#password-page .password-success-actions { width:100%; }
#password-page .password-requirements { align-items:stretch; flex-direction:column; }
}

#password-page .password-form-card { overflow-wrap:anywhere; }
#password-page .password-reset-form input { min-width:0; }
#password-page [hidden] { display:none !important; }
#password-page .password-error { color:#ffd0df; line-height:1.5; }
#password-page .password-primary-button:disabled { opacity:.65; cursor:wait; }
@media(max-width:520px) { body.password-page { padding-top:76px; } }

#password-page .password-error:empty { display:none; }
