:root {
    color-scheme: light;
    --account-cream: #fffaf5;
    --account-peach: #fff2e8;
    --account-accent: #df1237;
    --account-accent-hover: #bf0f30;
    --account-rose: #fff0f3;
    --account-ink: #2f3033;
    --account-muted: #69656a;
    --account-line: #eadfda;
    --account-radius: 20px;
    font-family: Inter, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
.account-resend { margin-top: 24px; }
.account-resend summary { min-height: 44px; padding: 8px 0; cursor: pointer; font-size: .88rem; color: var(--account-accent); }
.account-resend .account-form { margin-top: 18px; }
.account-form + .account-fine-print { margin-top: 18px; }
.account-page .account-below { margin-top: 19px; }
*, *::before, *::after { box-sizing: border-box; }
body.account-page { margin: 0; min-width: 320px; color: var(--account-ink); background: radial-gradient(ellipse at 12% 0, #ffe9dd 0, transparent 42%), radial-gradient(ellipse at 100% 100%, #fbe7e9 0, transparent 40%), var(--account-cream); font-size: 15px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
.account-page a { color: var(--account-accent); text-underline-offset: 3px; }
.account-page a:hover { color: var(--account-accent-hover); }
.account-page :focus-visible { outline: 3px solid #df123766; outline-offset: 4px; }
.account-page h1, .account-page h2, .account-page h3, .account-page p { margin-top: 0; }
.account-page h1, .account-page h2, .account-page h3 { line-height: 1.2; letter-spacing: -.025em; }
.account-page button, .account-page input { font: inherit; }
.account-page svg { display: block; width: 22px; height: 22px; flex: none; }
.account-skip { position: absolute; top: 16px; left: 16px; z-index: 20; max-width: calc(100% - 32px); transform: translateY(calc(-100% - 32px)); padding: 10px 16px; border-radius: 8px; background: #fff; }
.account-skip:focus { transform: none; }
.account-shell { min-height: 100vh; min-height: 100dvh; padding: 34px 20px 22px; display: flex; flex-direction: column; align-items: center; }
.account-header { display: flex; align-items: center; justify-content: center; width: 100%; margin-bottom: 30px; }
.account-brand { display: inline-flex; }
.account-brand img { display: block; width: 215px; height: auto; }
.account-main { width: 100%; max-width: 468px; margin: auto 0; }
.account-main:focus { outline: none; }
.account-card { padding: 34px 36px 0; background: #fff; border: 1px solid var(--account-line); border-radius: var(--account-radius); box-shadow: 0 3px 7px #5b333905, 0 24px 64px -30px #5b33393d; overflow: hidden; }
.account-card > :last-child:not(.account-card-footer) { margin-bottom: 32px; }
.account-heading { margin-bottom: 25px; text-align: center; }
.account-eyebrow { display: block; margin-bottom: 9px; color: var(--account-accent); font-size: 11px; font-weight: 750; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.account-heading h1 { margin-bottom: 12px; font-size: clamp(25px, 3vw, 29px); font-weight: 720; overflow-wrap: anywhere; }
.account-heading p { max-width: 350px; margin: 0 auto; color: var(--account-muted); font-size: 14.5px; line-height: 1.6; }
.account-symbol { display: inline-flex; align-items: center; justify-content: center; width: 55px; height: 55px; margin-bottom: 20px; border: 1px solid #f6d8dc; border-radius: 17px; color: var(--account-accent); background: var(--account-rose); }
.account-symbol svg { width: 26px; height: 26px; }
.account-form { display: grid; gap: 19px; }
.account-field { min-width: 0; display: grid; gap: 6px; }
.account-field label { color: #454047; font-size: 13px; font-weight: 650; }
.account-field input { width: 100%; min-width: 0; min-height: 49px; padding: 11px 13px; border: 1px solid #d9d1d0; border-radius: 10px; color: var(--account-ink); background: #fff; outline-offset: 2px; transition: border-color .15s, box-shadow .15s; }
.account-field input::placeholder { color: #938a8c; }
.account-field input:focus { outline: none; border-color: var(--account-accent); box-shadow: 0 0 0 3px #df123714; }
.account-field input.input-validation-error { border-color: #ba2140; }
.account-field-help { color: var(--account-muted); font-size: 12px; line-height: 1.55; }
.account-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.account-label-row a { font-size: 12px; font-weight: 600; text-decoration: none; }
.account-label-row a:hover { text-decoration: underline; }
.account-password { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: 6px; }
.account-password-toggle { min-width: 44px; min-height: 44px; padding: 5px 10px; border: 0; border-radius: 7px; background: transparent; color: var(--account-accent); font-size: 12px !important; font-weight: 650 !important; cursor: pointer; }
.account-password-toggle:hover { background: var(--account-rose); }
.account-password-toggle:focus-visible, .account-resend summary:focus-visible, .account-workspace-option:has(input:focus-visible), .account-card .account-checkbox:has(input:focus-visible) { outline: 3px solid #a9523d; outline-offset: 3px; }
.account-checkbox { display: flex; align-items: flex-start; gap: 9px; color: var(--account-muted); font-size: 12.5px; cursor: pointer; }
.account-checkbox input { width: 17px; height: 17px; flex: none; margin: 2px 0 0; accent-color: var(--account-accent); }
.account-card .account-checkbox { align-items: center; min-height: 44px; padding-block: 4px; }
.account-page .account-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 49px; padding: 12px 17px; border: 1px solid var(--account-accent); border-radius: 10px; color: #fff; background: var(--account-accent); font-size: 14px; font-weight: 650; line-height: 1.45; text-align: center; text-decoration: none; cursor: pointer; transition: background .15s, border-color .15s, box-shadow .15s; }
.account-page .account-button:hover { color: #fff; border-color: var(--account-accent-hover); background: var(--account-accent-hover); box-shadow: 0 5px 14px #b5182b17; }
.account-page .account-button--secondary, .account-page .account-button--google { color: var(--account-ink); background: #fff; border-color: #dcd4d1; box-shadow: 0 1px 2px #37252706; }
.account-page .account-button--secondary:hover, .account-page .account-button--google:hover { color: var(--account-ink); background: #fffaf7; border-color: #bcaeaa; }
.account-button--compact { width: auto !important; min-height: 43px !important; }
.account-page .account-google-logo { width: 20px; height: 20px; }
.account-divider { display: flex; align-items: center; gap: 13px; margin: 21px 0; color: #847a7b; font-size: 11.5px; }
.account-divider::before, .account-divider::after { content: ""; height: 1px; background: var(--account-line); flex: 1; }
.account-notice { margin-bottom: 22px; padding: 13px 15px; border: 1px solid #ead9cc; border-radius: 10px; background: var(--account-cream); color: #695148; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.account-validation.validation-summary-valid, .account-field-error:empty { display: none; }
.account-validation { padding: 12px 14px; border: 1px solid #f0c3cd; border-radius: 10px; color: #a21833; background: var(--account-rose); font-size: 13px; }
.account-validation ul { margin: 0; padding-left: 17px; }
.account-field-error { font-size: 12px; color: #a21833; }
.account-fine-print { margin: 17px 0 25px; color: var(--account-muted); font-size: 11.5px; line-height: 1.65; text-align: center; }
.account-card-footer { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 8px; margin: 27px -36px 0; padding: 20px 22px; border-top: 1px solid var(--account-line); background: #fffdfa; color: var(--account-muted); font-size: 13px; }
.account-card-footer a { font-weight: 650; text-decoration: none; }
.account-card-footer a:hover { text-decoration: underline; }
.account-below { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 19px 0 0; color: #756567; font-size: 12px; text-align: center; }
.account-below svg { width: 17px; height: 17px; }
.account-below a { font-weight: 600; }
.account-footer { padding-top: 33px; color: #867679; font-size: 11px; text-align: center; }
.account-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; }
.account-footer a { color: #79696c; text-decoration: none; }
.account-footer a:hover { text-decoration: underline; }
.account-footer p { margin: 6px 0 0; }
.account-email-note { margin-bottom: 24px; color: var(--account-muted); font-size: 13px; }
.account-email-note p:last-child { font-size: 12px; margin-bottom: 0; }
.account-preview-inbox { padding: 17px; margin-bottom: 24px; border: 1px dashed #d9bdae; border-radius: 12px; background: var(--account-cream); }
.account-preview-inbox h2 { margin-bottom: 8px; font-size: 18px; }
.account-preview-inbox p { color: var(--account-muted); font-size: 12px; }
.account-preview-message { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; margin-top: 8px; border: 1px solid var(--account-line); border-radius: 8px; background: #fff; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.account-identity { display: flex; align-items: center; gap: 13px; padding: 15px; margin-bottom: 23px; border: 1px solid var(--account-line); border-radius: 12px; background: var(--account-cream); }
.account-identity > div { min-width: 0; }
.account-identity strong, .account-identity span:not(.account-identity-icon), .account-identity small { display: block; overflow-wrap: anywhere; }
.account-identity strong { font-size: 14px; }
.account-identity span:not(.account-identity-icon) { font-size: 12px; color: var(--account-muted); }
.account-identity small { margin-top: 4px; color: #78665f; font-size: 10px; }
.account-identity-icon { display: grid; place-items: center; flex: none; width: 39px; height: 39px; border-radius: 11px; background: #fff; color: var(--account-accent); border: 1px solid var(--account-line); }

/* Workspace selection is a preference, never community authorization. */
.account-workspace-options { display: grid; gap: 9px; min-width: 0; margin: 0; padding: 0; border: 0; }
.account-workspace-options legend { padding: 0; margin-bottom: 10px; color: #454047; font-size: 13px; font-weight: 650; }
.account-workspace-option { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid var(--account-line); border-radius: 10px; cursor: pointer; }
.account-workspace-option:has(input:checked) { border-color: var(--account-accent); background: var(--account-rose); }
.account-workspace-option input { flex: none; width: 17px; height: 17px; margin: 3px 0 0; accent-color: var(--account-accent); }
.account-workspace-option > span { min-width: 0; }
.account-workspace-option strong { display: block; font-size: 12.5px; font-weight: 650; }
.account-workspace-option small { display: block; margin-top: 2px; color: var(--account-muted); font-size: 11.5px; line-height: 1.55; }
.account-workspace-options > p { margin: 1px 0 0; color: var(--account-muted); font-size: 11px; line-height: 1.6; }

/* Workspaces present account facts and usable next steps, never sample metrics. */
.account-page--workspace .account-shell { max-width: 1200px; margin: 0 auto; padding-inline: 30px; }
.account-page--workspace .account-header { justify-content: space-between; padding-bottom: 25px; margin-bottom: 33px; border-bottom: 1px solid var(--account-line); gap: 20px; }
.account-page--workspace .account-brand img { width: 205px; }
.account-header-link { font-size: 13px; font-weight: 600; text-decoration: none; }
.account-page--workspace .account-main { max-width: none; margin: 0; flex: 1; }
.workspace-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.workspace-heading h1 { margin-bottom: 10px; font-size: clamp(25px, 3vw, 32px); overflow-wrap: anywhere; }
.workspace-heading p { margin-bottom: 0; color: var(--account-muted); font-size: 14px; }
.workspace-heading form { flex: none; }
.workspace-switcher { margin-bottom: 25px; }
.workspace-switcher form { display: inline-flex; flex-wrap: wrap; gap: 5px; padding: 5px; border: 1px solid var(--account-line); border-radius: 13px; background: #fff; }
.workspace-switch { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid transparent; border-radius: 9px; color: var(--account-muted); background: transparent; font-size: 12px !important; font-weight: 650 !important; cursor: pointer; }
.workspace-switch svg { width: 17px; height: 17px; }
.workspace-switch:hover { color: var(--account-ink); background: var(--account-cream); }
.workspace-switch--active { color: var(--account-accent); border-color: #f3c9d1; background: var(--account-rose); }
.workspace-switcher > p { margin: 9px 0 0; color: var(--account-muted); font-size: 11px; }
.workspace-grid { display: grid; grid-template-columns: 290px minmax(0, 1fr); align-items: start; gap: 25px; }
.workspace-account, .workspace-welcome, .workspace-steps { border: 1px solid var(--account-line); border-radius: 16px; background: #fff; box-shadow: 0 3px 8px #5b333904; }
.workspace-account { padding: 27px 23px 22px; }
.workspace-avatar { display: grid; place-items: center; width: 53px; height: 53px; margin-bottom: 20px; color: var(--account-accent); background: var(--account-rose); border-radius: 16px; }
.workspace-avatar svg { width: 27px; height: 27px; }
.workspace-account h2 { font-size: 19px; margin-bottom: 17px; }
.workspace-account-name { margin-bottom: 2px; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.workspace-email { color: var(--account-muted); font-size: 12px; overflow-wrap: anywhere; }
.workspace-account-details { margin: 20px 0 17px; padding: 17px 0; border-top: 1px solid var(--account-line); border-bottom: 1px solid var(--account-line); font-size: 11.5px; }
.workspace-account-details > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.workspace-account-details > div + div { margin-top: 14px; }
.workspace-account-details dt { color: var(--account-muted); }
.workspace-account-details dd { margin: 0; font-weight: 600; text-align: right; }
.account-status { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 6px; color: #77645b; background: #f6f0e9; font-size: 10px; font-weight: 650; line-height: 1.45; white-space: nowrap; }
.account-status--confirmed { color: #9a2240; background: #fff0f3; }
.workspace-account-note { color: var(--account-muted); font-size: 12px; line-height: 1.65; }
.workspace-support { display: inline-block; font-size: 11px; font-weight: 650; text-decoration: none; }
.workspace-content { display: grid; gap: 20px; }
.workspace-welcome { display: flex; gap: 21px; padding: 28px; background: linear-gradient(115deg, #fff, #fff5ee); }
.workspace-welcome-icon { display: grid; place-items: center; flex: none; width: 49px; height: 49px; color: var(--account-accent); background: #fff; border: 1px solid #eeded6; border-radius: 14px; }
.workspace-welcome-icon svg { width: 25px; height: 25px; }
.workspace-welcome h2 { margin-bottom: 12px; max-width: 400px; font-size: 24px; }
.workspace-welcome p { color: var(--account-muted); font-size: 13px; line-height: 1.75; }
.workspace-welcome .account-button { margin-top: 3px; }
.workspace-steps { padding: 27px 28px; }
.workspace-steps > h2 { font-size: 20px; margin-bottom: 23px; }
.workspace-steps ol { list-style: none; margin: 0; padding: 0; }
.workspace-steps li { display: flex; gap: 16px; }
.workspace-steps li + li { padding-top: 21px; margin-top: 21px; border-top: 1px solid var(--account-line); }
.workspace-step-number { display: grid; place-items: center; flex: none; width: 29px; height: 29px; border: 1px solid #ead6cc; border-radius: 50%; background: var(--account-cream); color: #886256; font-size: 12px; font-weight: 650; }
.workspace-steps li > div { min-width: 0; flex: 1; }
.workspace-step-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.workspace-steps h3 { font-size: 14px; letter-spacing: -.01em; margin: 4px 0 7px; }
.workspace-step-heading .account-status { margin-bottom: 3px; }
.workspace-steps p { margin-bottom: 0; color: var(--account-muted); font-size: 12.5px; line-height: 1.7; }
.workspace-steps a { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 650; text-decoration: none; }
.workspace-boundary { display: flex; align-items: flex-start; gap: 12px; padding: 0 7px; color: #7d6c6b; }
.workspace-boundary svg { width: 19px; height: 19px; margin-top: 2px; }
.workspace-boundary p { font-size: 11.5px; margin: 0; line-height: 1.7; }
/* Family dashboard controls stay reachable without widening narrow screens. */
.account-page--workspace:has(.family-tools) .account-header { flex-wrap: wrap; }
.account-page--workspace:has(.family-tools) .account-header-link { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.account-page--workspace:has(.family-tools) .account-header-link,
.account-page--workspace:has(.family-tools) .workspace-support,
.family-overview-choices a, .family-secondary-link, .family-tool-card > a, .family-guide a { display: inline-flex; align-items: center; min-height: 44px; }
.account-page--workspace:has(.family-tools) .workspace-switch:focus-visible,
.account-page--workspace:has(.family-tools) a:focus-visible,
.account-page--workspace:has(.family-tools) button:focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
.family-welcome h2 { max-width: none; }
.family-overview { min-width: 0; padding: 26px; border: 1px solid var(--account-line); border-radius: 16px; background: #fff; }
.family-overview-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.family-overview-heading > div { flex: 1 1 230px; min-width: 0; }
.family-overview h2 { margin: 0 0 8px; font-size: 24px; }
.family-overview-heading p, .family-overview-empty p, .family-overview-unavailable p { margin: 0; color: var(--account-muted); font-size: 13px; line-height: 1.7; }
.family-overview-counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 23px 0; }
.family-overview-counts > div { display: flex; flex-direction: column; padding: 17px; border: 1px solid var(--account-line); border-radius: 12px; background: var(--account-cream); }
.family-overview-counts dt { color: var(--account-muted); font-size: 12px; }
.family-overview-counts dd { margin: auto 0 0; padding-top: 6px; font-size: 28px; line-height: 1.25; font-weight: 650; }
.family-overview-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.family-overview-columns > section { min-width: 0; }
.family-overview h3 { margin: 0 0 8px; font-size: 17px; }
.family-overview h4 { margin: 0 0 9px; font-size: 14px; }
.family-overview-help { color: var(--account-muted); font-size: 12px; line-height: 1.65; }
.family-overview-choices, .family-overview-tasks { list-style: none; margin: 0; padding: 0; }
.family-overview-choices { counter-reset: choice; }
.family-overview-choices li, .family-overview-tasks li { position: relative; padding: 15px 0; border-top: 1px solid var(--account-line); overflow-wrap: anywhere; }
.family-overview-choices li { padding-left: 30px; counter-increment: choice; }
.family-overview-choices li::before { content: counter(choice); position: absolute; left: 0; top: 15px; color: #816359; font-size: 13px; }
.family-overview-choices a { font-size: 13px; line-height: 1.65; font-weight: 650; }
.family-overview-city { display: block; margin: 4px 0; color: var(--account-muted); font-size: 12px; }
.family-overview-tasks li > p { margin: 7px 0; font-size: 13px; font-weight: 600; }
.family-overview-tasks li > a, .family-overview-more, .family-overview-footer a, .family-overview-unavailable a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-size: 12px; font-weight: 650; }
.family-overview-empty { padding: 14px 0; }
.family-overview-empty .account-button { margin-top: 16px; }
.family-overview-unavailable { margin-top: 22px; padding: 18px; border: 1px solid #eeded6; border-radius: 12px; background: var(--account-cream); }
.family-overview-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 18px; margin-top: 18px; border-top: 1px solid var(--account-line); }
.family-overview-privacy { margin: 17px 0 0; padding-top: 16px; border-top: 1px solid var(--account-line); color: var(--account-muted); font-size: 11px; line-height: 1.7; }
@media (min-width: 801px) and (max-width: 1080px), (max-width: 620px) {
    .family-overview-columns { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 520px) {
    .family-overview { padding: 23px 20px; }
    .family-overview-counts { grid-template-columns: 1fr; gap: 8px; }
    .family-overview-counts > div { flex-direction: row; justify-content: space-between; align-items: center; gap: 15px; padding: 12px 15px; }
    .family-overview-counts dd { margin: 0; padding: 0; font-size: 23px; }
}
.family-secondary-link { display: inline-block; margin: 13px 0 3px 17px; font-size: 12px; font-weight: 650; text-decoration: none; }
.family-secondary-link:hover { text-decoration: underline; }
.family-section-heading { margin: 5px 0 17px; }
.family-section-heading h2 { margin-bottom: 7px; font-size: 20px; }
.family-section-heading p { margin: 0; color: var(--account-muted); font-size: 12.5px; }
.family-tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.family-tool-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--account-line); border-radius: 16px; background: #fff; }
.family-tool-icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; margin-bottom: 18px; border-radius: 12px; color: var(--account-accent); background: var(--account-rose); }
.family-tool-card h3 { margin-bottom: 10px; font-size: 18px; }
.family-tool-card > p { margin-bottom: 17px; color: var(--account-muted); font-size: 12.5px; line-height: 1.7; }
.family-tool-card > a, .family-guide a { align-self: flex-start; margin-top: auto; font-size: 12px; font-weight: 650; text-decoration: none; }
.family-tool-card > a:hover, .family-guide a:hover { text-decoration: underline; }
.family-tool-note { margin-top: 21px; padding-top: 15px; border-top: 1px solid var(--account-line); color: var(--account-muted); font-size: 11px; line-height: 1.65; }
.family-tool-note strong { display: block; margin-bottom: 3px; color: #6c5652; font-weight: 650; }
.family-guide { display: flex; align-items: flex-start; gap: 17px; padding: 22px 24px; border: 1px solid var(--account-line); border-radius: 16px; background: #fff; }
.family-guide .family-tool-icon { margin-bottom: 0; }
.family-guide h2 { margin-bottom: 9px; font-size: 17px; }
.family-guide p { margin-bottom: 11px; color: var(--account-muted); font-size: 12.5px; line-height: 1.7; }
@media (max-width: 800px) {
    .workspace-grid { grid-template-columns: 1fr; gap: 20px; }
    .workspace-account { order: 2; }
    .workspace-account-details { max-width: 370px; }
    .account-page--workspace .account-shell { padding-inline: 20px; }
}
@media (max-width: 520px) {
    .account-shell { padding: 25px 16px 20px; }
    .account-header { margin-bottom: 23px; }
    .account-brand img { width: 192px; }
    .account-card { padding: 27px 23px 0; border-radius: 16px; }
    .account-card-footer { margin-inline: -23px; padding: 19px 20px; }
    .account-heading { margin-bottom: 23px; }
    .account-heading p { font-size: 14px; }
    .account-field input { font-size: 16px; }
    .account-page--workspace .account-header { align-items: flex-start; gap: 17px; padding-bottom: 19px; margin-bottom: 25px; }
    .account-page--workspace .account-brand img { width: 175px; }
    .account-header-link { max-width: 90px; text-align: right; font-size: 11px; }
    .workspace-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
    .workspace-heading h1 { font-size: 26px; }
    .workspace-welcome { display: block; padding: 24px 21px; }
    .workspace-welcome-icon { margin-bottom: 18px; }
    .workspace-welcome h2 { font-size: 23px; }
    .workspace-welcome .account-button { width: 100% !important; }
    .workspace-steps { padding: 24px 21px; }
    .workspace-steps li { gap: 12px; }
    .workspace-account { padding: 24px 21px; }
    .workspace-switcher form { display: flex; }
    .workspace-switch { flex: 1; padding-inline: 10px; }
    .family-tools-grid { grid-template-columns: 1fr; }
    .family-tool-card { padding: 24px 21px; }
    .family-secondary-link { margin-left: 0; }
    .family-guide { padding: 23px 21px; gap: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .account-field input, .account-page .account-button { transition: none; }
}

/* Claim requests are a separate, explicitly local workflow; no sample management metrics. */
.account-page select, .account-page textarea { font: inherit; }
.account-field select, .account-field textarea { width: 100%; min-width: 0; min-height: 49px; padding: 11px 13px; border: 1px solid #d9d1d0; border-radius: 10px; color: var(--account-ink); background: #fff; }
.account-field textarea { resize: vertical; line-height: 1.6; }
.account-field select:focus, .account-field textarea:focus { outline: none; border-color: var(--account-accent); box-shadow: 0 0 0 3px #df123714; }
.account-field select.input-validation-error, .account-field textarea.input-validation-error { border-color: #ba2140; }
.claim-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: -9px 0 24px; color: var(--account-muted); font-size: 12px; }
.claim-breadcrumbs a { text-decoration: none; }
.claim-preview { display: flex; align-items: flex-start; gap: 12px; padding: 16px 20px; margin-bottom: 24px; border: 1px solid #ead4bc; border-radius: 12px; background: #fff4e6; color: #70523d; }
.claim-preview-mark { margin-top: 2px; flex: none; }
.claim-preview strong { display: block; font-size: 13px; }
.claim-preview p { margin: 3px 0 0; font-size: 12px; line-height: 1.65; }
.claim-panel { padding: 27px 28px; border: 1px solid var(--account-line); border-radius: 16px; background: #fff; }
.claim-panel h2, .claim-side-panel h2 { margin-bottom: 10px; font-size: 21px; overflow-wrap: anywhere; }
.claim-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 21px; }
.claim-section-heading h2 { margin-bottom: 8px; }
.claim-section-heading p, .claim-section-intro { margin: 0; color: var(--account-muted); font-size: 13px; line-height: 1.7; }
.claim-section-intro { margin-bottom: 25px; }
.claim-count { flex: none; color: var(--account-muted); font-size: 12px; }
.claim-existing { margin-bottom: 24px; }
.claim-request-list { margin: 0; padding: 0; list-style: none; }
.claim-request-list li { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid var(--account-line); }
.claim-request-list li > div { min-width: 0; margin-right: auto; }
.claim-request-list li > div a { display: block; color: var(--account-ink); font-size: 13px; font-weight: 650; text-decoration: none; overflow-wrap: anywhere; }
.claim-request-list li > div a:hover { color: var(--account-accent); text-decoration: underline; }
.claim-request-list li > div span { display: block; margin-top: 3px; color: var(--account-muted); font-size: 11.5px; }
.claim-text-link { display: inline-block; font-size: 12px; font-weight: 650; text-decoration: none; }
.claim-text-link:hover { text-decoration: underline; }
.claim-search { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; align-items: end; gap: 14px; padding-bottom: 25px; border-bottom: 1px solid var(--account-line); }
.claim-search .account-button { min-height: 49px !important; }
.claim-results-heading { display: flex; justify-content: space-between; gap: 14px; margin: 21px 0; color: var(--account-muted); font-size: 12px; }
.claim-results-heading p { margin: 0; }
.claim-community-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.claim-community-card { display: flex; flex-direction: column; min-width: 0; padding: 23px; border: 1px solid var(--account-line); border-radius: 13px; background: #fffdfa; }
.claim-community-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 19px; }
.claim-community-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #f4d6d7; border-radius: 11px; background: var(--account-rose); color: var(--account-accent); }
.claim-community-card h3 { font-size: 18px; margin-bottom: 8px; overflow-wrap: anywhere; }
.claim-community-city { color: #706065; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.claim-community-address { margin-bottom: 16px; color: var(--account-muted); font-size: 12px; overflow-wrap: anywhere; }
.claim-care-types { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; margin-bottom: 22px; }
.claim-care-types span { padding: 3px 7px; border: 1px solid #eee3dc; border-radius: 5px; color: #7b665a; background: #fff8f1; font-size: 10px; line-height: 1.5; }
.claim-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: auto; }
.claim-card-actions .account-button { font-size: 12px; }
.claim-pagination { display: flex; align-items: center; justify-content: center; gap: 22px; margin-top: 26px; font-size: 12px; color: var(--account-muted); }
.claim-empty { padding: 28px 20px 34px; text-align: center; }
.claim-empty h3 { font-size: 19px; margin-bottom: 10px; }
.claim-empty p { max-width: 460px; margin: 0 auto 14px; color: var(--account-muted); font-size: 13px; }
.claim-empty a { font-size: 12px; font-weight: 600; }
.claim-empty--compact { padding: 20px 8px 10px; border-top: 1px solid var(--account-line); }
.claim-bottom-note { margin-top: 22px; }
.claim-form-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; gap: 24px; }
.claim-side-panel { padding: 27px 25px; border: 1px solid #ebddd3; border-radius: 16px; background: linear-gradient(125deg, #fff, #fff4e9); }
.claim-side-panel > p { color: var(--account-muted); font-size: 13px; }
.claim-side-panel hr { border: 0; height: 1px; margin: 23px 0; background: var(--account-line); }
.claim-side-panel h3 { margin-bottom: 9px; font-size: 14px; }
.claim-required { color: var(--account-muted); font-size: 11px; font-weight: 400; }
.claim-attestation { padding: 15px; border: 1px solid var(--account-line); border-radius: 10px; background: var(--account-cream); }
.claim-attestation .account-checkbox { color: #695c5c; font-size: 12px; line-height: 1.7; }
.claim-attestation .account-field-error { display: block; margin-top: 7px; }
.claim-form-actions { display: flex; align-items: center; gap: 22px; }
.claim-form-actions > a { font-size: 12px; }
.claim-form-note { margin: -3px 0 0; color: var(--account-muted); font-size: 11.5px; line-height: 1.7; }
.claim-status { font-size: 12px; padding: 8px 12px; }
.claim-detail-list { margin: 25px 0; border-top: 1px solid var(--account-line); }
.claim-detail-list > div { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--account-line); font-size: 12px; }
.claim-detail-list dt { color: var(--account-muted); }
.claim-detail-list dd { margin: 0; font-weight: 550; overflow-wrap: anywhere; }
.claim-detail-list .claim-note-detail { display: block; }
.claim-note-detail dd { margin-top: 7px; font-weight: 400; white-space: pre-wrap; }
.claim-reference { display: grid; gap: 5px; color: var(--account-muted); font-size: 10px; }
.claim-reference code { color: #827171; overflow-wrap: anywhere; }
.claim-status-note { margin: 20px 0; padding: 15px; border: 1px solid var(--account-line); border-radius: 10px; background: #fff; }
.claim-status-note strong { display: block; margin-bottom: 7px; font-size: 12px; }
.claim-status-note p { margin: 0; color: var(--account-muted); font-size: 12px; }
.claim-withdraw { margin: 20px 0 24px; padding-block: 17px; border-top: 1px solid var(--account-line); border-bottom: 1px solid var(--account-line); }
.claim-withdraw summary { color: #9a2940; font-size: 12px; font-weight: 600; cursor: pointer; }
.claim-withdraw p { margin: 13px 0; color: var(--account-muted); font-size: 12px; }
.claim-withdraw button { font-size: 12px !important; }
.claim-workspace-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.claim-workspace-stats > div { padding: 20px 22px; border: 1px solid var(--account-line); border-radius: 13px; background: #fff; }
.claim-workspace-stats span { color: #71646a; font-size: 11px; }
.claim-workspace-stats strong { display: block; margin: 5px 0 2px; font-size: 30px; line-height: 1.3; }
.claim-workspace-stats p { margin: 0; color: var(--account-muted); font-size: 10.5px; }
.claim-all-requests { margin-top: 12px; }
@media (max-width: 800px) {
    .claim-search { grid-template-columns: 1fr 1fr; }
    .claim-search button { grid-column: 1 / -1; justify-self: start; }
    .claim-form-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .account-field select, .account-field textarea { font-size: 16px; }
    .claim-panel, .claim-side-panel { padding: 22px 20px; }
    .claim-preview { padding: 15px; gap: 10px; }
    .claim-search, .claim-community-grid { grid-template-columns: 1fr; }
    .claim-search button { width: 100% !important; }
    .claim-community-card { padding: 20px; }
    .claim-request-list li { flex-wrap: wrap; gap: 10px; }
    .claim-request-list li > div { flex-basis: 100%; }
    .claim-request-list li > .claim-text-link { margin-left: auto; }
    .claim-section-heading { align-items: flex-start; }
    .claim-detail-list > div { grid-template-columns: 1fr; gap: 5px; }
    .claim-form-actions { flex-wrap: wrap; gap: 14px; }
    .claim-form-actions button { width: 100% !important; }
    .claim-workspace-stats { gap: 10px; }
    .claim-workspace-stats > div { padding: 17px 15px; }
    .claim-workspace-stats span { display: block; min-height: 35px; }
}

/* Community-scoped provider preview, using the same warm account design. */
.provider-preview { display: block; }
.provider-preview p { margin: 7px 0 0; }
.provider-community-grid { margin-top: 24px; }
.provider-community-grid h3, .provider-profile-summary, .provider-profile-facts dd { overflow-wrap: anywhere; }
.provider-community-grid > li { display: flex; flex-direction: column; min-width: 0; }
.provider-community-grid .claim-card-actions { margin-top: auto; padding-top: 20px; }
.provider-request-note { margin: 26px 0; padding: 24px; border: 1px solid var(--account-line); border-radius: 15px; background: #fff8f2; }
.provider-request-note h2 { margin: 0 0 9px; font-size: 19px; }
.provider-request-note p { margin: 0 0 14px; color: var(--account-muted); }
.provider-access-count { display: flex; align-items: center; gap: 18px; margin: 18px 0; }
.provider-access-count > strong { font-size: 40px; line-height: 1; color: var(--account-ink, #263846); }
.provider-access-count small { display: block; margin-top: 5px; color: var(--account-muted); }
.provider-overview-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 24px; }
.provider-profile-facts { margin-bottom: 24px; }
/* Provider overview/list/detail: keep long names and enlarged text within the
   warm cards. This is presentation only, never an access/activation signal. */
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .account-header { flex-wrap: wrap; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .account-header-link { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(.workspace-heading, .claim-section-heading, .claim-community-heading, .provider-access-count, .claim-pagination) { flex-wrap: wrap; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(.workspace-heading > div, .workspace-welcome > div, .provider-access-count > span) { min-width: 0; max-width: 100%; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(.workspace-account, .workspace-content) { min-width: 0; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .workspace-content { grid-template-columns: minmax(0, 1fr); }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(.workspace-welcome, .workspace-steps) { overflow-wrap: anywhere; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .claim-section-heading > div { flex: 1 1 220px; min-width: 0; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .account-status { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(.account-header-link, .workspace-support, .claim-breadcrumbs a, .workspace-steps a, .claim-text-link, .claim-pagination a, .account-notice a, .claim-request-list a) { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; max-width: 100%; overflow-wrap: anywhere; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) .account-button--compact { min-height: 44px !important; max-width: 100%; }
.account-page--workspace:has(.provider-preview, .workspace-switch[value="Provider"][aria-pressed="true"]) :is(a, button):focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
.provider-overview .claim-request-list li { flex-wrap: wrap; }
.provider-overview .claim-request-list li > div { flex: 1 1 220px; }
.provider-community-grid .claim-community-icon { flex: none; }
.provider-profile-layout .claim-status-note .account-button { margin-top: 14px; }
.provider-community-recovery .account-validation p { margin: 0; }
.provider-community-recovery .account-card-footer { gap: 12px 20px; }
.provider-community-recovery .account-card-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.provider-community-recovery .account-button--compact { min-height: 44px !important; }
.provider-community-recovery :is(a, button):focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
.provider-action-recovery textarea { overflow-wrap: anywhere; }
.provider-action-recovery textarea:focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
.provider-bound-draft dd { margin-inline-start: 0; margin-bottom: 16px; overflow-wrap: anywhere; white-space: pre-wrap; }
.provider-bound-draft :is(input, textarea, button, a):focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
@media (max-width: 520px) {
    .provider-overview-actions { align-items: flex-start; flex-direction: column; }
    .provider-request-note { padding: 22px 20px; }
}

/* Private provider drafts: clear save/compare/review separation, no hidden autosaves. */
.account-page--workspace:has(.provider-draft-layout) .account-header { flex-wrap: wrap; }
.account-page--workspace:has(.provider-draft-layout) .account-header-link { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.account-page--workspace:has(.provider-draft-layout) .account-skip { max-width: calc(100% - 32px); }
.provider-draft-form textarea { width: 100%; min-height: 180px; resize: vertical; border: 1px solid #d9d1d0; border-radius: 10px; padding: 14px; background: #fff; color: var(--account-ink); font: inherit; line-height: 1.65; }
.provider-draft-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.provider-draft-save-state, .saved-form-save-state { margin: 0; padding: 14px 16px; border: 1px solid #ead0b7; border-radius: 10px; background: #fff7ea; color: #775035; font-size: 13px; }
.saved-form-save-state { margin: 14px 0; }
.provider-draft-form textarea.input-validation-error { border-color: #ba2140; }
.provider-draft-steps { padding-left: 22px; margin: 22px 0; }
.provider-draft-steps li { padding: 0 0 14px 5px; }
.provider-draft-steps strong { color: var(--account-ink); }
.provider-draft-steps p { margin: 7px 0 0; }
.provider-draft-version { font-size: 13px; color: var(--account-muted); }
.provider-draft-comparison, .provider-review-history { margin-top: 26px; scroll-margin-top: 24px; }
.provider-comparison-scroll { overflow-x: auto; border: 1px solid var(--account-line); border-radius: 12px; margin: 22px 0; }
.provider-comparison-table { width: 100%; min-width: 680px; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
.provider-comparison-table th, .provider-comparison-table td { padding: 16px; text-align: left; vertical-align: top; overflow-wrap: anywhere; white-space: pre-wrap; border-bottom: 1px solid var(--account-line); }
.provider-comparison-table thead th { background: #fff7f0; font-weight: 650; }
.provider-comparison-table th:first-child { width: 17%; padding-inline: 12px; }
.provider-comparison-table thead th:first-child, .provider-comparison-table tbody th { position: sticky; left: 0; z-index: 1; box-shadow: 1px 0 0 var(--account-line); }
.provider-comparison-table tbody th { background: #fffaf5; }
.provider-comparison-table tr:last-child td, .provider-comparison-table tbody tr:last-child th { border-bottom: 0; }
.provider-field-changed { background: #fff6ef; }
.provider-change-label { display: block; margin-top: 9px; color: #8e4434; font-size: 11px; font-weight: 700; }
.provider-review-action { display: grid; justify-items: start; gap: 18px; padding-top: 10px; }
.provider-review-action p { margin: 0; color: var(--account-muted); }
.provider-review-history .claim-section-heading { flex-wrap: wrap; }
.provider-review-history .claim-section-heading > div { flex: 1 1 220px; min-width: 0; }
.provider-review-copy { padding: 20px 0; border-top: 1px solid var(--account-line); }
.provider-review-copy summary { min-height: 44px; padding: 8px 0; font-weight: 650; cursor: pointer; }
.provider-comparison-scroll:focus-visible, .provider-review-copy summary:focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
.provider-review-copy .account-status { margin-left: 12px; }
.provider-review-copy > p { margin: 16px 0; }
.provider-review-copy dd { overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 520px) {
    .provider-draft-form textarea { font-size: 16px; }
    .provider-draft-actions { align-items: stretch; flex-direction: column; }
    .provider-review-action button { width: 100% !important; }
    .provider-review-copy .account-status { margin: 8px 0; }
}

/* Account-private planning tools. Keep warm, compact and usable without script. */
.saved-plan-summary, .saved-next-steps { margin-bottom: 24px; }
.saved-plan-fields { border: 0; padding: 0; margin: 20px 0 0; min-width: 0; }
.saved-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.saved-plan-grid > * { min-width: 0; }
.saved-planner input:not([type="checkbox"]):not([type="hidden"]), .saved-planner select { width: 100%; min-width: 0; box-sizing: border-box; }
.saved-plan-fields:disabled { opacity: .7; }
.saved-next-step { overflow-wrap: anywhere; }
.saved-task-list { list-style: none; padding: 0; margin: 0; }
.saved-task-list li { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid #eee6e1; }
.saved-task-list li > div { min-width: 0; overflow-wrap: anywhere; }
.saved-task-list li > a { flex-shrink: 0; padding: 10px 0; }
.saved-task-list p { margin: 7px 0; color: #342b27; font-weight: 600; }
.saved-task-date { color: #8c4c34; font-size: 13px; font-weight: 700; }
@media (max-width: 700px) {
    .saved-plan-grid { grid-template-columns: 1fr; gap: 0; }
    .saved-task-list li { flex-direction: column; align-items: flex-start; gap: 4px; }
}
.saved-preview { margin: 20px 0 26px; background: #fff8f0; }
/* Bound family-workspace headers at larger text sizes without changing provider pages. */
.account-page--workspace:has(.saved-tabs, .saved-notes, .saved-planner) .account-header { flex-wrap: wrap; }
.account-page--workspace:has(.saved-tabs, .saved-notes, .saved-planner) .account-header-link { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.account-page--workspace:has(.saved-tabs, .saved-notes, .saved-planner) .account-skip { max-width: calc(100% - 32px); }
.saved-plan-summary .claim-section-heading { flex-wrap: wrap; }
.saved-plan-summary .claim-section-heading > div { flex: 1 1 220px; min-width: 0; }
.saved-plan-summary .account-status { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.claim-panel[aria-labelledby="saved-list-title"] .claim-section-heading { flex-wrap: wrap; }
.claim-panel[aria-labelledby="saved-list-title"] .claim-section-heading > div { flex: 1 1 220px; min-width: 0; }
.saved-tabs { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 18px; }
.saved-filters { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; padding: 20px; margin: 18px 0; border-radius: 16px; background: #fff8f2; }
.saved-filters .account-field { flex: 1 1 180px; margin: 0; }
.saved-filter-check { display: flex; align-items: center; gap: 9px; min-width: 44px; min-height: 44px; padding: 4px 6px; border-radius: 8px; font-size: 14px; cursor: pointer; }
.saved-filter-check input { width: 20px; height: 20px; accent-color: #ba664e; flex-shrink: 0; }
.saved-filter-check:has(input:focus-visible) { outline: 3px solid #a9523d; outline-offset: 3px; }
.saved-compare-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding: 22px; margin: 22px 0; border: 1px solid #ead9ce; border-radius: 16px; background: #fffcf8; }
.saved-compare-bar > div { flex: 1 1 250px; }
.saved-compare-bar h3 { margin: 0 0 8px; font-size: 19px; }
.saved-compare-bar p { margin: 0; font-size: 13px; line-height: 1.65; color: #726a65; }
.saved-tabs a { border: 1px solid #e5dcd7; border-radius: 24px; padding: 11px 20px; color: #544840; text-decoration: none; }
.saved-tabs a[aria-current="page"] { background: #fff0e8; border-color: #cd7860; color: #743f2d; font-weight: 700; }
.saved-list { list-style: none; margin: 0; padding: 0; }
.saved-card { display: flex; align-items: center; gap: 18px; padding: 24px 0; border-top: 1px solid #eee6e1; }
.saved-position { flex: 0 0 42px; display: grid; place-items: center; height: 42px; border-radius: 50%; background: #fff0e8; color: #8c4c34; font-weight: 700; }
.saved-card-copy { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.saved-title { color: #342b27; font-size: 19px; font-weight: 700; text-decoration: none; }
.saved-title:hover { text-decoration: underline; }
.saved-card-copy p { margin: 5px 0; }
.saved-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.saved-tags span { background: #faf3eb; color: #6f513c; border-radius: 12px; font-size: 12px; padding: 4px 9px; }
.saved-card-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.saved-order { display: flex; gap: 5px; }
.saved-order button { min-width: 44px; min-height: 44px; padding: 6px; line-height: 1; background: #fff; color: #664b3d; border: 1px solid #d8ccc4; border-radius: 10px; font-size: 21px; cursor: pointer; }
.saved-order button:disabled { opacity: .4; cursor: default; }
.saved-footnote { color: #726a65; font-size: 13px; line-height: 1.65; margin: 15px 0; }
.saved-confirm h2 { margin-top: 20px; }
.saved-confirm form { margin: 26px 0; }
.saved-favourite { display: flex; align-items: center; gap: 12px; margin: 24px 0; min-height: 44px; border-radius: 8px; }
.saved-favourite input { width: 20px; height: 20px; accent-color: #ba664e; flex-shrink: 0; }
.saved-favourite label { display: flex; align-items: center; min-height: 44px; min-width: 0; flex: 1; cursor: pointer; }
.saved-favourite:has(input:focus-visible) { outline: 3px solid #a9523d; outline-offset: 3px; }
.saved-favourite:has(input:disabled) label { cursor: default; }
.saved-notes textarea { width: 100%; box-sizing: border-box; resize: vertical; padding: 15px; border: 1px solid #d8ccc4; border-radius: 12px; font: inherit; line-height: 1.6; background: #fffdfa; }
.saved-archive { margin-top: 24px; display: flex; align-items: center; gap: 24px; justify-content: space-between; }
.saved-archive form { flex-shrink: 0; }
.saved-success { background: #f5f1e7; color: #4c5039; border: 1px solid #dfdfcd; padding: 16px 20px; margin: 18px 0; border-radius: 12px; }
.saved-order button:focus-visible, .saved-tabs a:focus-visible, .saved-title:focus-visible, .saved-notes textarea:focus-visible { outline: 3px solid #a9523d; outline-offset: 3px; }
/* Forced colors suppress shadows. Keep keyboard focus visible on native fields. */
@media (forced-colors: active) {
    .account-page .account-field :is(input, select, textarea):focus-visible { outline: 3px solid Highlight; outline-offset: 2px; }
}
@media (max-width: 700px) {
    .saved-card { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
    .saved-card-copy { flex-basis: calc(100% - 56px); }
    .saved-card-actions { flex-basis: 100%; justify-content: space-between; }
    .saved-archive { flex-direction: column; align-items: flex-start; gap: 12px; }
    .saved-tabs a { padding: 10px 14px; }
}
