/* Customer Portal only: the backoffice and public pages keep their own design. */
.customer-portal { font-family: 'Segoe UI', system-ui, sans-serif; color: #172e3d; }
.customer-portal .workspace-page { max-width: 1280px; margin-inline: auto; }
.customer-portal .page-head h1 { letter-spacing: -.035em; font-weight: 700; }
.customer-portal .eyebrow { color: #216e5b; font-size: .72rem; letter-spacing: .12em; font-weight: 750; }
.customer-portal .muted { color: #5b7080; }
.customer-portal .surface-panel { border-color: #dde5ea; border-radius: 16px; box-shadow: 0 8px 28px #172e3d05; }
.customer-portal .btn-primary, .customer-portal .btn-secondary { min-height: 48px; padding: 12px 20px; border-radius: 10px; font-size: .9rem; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; line-height: 1.4; }
.customer-portal .btn-primary { background: #176b59; color: #fff; border: 1px solid #176b59; }
.customer-portal .btn-primary:hover { background: #125747; color: #fff; }
.customer-portal .btn-secondary { background: #fff; color: #284858; border: 1px solid #c8d5dd; }
.customer-portal .btn-secondary:hover { background: #edf3f5; }
.customer-portal :is(input, select, textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { border-radius: 8px; }
.customer-portal :is(button, a, input, select, textarea, summary):focus-visible { outline: 3px solid #267fbe; outline-offset: 3px; }
.customer-portal button:disabled { cursor: not-allowed; }
.customer-portal .nav-business-switcher { margin: 0 14px 14px; border: 1px solid #ffffff20; background: #ffffff07; border-radius: 12px; padding: 16px !important; }
.customer-portal .nav-business-switcher label { color: #b4cbd6; font-size: .65rem; }
.customer-portal .nav-business-switcher select { min-height: 48px; font-size: .86rem; }
.customer-portal .nav-identity { background: transparent; border: 0; padding: 10px 14px !important; margin: 0 14px 10px; box-shadow: none; }
.customer-portal .nav-identity .identity-avatar { width: 32px; height: 32px; font-size: .8rem; }
.customer-portal .identity-copy strong { font-size: .72rem; }
.customer-portal .identity-copy small { text-transform: none; font-size: .68rem; letter-spacing: 0; color: #a9c1cd; }
