/* Company portal designs are opt-in. Evergreen Classic uses client-portal.css unchanged. */
body.client-experience.client-designed { --cp-ink:var(--cd-ink);--cp-muted:var(--cd-muted);--cp-border:var(--cd-line);background:var(--cd-bg);color:var(--cd-ink) }
.client-designed .sidebar,.client-designed .topbar { background:var(--cd-panel);border-color:var(--cd-line);backdrop-filter:none }
.client-designed .sidebar .brand,.client-designed .nav-item,.client-designed .nav-label,.client-designed .demo-badge,.client-designed footer,.client-designed .workspace-switch { color:var(--cd-muted) }
.client-designed .workspace-switch,.client-designed .avatar,.client-designed .section-help,.client-designed .topbar .secondary { background:var(--cd-panel);border-color:var(--cd-line);color:var(--cd-ink) }
.client-designed .nav-item.active { background:var(--cd-bg);border-color:var(--cd-line);color:var(--cd-readable);box-shadow:none }
.client-designed .cp-portal { color:var(--cd-ink) }
.client-designed .cp-hero h1,.client-designed .cp-section-heading h2,.client-designed .cp-stat strong,.client-designed .cp-history-total strong,.client-designed .cp-support h2,.client-designed .cp-policy h3,.client-designed .cp-empty-state h3 { font-family:var(--cd-font);color:var(--cd-ink) }
.client-designed .cp-hero h1 em,.client-designed .cp-support h2 em { color:var(--cd-accent) }
.client-designed .cp-portal h1,.client-designed .cp-portal h2,.client-designed .cp-portal h3 { overflow-wrap:anywhere;white-space:pre-line }
.client-designed .cp-welcome,.client-designed .cp-kicker,.client-designed .cp-stat-label,.client-designed .cp-stat small,.client-designed .cp-panel-heading p,.client-designed .cp-company-note,.client-designed .cp-wallet-caption,.client-designed .cp-history-total > span,.client-designed .cp-chart-column time,.client-designed .cp-chart-foot,.client-designed .cp-policy-number,.client-designed .cp-policy-facts small,.client-designed .cp-policy-footer,.client-designed .cp-claim small,.client-designed .cp-table-detail,.client-designed .cp-empty-state p,.client-designed .cp-closing,.client-designed .cp-support > p,.client-designed .cp-support-note,.client-designed .cp-section-heading p { color:var(--cd-muted) }
.client-designed .cp-glass,.client-designed .cp-stat,.client-designed .cp-support { background:var(--cd-panel);border:1px solid var(--cd-line);border-radius:var(--cd-radius);box-shadow:none;backdrop-filter:none }
.client-designed .cp-stat-icon,.client-designed .cp-panel-icon,.client-designed .cp-period,.client-designed .cp-plan,.client-designed .cp-person-avatar { background:var(--cd-bg);border-color:var(--cd-line);color:var(--cd-readable) }
.client-designed .cp-primary { background:var(--cd-primary);color:var(--cd-on-primary);border-color:var(--cd-primary);box-shadow:none }
.client-designed .cp-secondary { color:var(--cd-readable);background:var(--cd-panel);border-color:var(--cd-line);box-shadow:none }
.client-designed .cp-link,.client-designed .cp-chart-bar span { color:var(--cd-readable) }
.client-designed .cp-primary,.client-designed .cp-secondary { border-radius:var(--cd-radius) }
.client-designed .cp-membership { background:var(--cd-primary);color:var(--cd-on-primary);border-radius:var(--cd-radius);border-color:var(--cd-line);box-shadow:0 20px 45px #00000016 }
.client-designed .cp-member-top > small,.client-designed .cp-member-label,.client-designed .cp-member-middle > small,.client-designed .cp-member-bottom small,.client-designed .cp-member-reference,.client-designed .cp-member-seal,.client-designed .cp-card-services { color:inherit;opacity:.88 }
.client-designed .cp-chart-bar,.client-designed .cp-chart-column.is-current .cp-chart-bar { background:var(--cd-primary) }
.client-designed .cp-chart { background:repeating-linear-gradient(to top,transparent 0 35px,var(--cd-line) 35px 36px) }
.client-designed .cp-chart-foot,.client-designed .cp-policy-footer,.client-designed .cp-family,.client-designed .cp-claim,.client-designed .cp-policy-facts,.client-designed .cp-family-person,.client-designed .cp-contact-actions a { border-color:var(--cd-line) }
.client-designed .cp-contact-actions a { background:var(--cd-bg);color:var(--cd-readable) }
.client-designed .cp-support-art { color:var(--cd-accent);opacity:.2 }
.client-designed .cp-payment-panel table,.client-designed .cp-payment-panel td,.client-designed .cp-payment-panel th { color:var(--cd-ink);border-color:var(--cd-line);background:transparent }
.client-designed .cp-payment-panel th { background:var(--cd-bg) }
.client-designed .cp-payment-panel .text-button { background:var(--cd-bg);color:var(--cd-readable) }
.client-designed .cp-eligibility { color:#355a37;background:#edf5e8 }
.client-designed .cp-eligibility.needs-review { color:#7a531c;background:#fff3db }
.client-designed .cp-portal > * { min-width:0 }
.cp-portal [hidden] { display:none !important }
.cd-brand-logo { max-width:180px;max-height:64px;object-fit:contain;object-position:left;margin-bottom:20px }
.cd-hero-photo { width:100%;height:260px;object-fit:cover;border-radius:var(--cd-radius,22px);grid-column:1/-1 }
.cd-support-only { grid-template-columns:minmax(0,1fr) }
.client-designed[data-client-template="heritage"] .cp-hero { border-top:1px solid var(--cd-line);border-bottom:1px solid var(--cd-line);padding:35px 0 }
.client-designed[data-client-template="heritage"] .cp-hero h1 { font-size:clamp(40px,5vw,72px);font-weight:400 }
.client-designed[data-client-template="heritage"] .cp-membership { transform:none;animation:none;border:8px double var(--cd-accent) }
.client-designed[data-client-template="heritage"] .cp-cover-section { margin:32px 0 }
.client-designed[data-client-template="heritage"] .cp-policy-grid { grid-template-columns:minmax(0,1fr) }
.client-designed[data-client-template="heritage"] .cp-policy { display:grid;grid-template-columns:1fr 1fr;column-gap:35px;padding:28px }
.client-designed[data-client-template="heritage"] .cp-policy-top,.client-designed[data-client-template="heritage"] .cp-policy-footer { grid-column:1/-1 }
.client-designed[data-client-template="heritage"] .cp-policy-facts { grid-row:2/4;grid-column:2 }
.client-designed[data-client-template="nocturne"] .cp-hero { grid-template-columns:minmax(0,1fr);text-align:center;padding:36px 0 }
.client-designed[data-client-template="nocturne"] .cp-hero-copy { max-width:800px;margin:auto }
.client-designed[data-client-template="nocturne"] .cp-hero h1 { font-size:clamp(46px,5vw,76px);font-weight:400 }
.client-designed[data-client-template="nocturne"] .cp-hero-copy > p { max-width:550px;margin:0 auto 24px }
.client-designed[data-client-template="nocturne"] .cp-hero-actions { justify-content:center }
.client-designed[data-client-template="nocturne"] .cp-wallet-scene { width:100%;max-width:620px }
.client-designed[data-client-template="nocturne"] .cp-membership { animation:none;transform:none;background:linear-gradient(125deg,var(--cd-panel),var(--cd-bg));color:var(--cd-ink);border-color:var(--cd-accent);min-height:230px;text-align:left }
.client-designed[data-client-template="nocturne"] .cp-orbit,.client-designed[data-client-template="nocturne"] .cp-spark { display:none }
.client-designed[data-client-template="nocturne"] .cp-stat { border-top:3px solid var(--cd-accent) }
.client-designed[data-client-template="nocturne"] .cp-cover-section { margin:36px 0 }
.client-designed[data-client-template="bloom"] .cp-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);padding:40px 0 }
.client-designed[data-client-template="bloom"] .cp-wallet-scene { grid-column:1;grid-row:1 }
.client-designed[data-client-template="bloom"] .cp-hero-copy { grid-column:2;grid-row:1 }
.client-designed[data-client-template="bloom"] .cp-hero h1 { font-weight:700;letter-spacing:-2px }
.client-designed[data-client-template="bloom"] .cp-stats { gap:0;border:1px solid var(--cd-line);border-radius:var(--cd-radius);overflow:hidden }
.client-designed[data-client-template="bloom"] .cp-stat { border:0;border-radius:0;background:color-mix(in srgb,var(--cd-primary) 7%,var(--cd-bg)) }
.client-designed[data-client-template="bloom"] .cp-stat + .cp-stat { border-left:1px solid var(--cd-line) }
.client-designed[data-client-template="bloom"] .cp-support { background:color-mix(in srgb,var(--cd-accent) 12%,var(--cd-panel)) }
.client-designed[data-client-template="bloom"] .cp-primary,.client-designed[data-client-template="bloom"] .cp-secondary { border-radius:50px }
.client-designed[data-client-template="clarity"] .cp-hero { padding:22px 28px;background:var(--cd-primary);color:var(--cd-on-primary);border-radius:var(--cd-radius);margin:20px 0 28px }
.client-designed[data-client-template="clarity"] .cp-hero h1,.client-designed[data-client-template="clarity"] .cp-hero h1 em,.client-designed[data-client-template="clarity"] .cp-hero-copy > p,.client-designed[data-client-template="clarity"] .cp-company-note,.client-designed[data-client-template="clarity"] .cp-welcome,.client-designed[data-client-template="clarity"] .cp-wallet-caption { color:inherit }
.client-designed[data-client-template="clarity"] .cp-hero h1 { font-size:clamp(32px,3.5vw,48px);font-weight:600;letter-spacing:-1.5px }
.client-designed[data-client-template="clarity"] .cp-primary { border:1px solid currentColor }
.client-designed[data-client-template="clarity"] .cp-wallet-scene { max-width:350px;padding:0 }
.client-designed[data-client-template="clarity"] .cp-membership { transform:none;animation:none;min-height:210px;background:var(--cd-panel);color:var(--cd-ink) }
.client-designed[data-client-template="clarity"] .cp-orbit,.client-designed[data-client-template="clarity"] .cp-spark { display:none }
.client-designed[data-client-template="clarity"] .cp-stats { margin-top:30px }
.client-designed[data-client-template="clarity"] .cp-stat { padding:18px 22px;border-left:4px solid var(--cd-primary) }
.client-designed[data-client-template="clarity"] .cp-stat strong { font-family:Poppins,Arial,sans-serif;font-weight:600 }
.client-designed[data-client-template="clarity"] .cp-insights,.client-designed[data-client-template="clarity"] .cp-cover-section { margin-top:32px }
.client-designed[data-client-template="ubuntu"] .cp-hero { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border-bottom:8px solid var(--cd-accent);padding:30px 0 }
.client-designed[data-client-template="ubuntu"] .cp-hero h1 { font-size:clamp(48px,5.5vw,80px);font-weight:800;letter-spacing:-3px;text-transform:uppercase }
.client-designed[data-client-template="ubuntu"] .cp-membership { animation:none;transform:rotate(3deg);border:2px solid var(--cd-ink);box-shadow:10px 10px 0 var(--cd-accent) }
.client-designed[data-client-template="ubuntu"] .cp-policy-grid { grid-template-columns:minmax(0,1fr) }
.client-designed[data-client-template="ubuntu"] .cp-policy { border-left:8px solid var(--cd-accent) }
.client-designed[data-client-template="ubuntu"] .cp-stat { border:0;border-bottom:2px solid var(--cd-ink);padding-left:0;background:transparent }
.client-designed[data-client-template="ubuntu"] .cp-cover-section { margin:32px 0 }
.client-designed[data-client-template="ubuntu"] .cp-support { border-top:8px solid var(--cd-accent) }
.client-designed[data-client-template="ubuntu"] .cp-primary { box-shadow:4px 4px 0 var(--cd-accent) }
@media(max-width:1000px) {
 .client-designed .cp-hero { grid-template-columns:minmax(0,1fr) !important }
 .client-designed[data-client-template="bloom"] .cp-hero-copy { grid-column:1;grid-row:1 }
 .client-designed[data-client-template="bloom"] .cp-wallet-scene { grid-column:1;grid-row:2 }
 .client-designed[data-client-template="heritage"] .cp-policy { display:block }
}
@media(max-width:720px) {
 .client-designed .cp-hero h1 { font-size:clamp(34px,10vw,48px);letter-spacing:-1.5px }
 .client-designed[data-client-template="clarity"] .cp-hero { padding:22px 16px }
 .client-designed .cp-wallet-scene { max-width:100%;min-width:0 }
 .client-designed .cp-member-top > span { font-size:16px;overflow-wrap:anywhere }
 .client-designed .cp-membership { padding:22px 18px }
 .client-designed .cp-stats { gap:8px }
 .client-designed .cp-stat { padding:16px 8px }
 .client-designed .cp-stat-icon { margin-left:auto;margin-right:auto }
 .client-designed .cd-brand-logo { margin-left:auto;margin-right:auto }
 .client-designed .cp-insights,.client-designed .cp-records-grid { grid-template-columns:minmax(0,1fr) }
 .client-designed .cd-hero-photo { height:200px }
}
@media(prefers-reduced-motion:reduce) { .client-designed .cp-membership { animation:none;transform:none } }
@media print { body.client-experience.client-designed { --cd-bg:#fff;--cd-panel:#fff;--cd-ink:#222;--cd-muted:#444;background:#fff;color:#222 } }
.client-experience .cd-sidebar-logo { width:42px;height:42px;object-fit:contain;flex-shrink:0 }
.client-experience .sidebar .brand > span { min-width:0;overflow-wrap:anywhere }
.client-experience .sidebar .brand:has(.cd-sidebar-logo) { gap:10px }
.client-experience .cp-hero h1:has(+p) { white-space:pre-line }

.client-designed .cp-panel-heading h2,.client-designed .cp-announcement h3 { font-family:var(--cd-font) }
/* Keep account controls readable with either a light or dark company palette. */
.client-designed .workspace-switch select,.client-designed .profile,.client-designed .breadcrumb strong,.client-designed .topbar .icon-button { color:var(--cd-ink) }
.client-designed .workspace-switch select { background:var(--cd-panel) }
.client-designed .breadcrumb,.client-designed .sidebar-bottom .text-button,.client-designed .sidebar-bottom .guide-link { color:var(--cd-muted) }
.client-designed .section-help,.client-designed .section-help[open] { background:var(--cd-panel);color:var(--cd-ink);border-color:var(--cd-line) }
.client-designed dialog { color:#244b40 }

/* Guide copy has an explicit global text colour; inherit the portal's readable ink. */
.client-experience.client-designed .section-help > div { color:var(--cd-ink) }

/* Secondary surfaces must use the same palette as the surrounding portal. */
.client-designed .cp-empty-state > span,.client-designed .cp-support-art { background:var(--cd-bg);color:var(--cd-readable);border:1px solid var(--cd-line);opacity:1 }
.client-designed .cp-family summary small { background:var(--cd-bg);color:var(--cd-ink);border:1px solid var(--cd-line) }
.client-designed .cp-family summary .cp-icon,.client-designed .cp-expand,.client-designed .cp-empty-policy > .cp-icon { color:var(--cd-readable) }
.client-designed .cp-family-person small,.client-designed .cp-soft-empty { color:var(--cd-muted) }
.client-designed .cp-chart-column time { background:var(--cd-panel);color:var(--cd-muted) }
.client-designed .cp-chart-foot i { background:var(--cd-readable) }
.client-designed .profile small { color:var(--cd-muted) }
