/* Scoped customer design; no external font or icon dependency. */
.hcrm-customer {
    --hcrm-ink: #192639; --hcrm-muted: #627086; --hcrm-line: #e2e7ef;
    --hcrm-accent: #3157d5; --hcrm-soft: #f4f6fb; --hcrm-radius: 22px;
    color: var(--hcrm-ink); font: 400 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-align: start; color-scheme: light; box-sizing: border-box;
}
.hcrm-customer *, .hcrm-customer *::before, .hcrm-customer *::after { box-sizing: border-box; }
.hcrm-customer [hidden] { display: none !important; }
.hcrm-customer :is(h1,h2,h3,h4) { font-family: inherit; color: var(--hcrm-ink); line-height: 1.2; letter-spacing: -.025em; }
.hcrm-customer a { color: var(--hcrm-accent); text-underline-offset: 4px; }
/* Keep the CAPTCHA attribution readable; its widget otherwise fades this link. */
.hcrm-customer .frc-banner a { opacity: 1; }
.hcrm-customer :is(button,input,textarea,select) { font: inherit; }
.hcrm-customer :is(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid #7895f2; outline-offset: 3px; }
.hcrm-customer .btn, .hcrm-customer .hcrm-provider {
    min-height: 44px; padding: 10px 18px; border: 1px solid var(--hcrm-line); border-radius: 10px;
    font-size: 14px; line-height: 1.45; font-weight: 600; text-decoration: none; box-shadow: none;
    background: #fff; color: var(--hcrm-ink); white-space: normal; cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.hcrm-customer .btn:hover, .hcrm-customer .hcrm-provider:hover { background: #f1f4fc; border-color: #c0ccec; }
.hcrm-customer .btn-primary { background: var(--hcrm-accent); border-color: var(--hcrm-accent); color: #fff; }
.hcrm-customer .btn-primary:hover { background: #2545b2; border-color: #2545b2; color: #fff; }
.hcrm-customer .btn-link { background: transparent; border-color: transparent; color: var(--hcrm-accent); padding-inline: 0; }
.hcrm-customer .btn:disabled, .hcrm-customer button:disabled { cursor: not-allowed; opacity: 1; color: #52617a !important; background: #edf0f5 !important; border-color: #c7cedb; }
.hcrm-customer :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),textarea,select) {
    min-height: 48px; background: #fff; color: var(--hcrm-ink); border: 1px solid #cdd5e2;
    border-radius: 9px; padding: 11px 13px; max-width: 100%; width: 100%; box-shadow: none;
}
.hcrm-customer :is(input,textarea,select):focus { border-color: var(--hcrm-accent); box-shadow: 0 0 0 3px #3157d514; }
.hcrm-customer :is(input,textarea)::placeholder { color: #596780; opacity: 1; }
.hcrm-customer input[type=checkbox], .hcrm-customer input[type=radio] { accent-color: var(--hcrm-accent); width: 18px; height: 18px; }
.hcrm-customer :is(label, .control-label) { font-size: 14px; font-weight: 600; color: #35445a; }
.hcrm-customer .control-group { margin: 0 0 20px; }
.hcrm-customer .control-label { margin-bottom: 7px; }
.hcrm-customer :is(.form-text, .form-text small, .form-text-muted) { color: var(--hcrm-muted); font-size: 13px; }
.hcrm-customer .alert { border: 1px solid var(--hcrm-line); border-radius: 12px; padding: 14px 18px; line-height: 1.55; }
.hcrm-customer .alert-warning { color: #71480e; background: #fff8e9; border-color: #eed5a7; }
.hcrm-customer .alert-info { color: #304d81; background: #f0f5ff; }
.hcrm-customer .hcrm-eyebrow { color: var(--hcrm-muted); font-size: 11px; font-weight: 750; letter-spacing: .14em; margin: 0 0 16px; }
.hcrm-brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 15px; background: #e9eeff; color: var(--hcrm-accent); }
.hcrm-auth { display: grid; grid-template-columns: .94fr 1.06fr; max-width: 1050px; margin: 12px auto 36px; background: #fff; border: 1px solid var(--hcrm-line); border-radius: var(--hcrm-radius); overflow: hidden; box-shadow: 0 16px 50px #26385909; }
.hcrm-auth__story { display: flex; flex-direction: column; align-items: start; background: #f0f3fb; padding: 30px 42px; position: relative; }
.hcrm-auth__back { font-size: 13px; font-weight: 600; text-decoration: none; }
.hcrm-auth__story-content { margin-block: 0; padding: 44px 0 32px; }
.hcrm-auth__story .hcrm-brand-mark { margin-bottom: 32px; background: #fff; box-shadow: 0 5px 15px #3157d50c; }
.hcrm-auth__story h2 { font-size: clamp(30px,3vw,40px); font-weight: 700; margin: 0 0 18px; line-height: 1.15; }
.hcrm-auth__story-content > p:not(.hcrm-eyebrow) { color: #596b83; font-size: 15px; max-width: 310px; margin: 0; }
.hcrm-auth__journey { display: grid; gap: 24px; margin-top: 34px; }
.hcrm-auth__journey > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; align-items: center; }
.hcrm-auth__journey span { grid-row: span 2; align-self: start; display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #d6deee; border-radius: 50%; color: #52617a; font-size: 10px; font-weight: 650; }
.hcrm-auth__journey strong { font-size: 14px; font-weight: 650; }
.hcrm-auth__journey small { font-size: 12px; color: #627086; }
.hcrm-auth__footnote { color: #627086; font-size: 11px; margin: auto 0 0; }
.hcrm-auth__panel { min-width: 0; padding: 54px 48px 40px; align-self: center; }
.hcrm-auth__heading { margin-bottom: 30px; }
.hcrm-auth__heading .hcrm-eyebrow { margin-bottom: 12px; }
.hcrm-auth__heading h1 { font-size: 30px; margin: 0 0 10px; font-weight: 700; }
.hcrm-auth__heading > p:last-child { color: var(--hcrm-muted); font-size: 14px; margin: 0; }
.hcrm-auth__panel :is(form,fieldset) { min-width: 0; }
.hcrm-auth__panel form > .btn-primary { width: 100%; margin-top: 8px; }
.hcrm-auth__panel .control-group .controls { margin-left: 0; }
.hcrm-auth__panel .control-label { float: none; width: auto; text-align: start; }
.hcrm-auth__panel :is(.row,.form-grid) { --gutter-x: 0; --bs-gutter-x: 0; margin-inline: 0; }
.hcrm-auth__panel .row > [class*=col-] { flex: 0 0 100%; width: 100%; max-width: 100%; padding-inline: 0; }
.hcrm-auth__panel :is(.login,.registration,.reset,.remind) { padding: 0; margin: 0; }
.hcrm-auth__panel .page-header { display: none; }
.hcrm-auth__panel .form-horizontal .control-label { padding-top: 0; }
.hcrm-auth__panel .form-check { display: flex; align-items: center; gap: 10px; padding-left: 0; min-height: 36px; }
.hcrm-auth__panel .form-check-input { float: none; margin: 0; }
.hcrm-auth__panel .form-check-label { font-weight: 400; }
/* Native password groups also appear in profile/reset forms and chat frames.
   Supply their layout here: HT templates do not depend on Bootstrap CSS. */
.hcrm-customer .input-group:has(> .input-password-toggle) {
    display: grid; grid-template-columns: minmax(0, 1fr) 46px; align-items: stretch; width: 100%;
}
.hcrm-customer .input-group:has(> .input-password-toggle) > input {
    grid-column: 1; grid-row: 1; min-width: 0; width: 100%; margin: 0;
    border-radius: 0 !important;
    border-start-start-radius: 9px !important; border-end-start-radius: 9px !important;
}
.hcrm-customer .input-group > .input-password-toggle {
    display: inline-flex; align-items: center; justify-content: center; align-self: stretch;
    grid-column: 2; grid-row: 1; width: 46px; min-width: 46px; height: auto; margin: 0; padding: 8px;
    border: 1px solid #cdd5e2; border-inline-start: 0; border-radius: 0 !important;
    border-start-end-radius: 9px !important; border-end-end-radius: 9px !important;
    background: #fff; color: #5b6d85;
}
.hcrm-customer .input-group:has(> .input-password-toggle) > :not(input):not(.input-password-toggle) {
    grid-column: 1 / -1; min-width: 0;
}
.hcrm-password-icon { display: inline-flex; vertical-align: middle; }
.hcrm-password-icon::before { content: none !important; }
.hcrm-auth__panel .com-users-login__options { gap: 8px; margin-top: 16px; }
.hcrm-auth__panel .com-users-login__options a { background: transparent; border: 0; padding: 4px 0; font-size: 13px; color: #4564b1; }
.hcrm-auth__panel .com-users-login__register { border-top: 1px solid var(--hcrm-line) !important; margin-top: 6px; padding-top: 16px !important; font-weight: 650; }
.hcrm-auth__panel .list-group-item:first-child, .hcrm-auth__panel .list-group-item:last-child { border-radius: 0; }
.hcrm-social { display: grid; gap: 10px; margin-bottom: 20px; }
.hcrm-social form, .hcrm-social button { width: 100%; margin: 0; }
.hcrm-divider { display: flex; align-items: center; gap: 16px; font-size: 12px; color: var(--hcrm-muted); margin: 22px 0; }
.hcrm-divider::before, .hcrm-divider::after { content: ''; flex: 1; height: 1px; background: var(--hcrm-line); }
.hcrm-account-footer { border-top: 1px solid var(--hcrm-line); padding-top: 20px; margin-top: 24px; font-size: 13px; color: var(--hcrm-muted); }
.hcrm-account-footer a { font-weight: 600; }
.hcrm-required-note { color: var(--hcrm-muted); font-size: 12px; margin-bottom: 20px; }
/* Reduce the existing template's oversized content spacing only on these pages. */
body:has(.hcrm-customer-page) #sp-main-body { padding-block: 30px 48px; background: #f8fafc; }
body:has(.hcrm-customer-page) .sp-page-title { padding-block: 12px; }
@media (max-width: 760px) {
    .hcrm-auth { grid-template-columns: 1fr; margin-top: 0; border-radius: 16px; }
    .hcrm-auth__story { padding: 20px 24px; }
    .hcrm-auth__story-content { padding: 18px 0 0; }
    .hcrm-auth__story-content > :is(.hcrm-brand-mark,.hcrm-eyebrow), .hcrm-auth__journey, .hcrm-auth__footnote { display: none; }
    .hcrm-auth__story h2 { font-size: 24px; margin-bottom: 8px; }
    .hcrm-auth__story h2 br { display: none; }
    .hcrm-auth__story-content > p:not(.hcrm-eyebrow) { font-size: 13px; max-width: 100%; }
    .hcrm-auth__panel { padding: 30px 24px; }
    .hcrm-auth__heading h1 { font-size: 27px; }
    .hcrm-customer :is(input,textarea,select) { font-size: 16px; }
    body:has(.hcrm-customer-page) #sp-main-body { padding-block: 18px 32px; }
}
@media (prefers-reduced-motion: reduce) { .hcrm-customer *, .hcrm-customer *::before, .hcrm-customer *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Customer workspace */
.hcrm-account-bar{display:flex;align-items:center;gap:16px;max-width:1320px;margin:18px auto;padding:12px 20px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;font-size:14px}.hcrm-account-bar>a{display:flex;align-items:center;gap:9px;font-weight:650}.hcrm-account-bar>span{margin-left:auto}.hcrm-account-bar form{margin:0}.hcrm-account-bar button{background:none;border:0;color:#475569;cursor:pointer}.hcrm-portal{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1320px;margin:24px auto 64px;border:1px solid #e2e8f0;border-radius:20px;background:#f8fafc;overflow:hidden;min-height:650px}.hcrm-portal-sidebar{padding:30px 18px;border-right:1px solid #e2e8f0;background:#fff}.hcrm-portal-sidebar h2{font-size:23px;margin-bottom:26px}.hcrm-portal-nav{display:flex;flex-direction:column;gap:5px}.hcrm-portal-nav a{color:#475569;padding:11px 14px;border-radius:10px;font-weight:550;text-decoration:none}.hcrm-portal-nav a:hover{background:#f1f5f9}.hcrm-portal-nav a[aria-current]{color:#1d4ed8;background:#eff6ff}.hcrm-portal-content{padding:36px;min-width:0}.hcrm-portal-content h1{font-size:32px;letter-spacing:-.8px;margin:0 0 24px}.hcrm-portal-content h2{font-size:20px}.hcrm-lead{font-size:20px}.hcrm-portal-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}.hcrm-portal-card{display:flex;flex-direction:column;gap:15px;padding:23px;background:#fff;border:1px solid #e2e8f0;border-radius:15px;text-decoration:none;color:#334155}.hcrm-portal-card strong{font-size:30px;color:#0f172a}.hcrm-portal-card small{color:#2563eb}.hcrm-portal-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;margin:22px 0}.hcrm-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:20px;margin:20px 0}.hcrm-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:22px 0}.hcrm-table-wrap table{width:100%;margin:0;border-collapse:collapse;font-size:14px}.hcrm-table-wrap th,.hcrm-table-wrap td{padding:15px 18px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.hcrm-table-wrap thead{background:#f1f5f9;color:#475569}.hcrm-table-wrap caption{padding:12px 18px;color:#64748b;text-align:left}.hcrm-portal-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hcrm-inline-form{display:inline-flex;margin:0 8px 0 0}.hcrm-search{margin:22px 0}.hcrm-search label{display:block;font-weight:600;margin-bottom:8px}.hcrm-search>div{display:flex;gap:10px}.hcrm-search input,.hcrm-field input{min-width:0;width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a}.hcrm-search input{max-width:420px}.hcrm-field{display:flex;flex-direction:column;gap:8px;font-weight:600}.hcrm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.hcrm-pagination{display:flex;align-items:center;gap:22px}.hcrm-pagination span{margin-right:auto;color:#64748b}.hcrm-tabs{display:flex;gap:5px;border-bottom:1px solid #cbd5e1;margin-top:24px}.hcrm-tabs button{border:0;background:transparent;padding:14px 18px;color:#64748b;cursor:pointer}.hcrm-tabs button[aria-selected=true]{color:#1d4ed8;border-bottom:3px solid #2563eb}.hcrm-record-details{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:14px}.hcrm-record-details dt{color:#64748b}.hcrm-record-details dd{margin:0;overflow-wrap:anywhere}.hcrm-portal [hidden]{display:none!important}.hcrm-portal :focus-visible{outline:3px solid #93c5fd;outline-offset:3px}.hcrm-portal .btn{border-radius:9px;padding:10px 15px;font-weight:600}.hcrm-portal input[readonly]{background:#f8fafc}.hcrm-portal p{line-height:1.65}.hcrm-portal-content>section:first-child{margin-top:0}
@media(max-width:900px){.hcrm-portal{grid-template-columns:190px minmax(0,1fr)}.hcrm-portal-content{padding:25px}.hcrm-field-grid{grid-template-columns:1fr}}
@media(max-width:640px){.hcrm-portal{display:block;border-radius:12px;margin:12px auto 30px;min-height:0}.hcrm-portal-sidebar{padding:18px;border-right:0;border-bottom:1px solid #e2e8f0}.hcrm-portal-sidebar h2{margin:0 0 12px;font-size:20px}.hcrm-portal-sidebar>.hcrm-eyebrow{display:none}.hcrm-portal-nav{flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px}.hcrm-portal-nav a{white-space:nowrap;font-size:13px;padding:9px 12px}.hcrm-portal-content{padding:20px 15px}.hcrm-portal-content h1{font-size:27px}.hcrm-portal-cards{gap:10px}.hcrm-portal-card{padding:17px 13px}.hcrm-portal-card span{font-size:13px}.hcrm-portal-panel{padding:18px 14px}.hcrm-account-bar{padding:10px 13px;font-size:13px;gap:10px}.hcrm-account-bar>span{display:none}.hcrm-account-bar form{margin-left:auto}.hcrm-record-details{grid-template-columns:1fr;gap:6px}.hcrm-record-details dd{margin-bottom:12px}.hcrm-search>div{flex-wrap:wrap}.hcrm-tabs button{padding:12px;font-size:14px}}

/* Native profile fields share one form; JavaScript progressively adds tabs. */
.hcrm-profile { max-width: 1050px; margin: 20px auto 40px; background: #fff; border: 1px solid var(--hcrm-line); border-radius: var(--hcrm-radius); box-shadow: 0 16px 50px #26385909; }
.hcrm-profile .hcrm-auth__panel { padding: 32px 40px; }
.hcrm-profile .hcrm-auth__heading { margin: 28px 0 20px; }
.hcrm-profile :is(form, fieldset) { padding: 0; margin: 0; border: 0; }
.hcrm-profile legend { float: none; width: auto; font-size: 19px; font-weight: 650; margin-bottom: 24px; }
.hcrm-profile-tabs { flex-wrap: wrap; gap: 4px; margin: 0 0 28px; }
.hcrm-profile-tabs button { border-radius: 7px 7px 0 0; border-bottom: 3px solid transparent; padding: 12px 16px; font-size: 14px; }
.hcrm-profile-tabs button:hover { background: #f1f5fb; color: #2448b3; }
.hcrm-profile-tabs button[aria-selected=true] { background: #eff4ff; }
.hcrm-profile-panel { min-width: 0; scroll-margin-top: 130px; }
.hcrm-profile-panel .control-group { max-width: 640px; }
.hcrm-profile-help { color: var(--hcrm-muted); margin: -10px 0 24px; font-size: 14px; }
.hcrm-profile .com-users-profile__edit-submit { border-top: 1px solid var(--hcrm-line); margin: 28px 0 0; padding-top: 22px; }
.hcrm-profile .com-users-profile__edit-submit :is(.controls, .mb-3) { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.hcrm-profile .choices { width: 100%; }
@media (max-width: 640px) {
    .hcrm-profile { margin: 12px auto 30px; border-radius: 14px; }
    .hcrm-profile .hcrm-auth__panel { padding: 24px 18px; }
    .hcrm-profile-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; border: 0; }
    .hcrm-profile-tabs button { min-width: 0; white-space: normal; padding: 10px 8px; border-radius: 8px; font-size: 13px; }
}
body:has(.hcrm-auth, .hcrm-profile, .hcrm-portal) .mod-login {display:none}

/* Compact native MFA methods and guided setup. */
.hcrm-mfa-list #com-users-methods-list-container { display: grid; gap: 12px; }
.hcrm-mfa-intro, .hcrm-mfa-footnote { font-size: 14px; color: var(--hcrm-muted); margin: 16px 0; }
.hcrm-mfa-list .com-users-methods-list-method { display: grid; grid-template: 'title action' auto 'description action' auto 'availability availability' auto 'help help' auto 'records records' auto / minmax(0, 1fr) auto; column-gap: 18px; margin: 0 !important; padding: 17px 18px; border: 1px solid var(--hcrm-line) !important; border-radius: 12px; box-shadow: none; }
.hcrm-mfa-list .com-users-methods-list-method-header { grid-area: title; padding: 0; background: transparent !important; border: 0; color: var(--hcrm-ink) !important; }
.hcrm-mfa-list .com-users-methods-list-method-image { display: none; }
.hcrm-mfa-list .com-users-methods-list-method-title h2 { font-size: 16px; font-weight: 650; line-height: 1.5; }
.hcrm-mfa-list .com-users-methods-list-method-title .badge { font-size: 11px !important; line-height: 1.3; color: #1d4ed8; background: #eff6ff !important; }
.hcrm-mfa-list .com-users-methods-list-method-records-container { display: contents; }
.hcrm-mfa-list .com-users-methods-list-method-info { grid-area: description; margin: 3px 0 0 !important; padding: 0 !important; font-size: 13px; line-height: 1.55; }
.hcrm-mfa-list .com-users-methods-list-method-addnew-container { grid-area: action; align-self: start; border: 0 !important; padding: 0 !important; }
.hcrm-mfa-list .com-users-methods-list-method-addnew { min-width: 82px; min-height: 40px; padding: 9px 13px; font-size: 13px; }
.hcrm-mfa-list .com-users-methods-list-method-records { grid-area: records; padding: 0 !important; margin: 10px 0 0 !important; }
.hcrm-mfa-list .com-users-methods-list-method-record-title-container { font-size: 14px !important; }
.hcrm-mfa-list .com-users-methods-list-method-record-lastused { gap: 8px 20px !important; font-size: 12px; }
.hcrm-mfa-list #com-users-methods-reset-container { padding: 12px 16px !important; font-size: 14px; gap: 12px; flex-wrap: wrap; border-color: var(--hcrm-line) !important; }
.hcrm-mfa-list #com-users-methods-list-head { display: none; }
.hcrm-mfa-help { margin: 12px 0; font-size: 14px; }
.hcrm-mfa-help summary { cursor: pointer; color: var(--hcrm-accent); font-weight: 600; padding: 7px 0; }
.hcrm-mfa-list .hcrm-mfa-help { grid-area: help; margin: 3px 0 0; font-size: 13px; }
.hcrm-mfa-steps { list-style: decimal; padding-left: 22px; margin: 10px 0 16px; color: #475569; font-size: 14px; line-height: 1.6; }
.hcrm-mfa-steps li { display: list-item; margin-bottom: 8px; padding-left: 4px; }
.hcrm-mfa-steps li::marker { color: var(--hcrm-accent); font-weight: 700; }
.hcrm-mfa-availability { grid-area: availability; margin: 8px 0 0; font-size: 13px; color: #715116; }
.hcrm-mfa-page { max-width: 820px; }
.hcrm-mfa-page .hcrm-native-account > .card { border: 0; padding: 0; box-shadow: none; }
.hcrm-mfa-page .hcrm-native-account h2 { font-size: 21px; margin: 0 0 18px; }
.hcrm-mfa-page .row > [class*=offset-] { margin-inline-start: 0; }
.hcrm-mfa-setup > .row { margin-top: 18px; }
.hcrm-mfa-setup .hcrm-mfa-help > .row { margin-top: 12px; }
.hcrm-mfa-guide { font-size: 14px; color: var(--hcrm-muted); }
.hcrm-mfa-qr { margin: 18px 0; padding: 18px; display: inline-flex; background: white; border: 1px solid var(--hcrm-line); border-radius: 12px; max-width: 100%; }
.hcrm-mfa-qr :is(canvas, img, svg) { max-width: 100%; height: auto; }
.hcrm-mfa-setup .com-users-method-edit-tabular-container { overflow-x: auto; font-size: 13px; }
.hcrm-mfa-setup .com-users-method-edit-tabular-container td { overflow-wrap: anywhere; }
.hcrm-mfa-setup .com-users-method-edit-tabular-container h3 { font-size: 16px; }
.hcrm-mfa-setup #com-users-method-code { max-width: 340px; }
.hcrm-mfa-setup #com-users-method-code[inputmode=numeric] { font-variant-numeric: tabular-nums; letter-spacing: .18em; font-size: 20px; }
.hcrm-mfa-setup button:disabled { cursor: not-allowed; }
@media (max-width: 480px) {
    .hcrm-mfa-list .com-users-methods-list-method { padding: 14px 12px; column-gap: 10px; grid-template-areas: 'title action' 'description description' 'availability availability' 'help help' 'records records'; }
    .hcrm-mfa-list .com-users-methods-list-method-title h2 { flex-wrap: wrap; gap: 4px !important; font-size: 15px; }
    .hcrm-mfa-list .com-users-methods-list-method-info { margin-top: 8px !important; }
    .hcrm-mfa-setup .btn { margin-bottom: 8px; }
}

.hcrm-customer .hcrm-plan-details { display:grid; grid-template-columns:minmax(9rem,1fr) 2fr; gap:.6rem 1rem; margin:1.5rem 0; }
.hcrm-customer .hcrm-plan-details dd { margin:0; overflow-wrap:anywhere; }
.hcrm-customer #plan-options details { margin-top:.4rem; font-weight:400; }
.hcrm-customer #plan-options details dl { min-width:12rem; margin:1rem 0; }
@media(max-width:480px) { .hcrm-customer .hcrm-plan-details { grid-template-columns:1fr; gap:.35rem; } .hcrm-customer .hcrm-plan-details dd { margin-bottom:.65rem; } }

/* Native disclosures keep each purpose group independently collapsible. */
.hcrm-portal .hcrm-portal-nav { gap:8px; }
.hcrm-portal .hcrm-portal-nav-group { margin:0; padding:6px 0 0; border:0; border-top:1px solid #e2e7ef; min-width:0; background:#fff; color:#192639; }
.hcrm-portal .hcrm-portal-nav-group>summary { display:block; list-style:none; padding:12px 10px; min-height:44px; border-radius:9px; background:#fff; color:#35445a; cursor:pointer; }
.hcrm-portal .hcrm-portal-nav-group>summary::-webkit-details-marker { display:none; }
.hcrm-portal .hcrm-portal-nav-group>summary::marker { content:''; }
.hcrm-portal .hcrm-portal-nav-group>summary:hover { background:#f1f5f9; color:#192639; }
.hcrm-portal .hcrm-portal-nav-group>summary:focus-visible { outline:3px solid #245ad0; outline-offset:2px; }
.hcrm-portal .hcrm-portal-nav-group h3 { position:relative; margin:0; padding:0; padding-inline-end:20px; font-size:14px; line-height:1.5; font-weight:650; letter-spacing:normal; color:inherit; }
.hcrm-portal-nav-chevron { position:absolute; inset-inline-end:2px; top:4px; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); }
.hcrm-portal-nav-group[open] .hcrm-portal-nav-chevron { top:8px; transform:rotate(225deg); }
.hcrm-portal .hcrm-portal-nav-group ul { display:flex; flex-direction:column; gap:3px; margin:4px 0 8px; padding:0; list-style:none; }
.hcrm-portal .hcrm-portal-nav-group li { margin:0; padding:0; list-style:none; }
.hcrm-portal .hcrm-portal-nav a { display:block; min-height:44px; line-height:1.5; background:#fff; color:#475569; }
.hcrm-portal .hcrm-portal-nav a:hover { background:#f1f5f9; color:#192639; }
.hcrm-portal .hcrm-portal-nav a[aria-current=page] { color:#1d4ed8; background:#eff6ff; font-weight:700; }
@media(max-width:640px) {
    .hcrm-portal .hcrm-portal-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:8px; overflow:visible; }
    .hcrm-portal .hcrm-portal-nav>a { grid-column:1/-1; }
    .hcrm-portal .hcrm-portal-nav-group>summary { padding:12px 6px; }
    .hcrm-portal .hcrm-portal-nav-group h3 { font-size:13px; }
    .hcrm-portal .hcrm-portal-nav a { white-space:normal; padding:10px 6px; font-size:13px; overflow-wrap:anywhere; }
}

/* Product setup uses the surrounding customer palette and native progress semantics. */
.hcrm-product-progress { margin-block:1.5rem; padding:1.1rem; border:1px solid var(--hcrm-line, currentColor); border-radius:12px; color:inherit; background:transparent; overflow-wrap:anywhere; }
.hcrm-product-progress h3 { margin:0 0 .6rem; font-size:1.1rem; color:inherit; }
.hcrm-product-progress p { margin:.6rem 0; color:inherit; }
.hcrm-product-progress progress { display:block; width:100%; max-width:30rem; height:.7rem; margin-block:1rem; accent-color:var(--hcrm-accent, #245ad0); }
.hcrm-product-progress ol { list-style:none; padding:0; margin:0; }
.hcrm-product-progress li { display:flex; gap:.65rem; align-items:baseline; padding-block:.65rem; border-top:1px solid var(--hcrm-line, currentColor); }
.hcrm-progress-mark { flex:none; font-weight:700; }
.hcrm-progress-label { flex:1; min-width:0; }
.hcrm-progress-state { flex:none; font-size:.85em; color:inherit; }
.hcrm-product-progress a { text-decoration:underline; color:inherit; }
.hcrm-product-progress a:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media(max-width:480px){ .hcrm-product-progress { padding:.85rem; } .hcrm-product-progress li { flex-wrap:wrap; } .hcrm-progress-state { margin-inline-start:1.55rem; } }
