/* Recovery and profile pages share the site's restrained account styling. */
.rc-page .auth-card > .auth-eyebrow { color:var(--ip-muted); font-size:10px; margin-bottom:18px; }
.rc-page .rc-progress { display:flex; gap:18px; padding:12px 0; margin:0 0 18px; border-block:1px solid #f4f0f2; list-style:none; }
.rc-page .rc-progress li { display:flex; align-items:center; gap:7px; margin:0; padding:0; list-style:none; color:#77626c; font-size:11px; line-height:1.5; }
.rc-page .rc-progress li > span { font-size:9px; }
.rc-page .rc-progress li[aria-current="step"] { color:#8e2033; font-weight:600; }
.rc-page .rc-form { display:grid; gap:18px; }
.rc-page .rc-code { font-variant-numeric:tabular-nums; letter-spacing:.12em; }
.rc-page .rc-start-over { display:block; text-align:center; color:var(--ip-muted); font-size:12px; line-height:1.7; text-underline-offset:4px; }
.rc-page .rc-start-over:hover { text-decoration:underline; }
.rc-page .rc-contact { display:inline-flex; gap:18px; align-items:center; min-height:44px; margin-top:14px; color:#ffffff; font-size:12px; text-underline-offset:4px; }
.rc-page .rc-contact:hover { text-decoration:underline; }
.rc-page .rc-contact span { font-size:18px; }
.pr-page .pr-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; padding-block:24px 28px; }
.pr-page .pr-heading .ip-eyebrow { margin-bottom:16px; }
.pr-page .pr-heading h1 { margin:0; color:var(--ip-ink); font:500 clamp(32px,3.6vw,48px)/1.1 'Inter',sans-serif; letter-spacing:-.045em; text-transform:none; }
.pr-page .pr-heading > p { max-width:320px; margin:0; font-size:14px; line-height:1.8; }
.pr-page .pr-layout { display:grid; grid-template-columns:240px minmax(0,1fr); align-items:start; gap:32px; }
.pr-page .pr-sidebar { position:sticky; top:110px; min-width:0; border:1px solid var(--ip-line); border-radius:6px; background:var(--ip-panel); overflow:hidden; }
.pr-page .pr-identity { padding:25px 23px; }
.pr-page .pr-avatar { position:relative; display:grid; place-items:center; width:64px; height:64px; overflow:hidden; border-radius:50%; background:#f4f0f2; color:#8e2033; font-size:23px; font-weight:500; margin-bottom:18px; }
.pr-page .pr-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.pr-page .pr-identity h2 { margin:0 0 8px; font-size:20px; line-height:1.35; overflow-wrap:anywhere; }
.pr-page .pr-identity p { margin:0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.pr-page .pr-identity .pr-email { font-size:11px; margin-top:5px; }
.pr-page .pr-account-type { display:inline-block; margin-top:14px; padding:4px 8px; border:1px solid #cbb9c1; border-radius:3px; background:#eff2e6; color:#8e2033; font-size:10px; line-height:1.5; }
.pr-page .pr-tabs { display:flex; flex-direction:column; padding:8px; gap:4px; border-top:1px solid var(--ip-line); }
.pr-page .pr-tabs .nav-link { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:48px; margin:0; padding:12px 14px; border:0; border-radius:4px; background:transparent; color:var(--ip-muted); text-align:left; font:500 13px/1.5 'Inter',sans-serif; }
.pr-page .pr-tabs .nav-link.active { background:#8e2033; color:#ffffff; }
.pr-page .pr-tabs .nav-link span { font-size:17px; opacity:0; }
.pr-page .pr-tabs .nav-link.active span { opacity:1; color:#cc243b; }
.pr-page .pr-tabs .nav-link:hover:not(.active) { background:#f4f0f2; color:var(--ip-ink); }
.pr-page .pr-content { min-width:0; }
.pr-page .pr-panel { min-width:0; padding:24px; border:1px solid var(--ip-line); border-radius:6px; background:var(--ip-panel); }
.pr-page .pr-panel-heading { margin-bottom:20px; }
.pr-page .pr-panel-heading h2 { margin:0 0 10px; font-size:26px; line-height:1.3; }
.pr-page .pr-panel-heading p, .pr-page .pr-section > p { font-size:14px; line-height:1.8; margin:0; }
.pr-page .pr-tagline { font-size:15px; margin:0 0 28px; color:var(--ip-ink); }
.pr-page .pr-section { border-top:1px solid var(--ip-line); padding-top:20px; margin-top:20px; }
.pr-page .pr-section h3 { font-size:17px; line-height:1.4; margin:0 0 20px; }
.pr-page .pr-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; padding:0; margin:0; }
.pr-page .pr-details > div { min-width:0; }
.pr-page .pr-details dt { color:#75666d; font-size:11px; font-weight:400; line-height:1.5; margin-bottom:7px; }
.pr-page .pr-details dd { color:var(--ip-ink); font-size:14px; line-height:1.7; overflow-wrap:anywhere; margin:0; }
.pr-page .pr-wide { grid-column:1/-1; min-width:0; }
.pr-page .pr-socials { display:flex; flex-wrap:wrap; gap:12px 25px; }
.pr-page .pr-socials a, .pr-page .pr-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:12px; text-underline-offset:4px; }
.pr-page .pr-socials a:hover, .pr-page .pr-text-link:hover { text-decoration:underline; }
.pr-page .pr-text-link { margin-top:14px; }
.pr-page .pr-edit-form { display:grid; gap:22px; }
.pr-page .pr-edit-form fieldset { min-width:0; padding:24px 0 0; margin:0; border:0; border-top:1px solid var(--ip-line); }
.pr-page .pr-edit-form legend { float:none; width:auto; margin:0 0 23px; padding:0; color:var(--ip-ink); font-size:17px; font-weight:500; line-height:1.5; }
.pr-page .pr-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.pr-page .pr-field { min-width:0; }
.pr-page .pr-field > label { display:block; margin-bottom:8px; color:var(--ip-ink); font-size:12px; font-weight:500; line-height:1.5; }
.pr-page .pr-widget { min-width:0; font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.pr-page .pr-widget > a { text-decoration:underline; text-underline-offset:3px; }
.pr-page .pr-field :is(input,select,textarea) { max-width:100%; border:1px solid #cbb9c1; border-radius:4px; background:#fffefb; color:var(--ip-ink); font:400 14px/1.5 'Inter',sans-serif; box-shadow:none; }
.pr-page .pr-field input:not([type="checkbox"]), .pr-page .pr-field select { display:block; width:100%; min-width:0; height:48px; padding:11px 12px; }
.pr-page .pr-field textarea { display:block; min-width:0; width:100%; min-height:100px; resize:vertical; padding:12px; }
.pr-page .pr-field input[type="file"] { font-size:11px; margin-top:8px; }
.pr-page .pr-field input[type="checkbox"] { width:16px; height:16px; accent-color:#8e2033; vertical-align:middle; }
.pr-page .pr-field input[type="checkbox"] + label { display:inline; font-size:11px; }
.pr-page .pr-field :is(input,select,textarea):focus-visible { outline:2px solid rgba(11,61,35,.18); outline-offset:2px; border-color:#8e2033; }
.pr-page .pr-field small { display:block; margin-top:8px; color:var(--ip-muted); font-size:11px; line-height:1.6; }
.pr-page .pr-errors, .pr-page .pr-form-summary ul { padding:0; margin:8px 0 0; list-style:none; }
.pr-page .pr-errors li, .pr-page .pr-form-summary li { list-style:none; color:#a92d28; font-size:12px; line-height:1.6; padding:0; margin:0; }
.pr-page .pr-invalid :is(input,select,textarea) { border-color:#a92d28; }
.pr-page .pr-form-summary { padding:12px 14px; border:1px solid #debdb0; border-radius:4px; background:#fff5ed; }
.pr-page .pr-form-summary p { margin:0; font-size:12px; color:#8f2e26; }
.pr-page .pr-save { padding-top:24px; border-top:1px solid var(--ip-line); }
.pr-page .pr-account-action h3 { color:#8f3029; }
.pr-page .pr-delete-confirm { margin-top:24px; border-top:1px solid var(--ip-line); }
.pr-page .pr-delete-confirm summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:52px; padding-block:12px; cursor:pointer; color:#8f3029; font-size:12px; list-style:none; }
.pr-page .pr-delete-confirm summary::-webkit-details-marker { display:none; }
.pr-page .pr-delete-confirm summary::marker { content:''; }
.pr-page .pr-delete-confirm summary span { font-size:20px; transition:transform .18s ease; }
.pr-page .pr-delete-confirm[open] summary span { transform:rotate(45deg); }
.pr-page .pr-acknowledge { display:flex; align-items:flex-start; gap:12px; margin:15px 0 24px; color:var(--ip-muted); font-size:13px; line-height:1.7; }
.pr-page .pr-acknowledge input { flex:0 0 16px; width:16px; height:16px; margin-top:4px; accent-color:#8f3029; }
.pr-page .pr-delete-button { min-height:44px; padding:11px 18px; border:1px solid #9c3d35; border-radius:4px; background:transparent; color:#8f3029; font:500 12px/1.5 'Inter',sans-serif; }
.pr-page .pr-delete-button:hover { background:#fff1e9; }
@media (max-width:1000px) { .pr-page .pr-layout { grid-template-columns:210px minmax(0,1fr); gap:24px; } .pr-page .pr-panel { padding:24px; } .pr-page .pr-identity { padding-inline:20px; } }
@media (max-width:800px) {
    .pr-page .pr-layout { grid-template-columns:1fr; gap:24px; }
    .pr-page .pr-sidebar { position:static; }
    .pr-page .pr-identity { display:flex; gap:18px; align-items:center; padding:22px; }
    .pr-page .pr-avatar { flex:0 0 64px; margin:0; }
    .pr-page .pr-tabs { flex-direction:row; }
    .pr-page .pr-tabs .nav-link { justify-content:center; flex:1; padding-inline:8px; gap:0; font-size:12px; }
    .pr-page .pr-tabs .nav-link span { display:none; }
    .pr-page .pr-heading { padding-block:20px 24px; }
}
@media (max-width:700px) {
    .rc-page .rc-progress { gap:14px; }
    .rc-page .rc-progress li { font-size:10px; gap:5px; }
    .pr-page .pr-heading { display:block; }
    .pr-page .pr-heading > p { margin-top:20px; }
    .pr-page .pr-panel { padding:24px 20px; }
    .pr-page .pr-panel-heading h2 { font-size:24px; }
    .pr-page .pr-details, .pr-page .pr-fields { grid-template-columns:1fr; gap:18px; }
    .pr-page .pr-field :is(input,select,textarea) { font-size:16px; }
    .pr-page .pr-field input[type="file"] { font-size:12px; }
    .pr-page .pr-save .ip-button { width:100%; }
}
