/* Client Care shares ProducerPoint typography and tokens; the client surface has a quieter rhythm. */
.cc-page { max-width: 1280px; margin: 0 auto; padding: 24px 0 40px; }
.cc-page h1, .cr-greeting h1, .cr-access h1 { font-family: 'Space Grotesk', sans-serif; font-size: clamp(1.8rem, 3vw, 2.65rem); font-weight: 600; letter-spacing: -.045em; line-height: 1.14; margin: 0 0 12px; }
.cc-page h2, .cr-main h2, .cc-dialog h2 { font-family: 'Space Grotesk', sans-serif; font-size: 1.1rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.4; margin: 0; }
.cc-page h3, .cr-main h3 { font-size: 1rem; margin: 0 0 6px; line-height: 1.4; }
.cc-muted { color: #53617a; font-size: .875rem; line-height: 1.55; }
.cc-page p, .cr-main p, .cc-dialog p { margin: 6px 0 12px; }
.cc-page-head, .cc-section-line, .cc-dashboard-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 16px 0 24px; }
.cc-section-line, .cc-dashboard-title { margin: 0 0 16px; }
.cc-button, .cc-link { font: 500 .875rem/1.35 Inter, sans-serif; min-height: 44px; border-radius: 9px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; text-align: center; gap: 7px; text-decoration: none; }
.cc-button { border: 1px solid #d4dce8; color: #1c3558; background: #fff; padding: 11px 16px; }
.cc-button:hover { background: #f0f4f9; border-color: #a9b7cc; }
.cc-button--primary { background: #173e65; border-color: #173e65; color: #fff; }
.cc-button--primary:hover { background: #102d4b; color: #fff; border-color: #102d4b; }
.cc-button:disabled { opacity: .55; cursor: default; }
.cc-link { color: #245c85; justify-content: flex-start; text-underline-offset: 4px; }
.cc-link:hover { text-decoration: underline; }
.cc-page :focus-visible, .cc-dialog :focus-visible, #care-root :focus-visible { outline: 3px solid #4481ad; outline-offset: 3px; }
.cc-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.cc-actions--stack { align-items: stretch; flex-direction: column; margin-top: 16px; }
.cc-toolbar { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(150px, 190px) minmax(150px, 190px); gap: 10px; margin: 22px 0; }
.cc-input { font: 400 .9375rem/1.5 Inter, sans-serif; color: #142943; border: 1px solid #bac7d8; background: #fff; border-radius: 8px; min-height: 44px; padding: 10px 12px; width: 100%; min-width: 0; box-sizing: border-box; }
.cc-input[type=checkbox] { width: 20px; height: 20px; min-height: 20px; accent-color: #173e65; }
.cc-input::placeholder { color: #6b7689; }
textarea.cc-input { resize: vertical; }
.cc-client-list { border-top: 1px solid #d8e0eb; margin-bottom: 20px; }
.cc-client-row { display: grid; grid-template-columns: 38px minmax(165px, 1.8fr) minmax(115px, 1fr) minmax(105px, 1fr) minmax(130px, 1.2fr) auto; align-items: center; gap: 16px; padding: 20px 10px; border-bottom: 1px solid #d8e0eb; text-decoration: none; color: #192d4b; font-size: .875rem; border-radius: 6px; }
.cc-client-row:hover { background: #eaf0f7; }
.cc-avatar { border-radius: 50%; width: 36px; height: 36px; background: #e4ecf4; color: #3d5f7f; display: grid; place-items: center; font-weight: 600; }
.cc-client-identity, .cc-client-cell { display: flex; flex-direction: column; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.cc-badge { display: inline-flex; width: fit-content; align-items: center; font-size: .75rem; line-height: 1.4; padding: 5px 9px; border-radius: 6px; background: #eaf0f6; color: #365372; font-weight: 500; }
.cc-record-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; align-items: start; }
.cc-stack { display: grid; gap: 20px; min-width: 0; }
.cc-panel { background: #fff; border: 1px solid #d9e1eb; border-radius: 12px; padding: 24px; min-width: 0; overflow-wrap: anywhere; }
.cc-panel summary { cursor: pointer; min-height: 30px; font-weight: 600; }
.cc-section-head { margin-bottom: 16px; }
.cc-policy-row { border-top: 1px solid #e4e9f0; padding: 20px 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; }
.cc-policy-row:last-child { padding-bottom: 0; }
.cc-policy-row > .cc-actions { grid-column: 1 / -1; justify-content: space-between; }
.cc-policy-facts { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; font-size: .875rem; }
.cc-service-row { padding: 14px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #e4e9f0; }
.cc-service-row select { width: 150px; flex-shrink: 0; }
.cc-note { border-left: 2px solid #c4d1e0; padding-left: 14px; margin: 18px 0; }
.cc-history-line { font-size: .8125rem; color: #53617a; padding-top: 10px; }
.cc-dashboard { padding: 20px 24px; border: 1px solid #d9e1eb; border-radius: 12px; background: #fff; margin: 20px 0; }
.cc-dashboard h2 { font: 600 1.125rem 'Space Grotesk', sans-serif; margin: 0; }
.cc-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.cc-metrics a { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; text-decoration: none; color: #1c3558; padding: 8px; border-radius: 7px; }
.cc-metrics a:hover { background: #edf3f8; }
.cc-metrics strong { font: 500 1.8rem 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.cc-metrics span { font-size: .8125rem; color: #53617a; }
.cc-empty { text-align: center; padding: 48px 24px; max-width: 580px; margin: 0 auto; }
.cc-empty h2 { margin-bottom: 10px; }
.cc-error { color: #a82d31; font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.cc-error:empty { display: none; }
.cc-skeleton { padding: 30px; color: #53617a; }
.cc-skeleton > div { background: #e3eaf2; border-radius: 10px; height: 64px; margin: 12px 0; }
.cc-dialog { margin: auto; border: 1px solid #d0dbe8; border-radius: 16px; padding: 26px; max-width: min(720px, calc(100vw - 32px)); width: 100%; max-height: calc(100dvh - 40px); box-sizing: border-box; color: #172b48; background: #fff; box-shadow: 0 20px 80px #0b1a3326; }
.cc-dialog::backdrop { background: #0b1a3370; }
.cc-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.cc-dialog-head h2 { font-size: 1.35rem; }
.cc-form { display: flex; flex-direction: column; gap: 18px; }
.cc-form > .cc-actions { justify-content: flex-end; padding-top: 12px; border-top: 1px solid #e1e7ef; }
.cc-field { display: flex; flex-direction: column; align-items: stretch; gap: 8px; font-size: .875rem; font-weight: 500; min-width: 0; }
.cc-field:has(input[type=checkbox]) { flex-direction: row; align-items: center; justify-content: space-between; min-height: 44px; gap: 16px; }
.cc-field small { font-weight: 400; }
.cc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cc-visibility { border: 1px solid #d5e0ec; background: #f5f8fc; padding: 20px; border-radius: 10px; }
.cc-visibility legend { font-weight: 600; }
.cc-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; }
/* Standalone Client Room */
body:has(#care-root) { margin: 0; background: #f5f7fa; color: #172b48; font: 400 16px/1.6 Inter, sans-serif; }
#care-root *, #care-root *::before, #care-root *::after { box-sizing: border-box; }
.cr-header { max-width: 1224px; margin: 0 auto; padding: 28px 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cr-brand { display: flex; align-items: center; gap: 12px; min-width: 0; }
.cr-brand strong { display: block; font-family: 'Space Grotesk', sans-serif; font-weight: 600; line-height: 1.25; }
.cr-brand p { font-size: .75rem; color: #617188; margin: 3px 0 0; }
.cr-brand-mark { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 1px solid #b9cbdc; border-radius: 10px; color: #335f80; font: 500 1.35rem 'Space Grotesk', sans-serif; }
.cr-header .cc-button { background: transparent; border-color: transparent; padding: 10px; }
.cr-main { max-width: 1160px; margin: 0 auto; padding: 32px 32px 24px; outline: none; }
.cr-greeting { margin: 0 0 36px; max-width: 720px; }
.cr-greeting > p { margin-bottom: 12px; }
.cr-layout { display: grid; grid-template-columns: minmax(0, 1fr) 252px; gap: 36px; align-items: start; }
.cr-content { min-width: 0; }
.cr-content > .cc-section-head { margin-bottom: 18px; }
.cr-coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cr-coverage-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); max-width: 480px; }
.cr-coverage-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #d8e2ed; border-radius: 14px; padding: 24px; box-shadow: 0 3px 10px #1a3e6005; overflow-wrap: anywhere; }
.cr-card-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 20px; }
.cr-carrier { font-size: .75rem; font-weight: 600; color: #42607e; }
.cr-coverage-card h3 { font: 500 1.2rem/1.3 'Space Grotesk', sans-serif; letter-spacing: -.02em; margin-bottom: 24px; }
.cr-coverage-amount { display: flex; flex-direction: column; gap: 4px; }
.cr-coverage-amount strong { font: 500 clamp(1.65rem, 2.5vw, 2rem)/1.3 'Space Grotesk', sans-serif; letter-spacing: -.055em; }
.cr-premium { font-size: .875rem; color: #405675; }
.cr-card-footer { margin-top: auto; padding-top: 18px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.cr-card-footer .cc-button { border-color: transparent; padding: 8px 0; background: transparent; color: #245c85; text-align: left; }
.cr-card-footer .cc-muted { font-size: .75rem; }
.cr-agent { padding: 26px 0 26px 26px; border-left: 1px solid #d4deeb; overflow-wrap: anywhere; }
.cr-agent-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e5edf4; color: #365e7d; font: 500 1.6rem 'Space Grotesk', sans-serif; margin-bottom: 20px; }
.cr-agent h2 { color: #617188; font: 400 .8125rem Inter, sans-serif; margin-bottom: 12px; }
.cr-agent h3 { font: 500 1.2rem 'Space Grotesk', sans-serif; }
.cr-agent .cc-link { display: flex; justify-content: flex-start; font-size: .8125rem; overflow-wrap: anywhere; }
.cr-agent > .cc-button { margin-top: 16px; }
.cr-next { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 24px; border: 1px solid #bbd1df; border-radius: 12px; background: #eaf2f7; margin-bottom: 30px; }
.cr-next p { margin: 4px 0 0; font-size: .875rem; color: #496079; }
.cr-action-section, .cr-upcoming { margin-top: 36px; }
.cr-upcoming-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid #d8e2ed; padding: 16px 0; font-size: .875rem; }
.cr-upcoming-row p { margin: 3px 0 0; }
.cr-coverage-empty { padding: 30px; border: 1px solid #d8e2ed; border-radius: 12px; background: #fff; color: #53617a; }
.cr-details { background: #fff; border: 1px solid #d8e2ed; border-radius: 14px; padding: 8px 28px 24px; }
.cr-detail-section { padding: 24px 0; border-bottom: 1px solid #e1e8f0; overflow-wrap: anywhere; }
.cr-detail-section .cc-section-head { margin-bottom: 16px; }
.cr-facts { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px 20px; font-size: .9375rem; margin: 0; }
.cr-facts dt { color: #617188; }
.cr-facts dd { margin: 0; text-align: right; }
.cr-detail-section > .cc-link { margin-right: 20px; }
.cr-policy-number { font-variant-numeric: tabular-nums; margin-right: auto; }
.cr-official, .cr-footer { font-size: .75rem; color: #617188; line-height: 1.65; }
.cr-official { padding-top: 18px; }
.cr-footer { max-width: 1160px; margin: 20px auto 0; padding: 22px 32px 30px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; border-top: 1px solid #dde5ee; }
.cr-footer p { max-width: 680px; margin: 0; }
.cr-preview { padding: 10px 20px; text-align: center; background: #e4edf6; color: #284d6c; font-size: .8125rem; }
.cr-access { max-width: 540px; margin: 40px auto 80px; padding: 0 28px; }
.cr-access h1 { font-size: 2.7rem; }
.cr-access > p { margin-bottom: 28px; }
.cr-access .cc-form { margin: 28px 0; }
.cr-access > .cc-link { display: flex; }
.cr-access h2 { font: 500 1.2rem 'Space Grotesk', sans-serif; margin-top: 40px; }
.cr-kicker { font-size: .8125rem; color: #456a8a; font-weight: 500; }
@media (max-width: 1050px) {
 .cc-client-row { grid-template-columns: 36px minmax(150px, 1.8fr) minmax(95px, 1fr) minmax(105px, 1fr); }
 .cc-client-row > :nth-child(5) { grid-column: 2 / 4; }
 .cc-client-row > :last-child { grid-column: 4; }
 .cc-record-grid { grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; }
 .cc-panel { padding: 20px; }
 .cr-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 26px; }
 .cr-coverage-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
 .cc-page { padding-top: 12px; }
 .cc-page-head { align-items: flex-start; }
 .cc-page-head > .cc-button { flex-shrink: 0; }
 .cc-toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .cc-toolbar > :first-child { grid-column: 1 / -1; }
 .cc-client-row { grid-template-columns: 32px minmax(0, 1fr) auto; padding: 18px 2px; gap: 12px; }
 .cc-client-row > :nth-child(3), .cc-client-row > :nth-child(4), .cc-client-row > :nth-child(5) { grid-column: 2 / -1; flex-direction: row; justify-content: space-between; }
 .cc-client-row > :last-child { grid-column: 3; grid-row: 1; }
 .cc-client-identity .cc-muted { font-size: .75rem; }
 .cc-record-grid { grid-template-columns: 1fr; }
 .cc-panel { padding: 20px; }
 .cc-dashboard { padding: 18px; }
 .cc-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .cc-metrics strong { font-size: 1.55rem; }
 .cc-metrics span { font-size: .75rem; }
 .cc-dashboard-title .cc-link { font-size: .75rem; }
 .cc-form-grid, .cc-check-grid { grid-template-columns: 1fr; }
 .cc-dialog { padding: 20px; }
 .cc-service-row { flex-wrap: wrap; }
 .cc-policy-facts { max-width: 155px; }
 .cr-header { padding: 20px; gap: 10px; align-items: flex-start; }
 .cr-header .cc-actions { flex-wrap: nowrap; gap: 0; }
 .cr-header .cc-button { font-size: .75rem; padding: 8px; }
 .cr-brand-mark { width: 36px; height: 36px; border-radius: 8px; }
 .cr-brand { gap: 9px; }
 .cr-brand strong { font-size: .8125rem; }
 .cr-brand p { font-size: .6875rem; }
 .cr-main { padding: 22px 20px 12px; }
 .cr-greeting { margin-bottom: 28px; }
 .cr-greeting h1 { font-size: 2rem; }
 .cr-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
 .cr-coverage-grid { grid-template-columns: 1fr; gap: 16px; }
 .cr-coverage-card { padding: 22px; }
 .cr-card-top { margin-bottom: 18px; }
 .cr-coverage-card h3 { margin-bottom: 20px; }
 .cr-coverage-amount strong { font-size: 2rem; }
 .cr-next { padding: 20px; align-items: flex-start; flex-direction: column; gap: 14px; }
 .cr-next .cc-button { width: 100%; }
 .cr-action-section .cc-actions { display: grid; grid-template-columns: 1fr; }
 .cr-agent { padding: 24px 0 0; border-left: none; border-top: 1px solid #d4deeb; }
 .cr-agent-mark { float: left; margin-right: 16px; width: 48px; height: 48px; }
 .cr-agent .cc-section-head { margin-bottom: 8px; }
 .cr-agent > .cc-link { clear: both; }
 .cr-agent > .cc-button { width: 100%; }
 .cr-footer { margin-top: 10px; padding: 22px 20px; }
 .cr-details { padding: 2px 20px 20px; }
 .cr-facts { font-size: .875rem; gap: 14px; }
 .cr-access { margin: 35px auto 60px; padding: 0 24px; }
 .cr-access h1 { font-size: 2.2rem; }
 .cr-preview { font-size: .75rem; }
}
@media (prefers-reduced-motion: reduce) { #care-root *, .cc-page *, .cc-dialog * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }

.cc-check { display:flex; align-items:center; gap:12px; min-height:44px; font-size:.875rem; }
.cr-notice { color:#285d4a; background:#e9f3ee; border:1px solid #bad3c6; border-radius:8px; padding:12px 16px; }
/* Trusted Access: a quiet personal handoff, with a secondary voluntary CTA. */
.cr-header .cc-button { white-space: nowrap; }
.cr-header > .cc-actions { flex-shrink: 0; }
.cr-greeting-actions { margin-top: 24px; }
.cr-trusted-main { max-width: 880px; margin: 0 auto; padding: 64px 32px 32px; }
.cr-trusted-greeting { max-width: 680px; margin-bottom: 44px; }
.cr-trusted-greeting h1 { font: 500 clamp(32px,4vw,52px)/1.13 'Space Grotesk',sans-serif; letter-spacing: -.035em; color: #172b46; margin: 18px 0 24px; }
.cr-trusted-intro { font-size: 18px; line-height: 1.75; color: #435571; margin-bottom: 16px; }
.cr-trusted-policy { background: #fff; padding: 30px; border: 1px solid #dce3eb; border-radius: 14px; margin-bottom: 20px; }
.cr-trusted-policy h2 { font-size: 24px; margin: 8px 0 24px; }
.cr-trusted-contact { display: flex; align-items: flex-start; gap: 20px; margin: 32px 0 24px; padding: 28px 0; border-block: 1px solid #dce3eb; }
.cr-trusted-contact .cc-actions { margin-top: 14px; }
.cr-trusted-number { border-top: 1px solid #e5eaf0; padding-top: 18px; margin-top: 20px; }
.cr-trusted-number > .cc-actions { margin-top: 8px; }
.cr-trusted-expiry { font-size: 13px; color: #64748b; }
.cr-own-coverage { margin-top: 52px; padding-top: 24px; border-top: 1px solid #dce3eb; }
.cr-own-coverage .cc-section-head h2 { font-size: 18px; }
.cr-own-coverage .cc-link { display: inline-block; margin-top: 12px; }
.cc-trusted-grant { border-top: 1px solid #dce3eb; margin-top: 24px; padding-top: 24px; overflow-wrap: anywhere; }
.cc-trusted-grant h3 { font-size: 18px; }
.cc-trusted-grant > p { margin: 10px 0; }
.cc-trusted-grant details { margin-top: 16px; font-size: 13px; }
.cc-trusted-grant details p { margin: 8px 0; }
.cc-trusted-choices { border: 1px solid #dce3eb; border-radius: 10px; padding: 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cc-trusted-choices legend { font-weight: 600; padding: 0 6px; }
.cc-trusted-choices .cc-field { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: flex-start; gap: 10px; }
.cc-trusted-choices input[type=checkbox] { flex: 0 0 18px; width: 18px; margin-top: 3px; }
.cc-permission-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; list-style: none; padding: 0; }
.cc-permission-on { color: #154c68; font-weight: 550; }
.cc-trusted-preview { border: 1px solid #dce3eb; border-radius: 12px; overflow: hidden; background: #f6f8fb; }
.cc-trusted-preview .cr-trusted-main { padding: 28px 24px; }
.cc-trusted-preview .cr-trusted-greeting h1 { font-size: 30px; }
.cc-trusted-preview .cr-trusted-intro { font-size: 15px; }
.cc-trusted-preview .cr-trusted-policy { padding: 20px; }
.cc-dialog--trusted { width: min(760px,calc(100vw - 32px)); }
@media(max-width:600px) {
 .cr-trusted-main { padding: 36px 20px 24px; }
 .cr-trusted-greeting { margin-bottom: 28px; }
 .cr-trusted-intro { font-size: 16px; line-height: 1.65; }
 .cr-trusted-policy { padding: 22px; }
 .cr-trusted-contact { gap: 14px; }
 .cr-trusted-contact .cr-agent-mark { width: 40px; height: 40px; flex: 0 0 40px; }
 .cc-trusted-choices,.cc-permission-summary { grid-template-columns: 1fr; }
 .cc-trusted-preview .cr-trusted-main { padding: 24px 14px; }
 .cc-trusted-preview .cr-trusted-policy { padding: 16px; }
}
/* Keep the language choices intact within the Client Care producer header. */
body:has(.cc-page) .langseg { flex-shrink: 0; }
.cr-trusted-greeting h1 { text-wrap: balance; }
@media(min-width:1280px) {
 .cc-policy-row { grid-template-columns: minmax(0,1fr) auto auto; align-items: center; }
 .cc-policy-row > .cc-actions { grid-column: auto; flex-direction: column; align-items: flex-end; gap: 12px; }
}

/* Trusted requests retain the room's quiet servicing hierarchy. */
.cr-shared-help {padding:24px 0;border-top:1px solid var(--cc-line,#deded6)}
.cr-shared-help .cc-section-head h2 {font-size:1.15rem}
.cc-connections {display:grid;gap:16px;margin:18px 0}
.cc-connection {padding:18px;border:1px solid var(--cc-line,#deded6);border-radius:12px;background:var(--cc-paper,#fafaf7);overflow-wrap:anywhere}
.cc-connection h4 {font-size:1rem;margin:0}
.cc-connection p {margin:8px 0;line-height:1.5}
.cc-connection details {margin:14px 0}
.cc-connection-message {white-space:pre-wrap}
.cc-trusted-grant .cc-connection {color:var(--cc-ink,#202c29)}

.cc-intent-choices {border:0;padding:16px 0 0;margin:0;min-width:0}
.cc-intent-choices legend {font-weight:600}
.cc-intent-choices .cc-field {display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:flex-end;gap:12px;padding:12px;border:1px solid var(--cc-line,#deded6);border-radius:10px;margin:8px 0;line-height:1.5}
.cc-intent-choices input[type=checkbox] {width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#245e52}
.cc-intent-choices .cc-field:has(input:checked) {border-color:#245e52;background:#edf3ee}

.cc-input[type=checkbox] {flex-shrink:0}
.cc-field.cc-recipient-consent {flex-direction:row-reverse;align-items:flex-start;justify-content:flex-end;line-height:1.6;padding:16px;border:1px solid #c6d7d2;border-radius:10px;background:#f4f8f5}
.cc-recipient-consent input {margin-top:3px}
.cr-shared-help > p, .cr-own-coverage > p {margin:12px 0 16px}

/* The policy picker uses the existing ProducerPoint combobox in one full-width
   field. Long carrier names wrap, and its scroll stays inside the dialog. */
.cc-dialog .cbx { width: 100%; min-width: 0; }
.cc-dialog .cbx .cc-input { width: 100%; box-sizing: border-box; }
.cc-dialog .cbx__list { background: #fff; color: #172b48; border: 1px solid #d0dbe8; border-radius: 10px; max-height: min(260px, 35dvh); }
.cc-dialog .cbx__opt { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
.cc-dialog .cbx__opt.is-active { background: #edf4fa; }

/* Client Room: a restrained financial-record surface. These tokens and rules
   are scoped to client presentation; ProducerPoint management stays unchanged. */
#care-root, .cr-trusted-view {
 --cr-paper:#fff; --cr-canvas:#f6f5f1; --cr-ink:#172b48;
 --cr-muted:#53617a; --cr-blue:#173e65; --cr-line:#d9dedf;
 color:var(--cr-ink);
}
body.cr-body:has(#care-root) { background:#f6f5f1; }
.cr-header { max-width:1072px; padding:24px 32px; border-bottom:1px solid var(--cr-line); }
.cr-brand-mark { border-radius:50%; width:44px; height:44px; border-color:var(--cr-blue); color:var(--cr-blue); }
.cr-header .cc-button { color:var(--cr-muted); }
.cr-main { max-width:1072px; padding:36px 32px 12px; }
.cr-welcome { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:48px; align-items:center; margin-bottom:36px; }
.cr-greeting { max-width:600px; margin:0; }
.cr-greeting h1 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.12; font-weight:500; letter-spacing:-.045em; margin:12px 0 16px; overflow-wrap:anywhere; }
.cr-kicker { color:var(--cr-muted); font-size:.75rem; font-weight:500; letter-spacing:.065em; line-height:1.5; }
.cr-welcome-copy { max-width:36ch; color:var(--cr-muted); font-size:1rem; line-height:1.65; }
.cr-agent { display:flex; gap:16px; border:0; padding:20px 0; margin:0; min-width:0; }
.cr-agent-mark { flex:0 0 44px; width:44px; height:44px; margin:0; float:none; background:#e5eaed; color:var(--cr-blue); font:500 1.3rem 'Space Grotesk',sans-serif; }
.cr-agent-identity { min-width:0; }
.cr-agent .cr-kicker { margin:0 0 6px; }
.cr-agent h2 { color:var(--cr-ink); font:500 1.2rem/1.35 'Space Grotesk',sans-serif; margin:0; }
.cr-agent .cc-muted { font-size:.8125rem; margin:4px 0 8px; }
.cr-agent-contact { display:flex; flex-wrap:wrap; gap:0 16px; }
.cr-agent .cc-link { min-height:44px; font-size:.8125rem; text-align:left; overflow-wrap:anywhere; }
.cr-agent-identity > .cc-button { background:transparent; border:0; padding:8px 0; text-decoration:underline; text-underline-offset:5px; font-size:.8125rem; }
.cr-coverage > .cc-section-head { display:flex; align-items:center; gap:22px; margin:0 0 18px; }
.cr-coverage > .cc-section-head::after { content:''; height:1px; background:var(--cr-line); flex:1; }
.cr-main h2 { font-weight:500; }
.cr-coverage-grid, .cr-coverage-grid:has(> :only-child) { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; max-width:none; }
.cr-coverage-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:22px 36px; border:1px solid var(--cr-line); border-radius:12px; background:var(--cr-paper); padding:28px 32px 0; box-shadow:0 4px 16px #172b4805; overflow:hidden; }
.cr-coverage-card::before, .cr-trusted-policy::before { content:''; position:absolute; top:0; left:32px; width:40px; height:3px; background:var(--cr-blue); }
.cr-policy-identity { min-width:0; }
.cr-card-top { justify-content:flex-start; gap:12px; margin:0 0 14px; }
.cr-carrier { color:var(--cr-muted); font-size:.75rem; line-height:1.5; letter-spacing:.045em; }
.cr-coverage-card h3 { font:500 clamp(1.2rem,2vw,1.45rem)/1.3 'Space Grotesk',sans-serif; margin:0 0 10px; max-width:38ch; }
.cr-coverage-card .cc-badge { background:#edf1f3; color:var(--cr-blue); border-radius:4px; }
.cr-policy-identity > .cc-muted { font-size:.75rem; margin:0; }
.cr-coverage-amount { text-align:right; gap:6px; }
.cr-coverage-amount .cc-muted { font-size:.75rem; }
.cr-coverage-amount strong { font:500 clamp(1.9rem,3.2vw,2.65rem)/1.1 'Space Grotesk',sans-serif; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.cr-card-footer { grid-column:1/-1; width:100%; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--cr-line); padding:12px 0; margin:0; }
.cr-policy-meta { display:flex; flex-wrap:wrap; gap:4px 24px; align-items:center; }
.cr-card-footer p { margin:0; font-size:.8125rem; }
.cr-card-footer .cc-button { flex-shrink:0; padding:10px 0 10px 12px; min-height:44px; font-size:.8125rem; }
.cr-card-footer .cc-button:hover { text-decoration:underline; text-underline-offset:5px; }
.cr-coverage-empty { padding:32px; margin:0; border:0; border-radius:12px; background:#ecefed; color:var(--cr-ink); }
.cr-empty-mark { display:block; font:400 2rem 'Space Grotesk',sans-serif; color:var(--cr-blue); margin-bottom:16px; }
.cr-coverage-empty h3 { font:500 1.6rem/1.25 'Space Grotesk',sans-serif; letter-spacing:-.025em; max-width:26ch; }
.cr-coverage-empty p { color:var(--cr-muted); font-size:.9375rem; max-width:58ch; margin:12px 0 0; }
.cr-upcoming { margin-top:30px; }
.cr-upcoming > .cc-section-head { margin:0 0 8px; }
.cr-upcoming-row { border-color:var(--cr-line); padding:18px 0; }
.cr-upcoming-row strong { font:500 1.125rem/1.5 'Space Grotesk',sans-serif; }
.cr-upcoming-row .cr-kicker { margin:0 0 4px; }
.cr-upcoming-row .cc-button { border-color:transparent; background:transparent; font-size:.8125rem; }
.cr-upcoming-row .cc-button:hover { background:#e8edef; }
.cr-action-section { margin-top:30px; padding:26px 28px 12px; border-radius:12px; background:#e9edef; }
.cr-service-intro { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.cr-service-intro .cc-section-head { margin:0; }
.cr-service-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; margin-top:18px; border-top:1px solid #cdd5da; }
.cr-service-actions .cc-button { text-align:left; justify-content:space-between; font-size:.8125rem; padding:16px 0; background:transparent; border:0; border-radius:0; }
.cr-service-actions .cc-button:hover { color:var(--cr-blue); text-decoration:underline; text-underline-offset:5px; }
.cr-details { margin:24px 0 12px; border-color:var(--cr-line); border-radius:12px; }
.cr-main > .cr-agent { margin-top:24px; border-top:1px solid var(--cr-line); }
.cr-detail-section:last-child { border-bottom:0; }
.cr-footer { max-width:1008px; margin:24px auto 0; padding:22px 0 30px; border-color:var(--cr-line); color:var(--cr-muted); font-size:.6875rem; gap:20px; }
.cr-footer p { max-width:76ch; }
.cr-footer > span { font-family:'Space Grotesk',sans-serif; white-space:nowrap; }
.cr-preview { background:#e7ecef; padding:8px 20px; font-size:.75rem; }
.cr-trusted-view { background:var(--cr-canvas); }
.cr-trusted-main { max-width:872px; padding:36px 32px 16px; }
.cr-trusted-greeting { max-width:700px; margin-bottom:28px; }
.cr-trusted-greeting h1 { font-size:clamp(2rem,3.5vw,2.8rem); letter-spacing:-.04em; margin:14px 0 18px; color:var(--cr-ink); text-wrap:balance; }
.cr-trusted-intro { font-size:1rem; line-height:1.7; margin:0 0 14px; color:var(--cr-muted); }
.cr-sharing-reasons { margin-top:20px; padding:4px 0 4px 20px; border-left:2px solid #becbd5; font-size:.9375rem; color:var(--cr-ink); }
.cr-sharing-reasons ul { padding-left:18px; margin:12px 0 0; }
.cr-sharing-reasons li { margin:10px 0; padding-left:4px; line-height:1.65; }
.cr-trusted-policy { position:relative; padding:28px 32px; border-color:var(--cr-line); border-radius:12px; box-shadow:0 4px 16px #172b4805; overflow-wrap:anywhere; }
.cr-trusted-policy h2 { font:500 1.4rem/1.35 'Space Grotesk',sans-serif; margin:12px 0 24px; letter-spacing:-.025em; }
.cr-trusted-policy .cr-facts { gap:14px 24px; }
.cr-trusted-amount { display:flex; flex-direction:column; gap:6px; margin:0 0 24px; }
.cr-trusted-amount strong { font:500 clamp(2rem,3.5vw,2.65rem)/1.15 'Space Grotesk',sans-serif; letter-spacing:-.055em; font-variant-numeric:tabular-nums; }
.cr-trusted-amount > span { color:var(--cr-muted); font-size:.75rem; }
.cr-trusted-contact { gap:16px; margin:24px 0; padding:24px 0; border-color:var(--cr-line); overflow-wrap:anywhere; }
.cr-trusted-contact > div:last-child { min-width:0; }
.cr-trusted-contact h2 { font-size:.8125rem; color:var(--cr-muted); font-weight:400; }
.cr-trusted-contact h3 { margin:0; font:500 1.2rem/1.4 'Space Grotesk',sans-serif; }
.cr-trusted-contact .cc-section-head { margin:0 0 8px; }
.cr-trusted-contact .cc-actions { margin-top:4px; }
.cr-trusted-expiry { font-size:.75rem; color:var(--cr-muted); }
.cr-shared-help { padding:24px; background:#e9edef; border:0; border-radius:12px; margin-top:24px; }
.cr-shared-help h2, .cr-own-coverage h2 { font:500 1.2rem/1.4 'Space Grotesk',sans-serif; letter-spacing:-.02em; }
.cr-shared-help .cc-section-head, .cr-own-coverage .cc-section-head { margin:0; }
.cr-shared-help > .cc-button { background:var(--cr-blue); border-color:var(--cr-blue); color:white; }
.cr-own-coverage { margin-top:28px; padding-top:24px; border-color:var(--cr-line); }
.cr-trusted-main .cr-footer { margin-top:32px; }
.cr-access { background:var(--cr-paper); border:1px solid var(--cr-line); padding:32px; border-radius:14px; margin-top:48px; }
body.cr-body .cc-dialog { background:var(--cr-paper,#fff); }
#care-root .cc-button, #care-root .cc-link { transition:background-color 140ms ease,color 140ms ease; }
#care-root :focus-visible, .cr-trusted-view :focus-visible { outline:3px solid #4481ad; outline-offset:3px; }
@media(max-width:720px) {
 .cr-header { padding:18px 20px; gap:12px; }
 .cr-header .cc-actions { flex-wrap:wrap; justify-content:flex-end; }
 .cr-header .cc-button { font-size:.75rem; min-height:44px; }
 .cr-brand-mark { width:36px; height:36px; }
 .cr-main { padding:26px 20px 8px; }
 .cr-welcome { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:28px; }
 .cr-greeting h1 { font-size:2.2rem; margin:8px 0 12px; }
 .cr-welcome-copy { font-size:.9375rem; margin-bottom:0; }
 .cr-agent { gap:14px; padding:18px 0 0; border-top:1px solid var(--cr-line); }
 .cr-agent-mark { width:40px; height:40px; flex-basis:40px; }
 .cr-agent h2 { font-size:1.125rem; }
 .cr-agent-contact { gap:0 12px; }
 .cr-agent .cc-link { font-size:.8125rem; }
 .cr-agent-identity > .cc-button { margin:0; }
 .cr-coverage-card { grid-template-columns:minmax(0,1fr); padding:24px 22px 0; gap:22px; }
 .cr-coverage-card::before, .cr-trusted-policy::before { left:22px; }
 .cr-card-top { margin-bottom:12px; gap:8px 12px; }
 .cr-coverage-card h3 { font-size:1.3rem; }
 .cr-coverage-amount { text-align:left; }
 .cr-coverage-amount strong { font-size:2.3rem; }
 .cr-card-footer { flex-wrap:wrap; align-items:flex-start; gap:8px; padding:14px 0; }
 .cr-policy-meta { width:100%; flex-direction:column; align-items:flex-start; gap:8px; }
 .cr-card-footer .cc-button { padding:8px 0; }
 .cr-coverage-empty { padding:26px 24px; }
 .cr-coverage-empty h3 { font-size:1.5rem; }
 .cr-upcoming-row { gap:12px; }
 .cr-upcoming-row > .cc-actions { margin-left:-12px; }
 .cr-action-section { padding:24px 22px 10px; }
 .cr-service-intro { flex-direction:column; align-items:stretch; gap:16px; }
 .cr-service-intro .cc-button { width:100%; }
 .cr-service-actions { grid-template-columns:minmax(0,1fr); margin-top:18px; }
 .cr-service-actions .cc-button { min-height:52px; border-bottom:1px solid #cdd5da; font-size:.875rem; }
 .cr-service-actions .cc-button:last-child { border-bottom:0; }
 .cr-footer { margin:24px 20px 0; padding:20px 0 26px; gap:16px; }
 .cr-trusted-main { padding:28px 20px 16px; }
 .cr-trusted-greeting h1 { font-size:2rem; }
 .cr-trusted-greeting .cc-muted { font-size:.8125rem; }
 .cr-sharing-reasons { padding-left:14px; font-size:.875rem; }
 .cr-trusted-policy { padding:24px 22px; }
 .cr-trusted-policy .cr-facts { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
 .cr-trusted-contact .cc-actions { flex-direction:column; align-items:flex-start; gap:0; }
 .cr-trusted-main .cr-footer { margin-inline:0; }
 .cr-access { margin:28px 20px 48px; padding:26px 24px; }
}
@media(min-width:721px) and (max-width:1080px) { .cr-footer { margin-inline:32px; } }
/* Public relationship front door: shares the room's typography, navy and quiet surfaces. */
.fcf-main { --fcf-ink:#142e46; --fcf-muted:#536574; --fcf-line:#d7dedf; --fcf-paper:#fff; --fcf-soft:#eaf0ee; max-width:1160px; margin:auto; padding:20px 32px 0; color:var(--fcf-ink); }
.fcf-header { padding-bottom:20px; }
.fcf-main h1,.fcf-main h2 { font-family:'Space Grotesk',sans-serif; font-weight:500; letter-spacing:-.045em; }
.fcf-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr); gap:64px; align-items:center; padding:26px 0 38px; }
.fcf-main .cr-kicker { color:#506b72; margin:0 0 14px; font-size:.7rem; letter-spacing:.13em; }
.fcf-hero h1 { font-size:clamp(2.6rem,4.5vw,4.25rem); line-height:1.08; margin:0 0 22px; max-width:680px; text-wrap:balance; }
.fcf-hero h1 span { display:block; }
.fcf-intro { font-size:1rem; line-height:1.75; color:var(--fcf-muted); max-width:590px; margin:0 0 24px; }
.fcf-hero-actions { gap:22px; }
.fcf-hero-actions .cc-button { padding:14px 22px; }
.fcf-relationship { border-left:1px solid var(--fcf-line); padding:12px 0 12px 28px; }
.fcf-rule { display:block; width:34px; height:2px; background:#8c9a87; margin-bottom:24px; }
.fcf-relationship h2 { font-size:1.65rem; line-height:1.25; margin:0 0 16px; }
.fcf-relationship p { font-size:.875rem; line-height:1.75; color:var(--fcf-muted); margin:0; }
.fcf-services { border-block:1px solid var(--fcf-line); padding:22px 0; display:grid; grid-template-columns:220px 1fr; gap:30px; align-items:start; }
.fcf-services h2 { margin:0; font-size:1.12rem; max-width:185px; line-height:1.4; }
.fcf-services ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:10px 28px; }
.fcf-services li { font-size:.8125rem; line-height:1.6; color:#34525e; }
.fcf-services li::before { content:'—'; margin-right:9px; color:#80958b; }
.fcf-personal-access { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:48px; padding:38px 0 4px; align-items:center; }
.fcf-personal { display:flex; gap:24px; align-items:center; }
.fcf-personal img { width:138px; height:182px; flex:0 0 138px; object-fit:cover; border-radius:8px; background:#dce4e3; }
.fcf-bio { font-size:.875rem; line-height:1.75; margin:0 0 18px; color:var(--fcf-muted); }
.fcf-personal h2 { margin:0; font-size:1.2rem; }
.fcf-role { font-size:.75rem; margin:3px 0 0; color:var(--fcf-muted); }
.fcf-signature { font-size:.875rem; margin:12px 0 0; font-weight:500; color:#2f565e; }
.fcf-access { border:1px solid #d4dedb; background:var(--fcf-paper); padding:26px 28px; border-radius:14px; scroll-margin:24px; }
.fcf-access h2 { font-size:1.65rem; line-height:1.2; margin:0 0 10px; }
.fcf-access > p:not(.cr-kicker) { font-size:.8125rem; line-height:1.65; color:var(--fcf-muted); margin:0 0 18px; }
.fcf-access-form { gap:12px; }
.fcf-access-form .cc-field { font-size:.75rem; }
.fcf-access-form .cc-input { font-size:1rem; }
.fcf-access .fcf-security { margin:14px 0 0!important; font-size:.7rem!important; }
.fcf-form-status { margin:0; font-size:.8125rem; line-height:1.6; color:#215e54; }
.fcf-form-status:empty { display:none; }
.fcf-footer { max-width:1096px; margin:30px auto 0; padding:22px 0; font-size:.75rem; align-items:center; }
.fcf-footer strong { font-weight:500; color:#284151; }
.fcf-footer p { margin:3px 0 0; }
.fcf-contact { display:flex; flex-wrap:wrap; gap:4px 16px; }
.fcf-contact .cc-link { font-size:.75rem; overflow-wrap:anywhere; }
@media(max-width:1100px) { .fcf-footer { margin-inline:32px; }.fcf-personal { align-items:flex-start; }.fcf-personal img { width:100px; flex-basis:100px; height:138px; }.fcf-personal-access { gap:28px; }.fcf-hero { gap:34px; } }
@media(max-width:720px) {
 .fcf-header .cr-brand strong { font-size:.875rem; }.fcf-header { padding:18px 20px; gap:8px; }.fcf-header .cr-brand { gap:9px; }
 .fcf-main { padding:4px 22px 0; }.fcf-hero { grid-template-columns:1fr; gap:28px; padding:20px 0 28px; }
 .fcf-hero h1 { font-size:2.65rem; max-width:460px; margin-bottom:18px; }.fcf-intro { font-size:.9375rem; line-height:1.7; margin-bottom:20px; }
 .fcf-hero-actions { gap:10px 20px; }.fcf-hero-actions .cc-button { width:100%; }.fcf-hero-actions .cc-link { margin:auto; }
 .fcf-relationship { padding:20px 0 0; border-left:0; border-top:1px solid var(--fcf-line); }.fcf-rule { display:none; }.fcf-relationship h2 { font-size:1.5rem; max-width:350px; margin-bottom:12px; }
 .fcf-services { display:block; padding:24px 0; }.fcf-services h2 { max-width:none; margin-bottom:16px; }.fcf-services ul { display:grid; gap:8px; }
 .fcf-personal-access { display:flex; flex-direction:column; gap:28px; padding-top:28px; align-items:stretch; }.fcf-personal { gap:18px; }.fcf-personal img { width:94px; height:126px; flex-basis:94px; }.fcf-bio { font-size:.8125rem; }.fcf-personal .cr-kicker { font-size:.625rem; }
 .fcf-access { padding:24px; }.fcf-footer { margin:28px 22px 0; flex-direction:column; align-items:flex-start; gap:12px; }
}
