.pro-password-page { background: var(--mpb-color-fond-poudre); padding-block: 40px 64px; }
.pro-password-container { max-width: 580px; width: calc(100% - 32px); }
.pro-password-back { align-items: center; color: var(--mpb-color-texte); display: inline-flex; font-size: 13px; gap: 10px; min-height: 44px; margin-bottom: 12px; }
.pro-password-card { background: var(--mpb-color-fond); border: 1px solid var(--mpb-color-trait); border-radius: 22px; box-shadow: none; display: grid; gap: 20px; padding: 36px; }
.pro-password-mark { align-items: center; background: var(--mpb-color-rose); border-radius: 50%; color: var(--mpb-color-bordeaux); display: flex; height: 52px; justify-content: center; width: 52px; }
.pro-password-mark svg { height: 26px; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; width: 26px; }
.pro-password-card .pro-password-eyebrow { color: var(--mpb-color-bordeaux); font-size: 13px; font-weight: 600; letter-spacing: .08em; margin: 0 0 -8px; text-transform: uppercase; }
.pro-password-card h1 { color: var(--mpb-color-encre); font-family: var(--pro-font-display); font-size: var(--pro-section-title-size); font-weight: 600; letter-spacing: -.035em; line-height: 1.05; margin: 0; }
.pro-password-card p { color: var(--mpb-color-texte); font-size: 14px; font-weight: 300; line-height: 1.7; margin: 0; }
.pro-password-form { display: grid; gap: 22px; min-width: 0; }
.pro-password-form .field, .pro-password-form .field:focus-within { background: transparent; border: 0; border-radius: 0; box-shadow: none; gap: 9px; min-width: 0; padding: 0; }
.pro-password-form .field label { color: var(--mpb-color-encre); font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.pro-password-form .field input { background: var(--mpb-color-fond); border: 1px solid var(--mpb-color-trait); border-radius: 8px; box-shadow: none; color: var(--mpb-color-encre); font-family: var(--pro-font-body); font-size: var(--pro-body-size); font-weight: 300; height: 52px; min-height: 52px; min-width: 0; padding: 13px 14px; width: 100%; }
.pro-password-form .field input::placeholder { color: var(--mpb-color-texte); font-weight: 300; opacity: .65; }
.pro-password-form .field input:not(:disabled)::placeholder { color: var(--pro-copy); opacity: 1; }
.pro-password-form .field small { color: var(--mpb-color-texte); font-size: 15px; font-weight: 300; line-height: 1.6; }
.pro-password-card .button-accent { align-items: center; background: var(--pro-accent); border: 0; border-radius: 999px; box-shadow: none; color: var(--mpb-color-sur-bordeaux); display: flex; flex-direction: row; font-family: var(--pro-font-body); font-size: var(--pro-small-size); font-weight: 600; gap: 12px; justify-content: center; letter-spacing: 0; line-height: 1.4; min-height: 52px; padding: 14px 18px; text-align: center; text-transform: none; }
.pro-password-card .button-accent:hover { background: var(--pro-accent-hover); }
.pro-password-page :is(a, button, input):focus-visible { outline: 2px solid var(--mpb-color-bordeaux); outline-offset: 3px; }
.pro-password-error { background: var(--mpb-color-fond-poudre); border: 1px solid var(--mpb-color-trait); border-radius: 9px; color: var(--mpb-color-bordeaux); font-size: 13px; line-height: 1.6; padding: 13px 16px; }
.pro-password-confirmation { display: grid; gap: 14px; }
.pro-password-card .pro-password-help { border-top: 1px solid var(--mpb-color-trait); font-size: 15px; padding-top: 20px; }
.pro-password-help a, .pro-password-text-link { color: var(--mpb-color-bordeaux); text-decoration: underline; text-underline-offset: 3px; }
.pro-password-help a { display: inline-block; line-height: 44px; }
.pro-password-text-link { align-content: center; font-size: 13px; min-height: 44px; text-align: center; }
@media (max-width: 767px) {
    .pro-password-form .field input { font-size: 16px; }
}
@media (max-width: 540px) {
    .pro-password-page { padding-block: 20px 40px; }
    .pro-password-card { border-radius: 16px; gap: 18px; padding: 24px 20px; }
    .pro-password-card .button-accent { font-size: 13px; gap: 12px; }
}

/* Recovery stays a focused form within the shared editorial rhythm. */
.pro-password-page.pro-public-surface { background: var(--mpb-color-fond-poudre); padding-block: var(--pro-section-space); }
.pro-password-page.pro-public-surface .pro-password-container { max-width: 760px; padding-inline: 0; width: calc(100% - 128px); }
.pro-password-page.pro-public-surface .pro-password-card { border-color: var(--pro-border); border-radius: 24px; box-shadow: none; padding: 40px; }
.pro-password-page.pro-public-surface .pro-password-card h1 { color: var(--pro-ink); font-size: var(--pro-title-size); font-weight: 200; letter-spacing: normal; line-height: 1.18; }
.pro-password-page.pro-public-surface .pro-password-eyebrow { color: var(--pro-accent); font-size: 13px; font-weight: 600; letter-spacing: .16em; line-height: 16px; }
.pro-password-page.pro-public-surface .pro-password-card p { color: var(--pro-copy); font-size: 17px; font-weight: 300; line-height: 1.65; }
.pro-password-page.pro-public-surface .pro-password-form label { color: var(--pro-ink); font-size: 15px; font-weight: 600; line-height: 1.6; }
.pro-password-page.pro-public-surface .pro-password-form input { font-size: 17px; font-weight: 300; height: auto; min-height: 52px; }
.pro-password-page.pro-public-surface .pro-password-form input::placeholder { color: var(--pro-copy); opacity: 1; }
.pro-password-page.pro-public-surface .pro-password-form small { color: var(--pro-copy); font-size: 13px; font-weight: 300; line-height: 1.5; }
.pro-password-page.pro-public-surface .pro-password-card .button-accent { font-size: 13px; font-weight: 600; gap: 12px; letter-spacing: .07em; line-height: 16px; padding: 17px 24px; text-transform: uppercase; white-space: normal; }
.pro-password-page.pro-public-surface .pro-password-card .pro-password-help { font-size: 15px; line-height: 1.6; }
.pro-password-page.pro-public-surface .pro-password-error { border-color: var(--pro-border); color: var(--pro-accent); font-size: 15px; line-height: 1.6; }
@media (max-width: 767px) {
    .pro-password-page.pro-public-surface .pro-password-container { width: calc(100% - 48px); }
    .pro-password-page.pro-public-surface .pro-password-card { padding: 24px; }
    .pro-password-page.pro-public-surface .pro-password-form input { font-size: 16px; }
}
@media (max-width: 360px) {
    .pro-password-page.pro-public-surface .pro-password-card { border: 0; border-radius: 0; padding: 24px 0; }
}
