@import url("/assets/portal-theme-20261108.css");
/* Guides, Profile and Billing extend the shared account presentation. */
.account-page .section-back { color: var(--nsp-secondary); font-size: 12px; text-decoration: none; }
.account-page .section-back:hover { color: var(--nsp-accent); }
/* Guides */
.guides-page .wrapper > .container { max-width: 1000px; width: 100%; padding: 0 8px !important; justify-content: flex-start; gap: 8px; }
.guides-page .wrapper > .container:first-of-type { padding-top: 24px !important; margin-bottom: 20px; gap: 4px; }
.guides-page h1 { font: 600 22px/1.35 'Poppins',sans-serif; letter-spacing: -.02em; margin: 8px 0 2px; }
.guides-page .wrapper h2 { font: 600 17px/1.4 'Poppins',sans-serif; }
.guides-page .wrapper h3 { font: 600 14px/1.5 'Poppins',sans-serif; margin: 8px 0; }
.guides-page .wrapper p { font-size: 13px; line-height: 1.65; color: var(--nsp-secondary); }
.guides-page .wrapper .settingsBox { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: 12px; padding: 16px; box-shadow: none; }
.guides-page .wrapper :is(.phoneChoice,.cgmChoice,.appChoice) { width: auto !important; max-width: none !important; min-width: 112px; margin: 0 !important; padding: 10px 16px; border-radius: 9px; border-color: var(--nsp-border-strong); }
.guides-page .wrapper :is(.phoneChoice,.cgmChoice,.appChoice) h3 { margin: 0; font-size: 12px; line-height: 1.5; }
.guides-page .wrapper :is(.phoneChoice,.cgmChoice,.appChoice):hover { background: var(--nsp-surface-hover); border-color: var(--nsp-border-hover); }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice) { background: var(--nsp-accent); border-color: var(--nsp-accent); color: var(--nsp-on-accent); }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice) h3 { color: var(--nsp-on-accent); }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice):hover { background: var(--nsp-accent-hover); border-color: var(--nsp-accent-hover); }
.guides-page .wrapper form { margin: 16px 0; }
.guides-page .wrapper form button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 38px; margin: 0; padding: 8px 12px; color: var(--nsp-on-accent) !important; background: var(--nsp-accent) !important; border: 1px solid var(--nsp-accent); border-radius: 9px; box-shadow: none; font: 600 12px/1.4 'Poppins',sans-serif; }
.guides-page .wrapper form button:hover { background: var(--nsp-accent-hover) !important; }
.guides-page .guide-section { margin: 16px auto; max-width: 1000px; overflow-wrap: anywhere; }
.guides-page .guide-section img { max-width: calc(100% - 16px); height: auto; border-radius: 9px; }
.guides-page .guide-section h3 { flex-shrink: 0; }
.guides-page .note { background: var(--nsp-surface-raised); border: 1px solid var(--nsp-border-strong); border-radius: 12px; padding: 12px; }
/* Profile */
body.account-page.support-profile-page { --profile-bg: var(--nsp-background); --profile-surface: var(--nsp-surface); --profile-surface-soft: var(--nsp-surface-raised); --profile-border: var(--nsp-border); --profile-border-strong: var(--nsp-border-strong); --profile-muted: var(--nsp-secondary); --profile-accent: var(--nsp-accent); background: var(--nsp-background); }
.support-profile-page .profile-shell { width: 100%; max-width: 1000px; padding: 24px 8px 48px; }
.support-profile-page .profile-heading { margin-bottom: 20px; }
.support-profile-page .profile-back-link { margin-bottom: 8px; color: var(--nsp-secondary); font-size: 12px; text-decoration: none; }
.support-profile-page .profile-heading h1 { font: 600 22px/1.35 'Poppins',sans-serif; letter-spacing: -.02em; }
.support-profile-page .profile-heading > p:last-child { margin: 4px 0 0; font-size: 13px; line-height: 1.6; }
.support-profile-page .profile-card { margin-top: 12px; padding: 16px; background: var(--nsp-surface); border-radius: 16px; box-shadow: none; backdrop-filter: none; }
.support-profile-page .profile-card__heading { gap: 12px; }
.support-profile-page .profile-card__heading h2 { font: 600 17px/1.4 'Poppins',sans-serif; }
.support-profile-page .profile-card__kicker { color: var(--nsp-secondary); font: 500 10px/1.5 'Poppins',sans-serif; letter-spacing: .04em; margin-bottom: 4px; }
.support-profile-page .profile-card__intro { font-size: 13px; margin: 8px 0 16px; }
.support-profile-page .profile-pill { background: var(--nsp-surface-raised); color: var(--nsp-secondary); border-color: var(--nsp-border-strong); border-radius: 6px; font-size: 11px; font-weight: 500; }
.support-profile-page .profile-form__grid { gap: 14px; }
.support-profile-page .profile-fieldset { padding: 12px; background: var(--nsp-surface-alt); border-radius: 12px; }
.support-profile-page :is(.profile-field label,.profile-fieldset label,.profile-fieldset legend) { font: 500 12px/1.5 'Poppins',sans-serif; color: var(--nsp-secondary); }
.support-profile-page .profile-form :is(input[type='text'],input[type='email'],input[type='password'],select) { min-height: 44px; padding: 10px 12px; color: var(--nsp-text); background: var(--nsp-field); border: 1px solid var(--nsp-border-strong); border-radius: 9px; box-shadow: none; font: 400 14px/1.4 'Poppins',sans-serif; }
.support-profile-page .profile-form input::placeholder { color: var(--nsp-secondary); }
.support-profile-page .profile-check { background: var(--nsp-surface-raised); border-color: var(--nsp-border-strong); border-radius: 9px; padding: 8px 10px; min-height: 44px; }
.support-profile-page .profile-check:hover { background: var(--nsp-surface-hover); }
.support-profile-page .profile-check input { width: 16px; height: 16px; accent-color: var(--nsp-accent); }
.support-profile-page .profile-check span { font-size: 12px; }
.support-profile-page :is(.profile-current-email,.profile-privacy-note) { background: var(--nsp-surface-alt); border-color: var(--nsp-border-strong); border-radius: 12px; padding: 12px; color: var(--nsp-secondary); }
.support-profile-page .profile-current-email strong { font-size: 13px; }
.support-profile-page .profile-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 12px; font: 600 12px/1.4 'Poppins',sans-serif; color: var(--nsp-on-accent); background: var(--nsp-accent); border: 1px solid var(--nsp-accent); border-radius: 9px; box-shadow: none; }
.support-profile-page .profile-button:hover { background: var(--nsp-accent-hover); }
.support-profile-page .profile-button:disabled { opacity: .45; cursor: not-allowed; }
.support-profile-page .profile-notice { font-size: 13px; border-radius: 12px; background: var(--nsp-accent-soft); color: var(--nsp-accent-hover); border-color: var(--nsp-accent-line); }
.support-profile-page .profile-notice--warning { background: #383328; color: #f0deb9; border-color: #695c40; }
.support-profile-page .profile-notice--error { background: #3b2b2d; color: #f3b8b3; border-color: #745052; }
.support-profile-page .profile-notice--success { background: #293c33; color: #b5dcc6; border-color: #547e67; }
/* Every billing screen uses this layer through its shared page template. */
body.account-page.billing-page { --bg: var(--nsp-background); --bg-alt: var(--nsp-background); --billing-surface: var(--nsp-surface); --billing-border: var(--nsp-border); --billing-text: var(--nsp-text); --billing-muted: var(--nsp-secondary); --billing-shadow: none; --billing-radius: 16px; --billing-radius-sm: 12px; --billing-accent: var(--nsp-accent); --billing-accent-soft: var(--nsp-accent-soft); background: var(--nsp-background); }
.account-page.billing-page::before { display: none; }
.account-page.billing-page .wrapper { margin: 0; padding-bottom: 48px; }
.account-page.billing-page .billing-container { max-width: 1000px; width: calc(100% - 32px); }
.account-page.billing-page .section-heading { padding: 24px 0 0; }
.account-page.billing-page .settingsBox { padding: 16px; background: var(--nsp-surface); border-color: var(--nsp-border); border-radius: 16px; box-shadow: none; backdrop-filter: none; }
.account-page.billing-page .settingsBox.billing-card { padding: 12px; background: var(--nsp-surface-alt); border-color: var(--nsp-border-strong); border-radius: 12px; box-shadow: none; backdrop-filter: none; }
.account-page.billing-page .settingsBox.billing-danger-zone { background: #3b2b2d; border-color: #745052; }
.account-page.billing-page .settingsBox.billing-admin-box { background: var(--nsp-surface); background-image: none; border-color: var(--nsp-border-strong); }
.account-page.billing-page .billing-admin-summary { padding: 6px 10px; border-radius: 8px; font-size: 11px; color: var(--nsp-secondary); background: var(--nsp-surface); }
.account-page.billing-page .billing-page-title { font: 600 22px/1.35 'Poppins',sans-serif; letter-spacing: -.02em; }
.account-page.billing-page h2 { font: 600 17px/1.4 'Poppins',sans-serif; }
.account-page.billing-page h3 { font: 600 14px/1.5 'Poppins',sans-serif; }
.account-page.billing-page :is(.billing-overview__intro .billing-muted,.billing-section-copy) { font-size: 13px; }
.account-page.billing-page .billing-deployment-title { font: 600 17px/1.4 'Poppins',sans-serif; letter-spacing: 0; }
.account-page.billing-page .billing-metrics { gap: 10px; }
.account-page.billing-page .billing-metrics--compact { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
.account-page.billing-page .billing-metric { padding: 12px; background: var(--nsp-surface-alt); border: 1px solid var(--nsp-border-strong); border-radius: 12px; }
.account-page.billing-page .billing-metric--warn { border-left: 3px solid #c6a762; }
.account-page.billing-page .billing-metric--ok { border-left: 3px solid #79ce9d; }
.account-page.billing-page .billing-metric__value { font-size: 25px; font-weight: 600; }
.account-page.billing-page .billing-metric__value--date { font-size: 18px; line-height: 1.3; white-space: nowrap; overflow-wrap: normal; }
.account-page.billing-page :is(.billing-metric__label,.billing-metric__meta) { font-size: 12px; }
.account-page.billing-page .billing-badge { padding: 4px 7px; border-radius: 6px; font-size: 11px; font-weight: 500; text-transform: none; letter-spacing: 0; }
.account-page.billing-page :is(.billing-action,.billing-nav__link) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 38px; margin: 0; padding: 8px 12px; font: 600 12px/1.4 'Poppins',sans-serif; color: var(--nsp-on-accent); background: var(--nsp-accent); border: 1px solid var(--nsp-accent); border-radius: 9px; box-shadow: none; backdrop-filter: none; transform: none; }
.account-page.billing-page .billing-action:hover { background: var(--nsp-accent-hover); box-shadow: none; transform: none; }
.account-page.billing-page :is(.billing-action--secondary,.billing-nav__link) { color: var(--nsp-secondary); background: transparent; border-color: var(--nsp-border-strong); }
.account-page.billing-page :is(.billing-action--secondary,.billing-nav__link):hover { background: var(--nsp-surface-hover); border-color: var(--nsp-border-hover); }
.account-page.billing-page .billing-nav__link--active { color: var(--nsp-on-accent); background: var(--nsp-accent); border-color: var(--nsp-accent); }
.account-page.billing-page .billing-action--danger { color: #f3b8b3; background: #3b2b2d; border-color: #745052; }
.account-page.billing-page .billing-action:disabled { opacity: .45; cursor: not-allowed; }
.account-page.billing-page .billing-nav-shell { padding: 0; background: transparent; border: 0; border-radius: 0; }
.account-page.billing-page .billing-nav { gap: 8px; }
.account-page.billing-page :is(.settingsBox,.billing-banner) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']),select,textarea) { min-width: 0; min-height: 44px; padding: 10px 12px; color: var(--nsp-text); background: var(--nsp-field); border: 1px solid var(--nsp-border-strong); border-radius: 9px; font: 400 14px/1.4 'Poppins',sans-serif; box-shadow: none; }
.account-page.billing-page input:is([type='checkbox'],[type='radio']) { accent-color: var(--nsp-accent); }
.account-page.billing-page .billing-table-wrap { background: var(--nsp-surface-alt); border-color: var(--nsp-border); border-radius: 12px; }
.account-page.billing-page .billing-table th { background: var(--nsp-surface-raised); font-size: 12px; color: var(--nsp-secondary); }
.account-page.billing-page .billing-table td { font-size: 13px; }
.account-page.billing-page .billing-empty-state { border-radius: 12px; background: var(--nsp-surface-alt); }
.account-page.billing-page .billing-modal__close { background: var(--nsp-surface-raised); border-color: var(--nsp-border-strong); border-radius: 9px; box-shadow: none; }
@media(max-width: 639px) {
 .guides-page .wrapper > .container { padding-left: 16px !important; padding-right: 16px !important; }
 .guides-page .wrapper > .container:first-of-type { padding-top: 20px !important; }
 .guides-page .wrapper :is(.phoneChoice,.cgmChoice,.appChoice) { min-width: 0; flex: 1 0 calc(50% - 8px); padding: 12px; }
 .guides-page .wrapper form button { min-height: 44px; }
 .support-profile-page .profile-shell { padding: 20px 16px 32px; }
 .support-profile-page .profile-card { padding: 12px; border-radius: 12px; }
 .support-profile-page .profile-button { min-height: 44px; }
 .support-profile-page .profile-form :is(input[type='text'],input[type='email'],input[type='password'],select) { font-size: 16px; }
 .account-page.billing-page :is(.billing-action,.billing-nav__link) { min-height: 44px; }
 .account-page.billing-page .settingsBox { padding: 12px; border-radius: 12px; }
 .account-page.billing-page .billing-card-list--grid, .account-page.billing-page .billing-method-grid { grid-template-columns: minmax(0,1fr); }
 .account-page.billing-page :is(.settingsBox,.billing-banner) :is(input:not([type='hidden']):not([type='checkbox']):not([type='radio']),select,textarea) { font-size: 16px; }
 .guides-page h1,.support-profile-page .profile-heading h1,.account-page.billing-page .billing-page-title { font-size: 20px; }
}
/* Keep wide invoice tables within the content column. */
.account-page.billing-page :is(.billing-main,.billing-side,.billing-sidebar,.billing-layout > *) { min-width: 0; }
.account-page.billing-page .billing-layout { width: 100%; }
.account-page.billing-page .billing-nav-shell { width: 100%; justify-content: flex-start; }
.account-page.billing-page :is(.billing-action,.billing-nav__link,.billing-metric__label) { text-transform: none; letter-spacing: 0; }
.guides-page .wrapper > .guides-heading { padding-top: 24px !important; margin-bottom: 20px; gap: 4px; }
.guides-page .guides-heading p { margin: 8px 0 0; }
/* Public sign-in uses the same surfaces, fields and primary action. */
.login-page .login-shell { display: flex; align-items: center; justify-content: center; min-height: 100vh; min-height: 100svh; width: 100%; padding: 32px 16px; }
.login-page .login-card { width: 100%; max-width: 440px; padding: 28px; background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: 16px; }
.login-page .login-brand { display: block; width: 280px; max-width: 100%; height: auto; margin: 0 auto 24px; }
.login-page .login-heading { margin-bottom: 20px; }
.login-page h1 { margin: 0 0 4px; font: 600 22px/1.35 'Poppins',sans-serif; letter-spacing: -.02em; }
.login-page .login-heading p { margin: 0; color: var(--nsp-secondary); font-size: 13px; }
.login-page form { width: 100%; margin: 0; }
.login-page .form-group { margin: 0 0 16px; }
.login-page label { display: block; margin: 0 0 5px; color: var(--nsp-secondary); font: 500 12px/1.5 'Poppins',sans-serif; }
.login-page input { width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--nsp-border-strong); border-radius: 9px; background: var(--nsp-field); color: var(--nsp-text); font: 400 16px/1.4 'Poppins',sans-serif; box-shadow: none; }
.login-page input:focus { border-color: var(--nsp-accent); }
.login-page form button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; margin: 4px 0 0; padding: 10px 12px; font: 600 13px/1.4 'Poppins',sans-serif; color: var(--nsp-on-accent); background: var(--nsp-accent); border: 1px solid var(--nsp-accent); border-radius: 9px; box-shadow: none; }
.login-page form button:hover { background: var(--nsp-accent-hover); }
.login-page .signup { margin-top: 20px; gap: 12px; flex-wrap: wrap; }
.login-page .signup a { margin: 0; color: var(--nsp-secondary); font-size: 12px; text-decoration: none; }
.login-page .signup a:hover { color: var(--nsp-accent); text-decoration: underline; }
.login-page .swal2-popup { background: var(--nsp-surface); color: var(--nsp-text); border: 1px solid var(--nsp-border-strong); border-radius: 16px; }
.login-page .swal2-title { font: 600 20px/1.4 'Poppins',sans-serif; }
.login-page .swal2-html-container { color: var(--nsp-secondary); font: 400 13px/1.6 'Poppins',sans-serif; }
.login-page .swal2-styled.swal2-confirm { color: var(--nsp-on-accent); background: var(--nsp-accent); border-radius: 9px; box-shadow: none; }
@media(max-width:639px) { .guides-page .wrapper > .guides-heading { padding-top: 20px !important; } .login-page .login-card { padding: 20px; border-radius: 12px; } .login-page h1 { font-size: 20px; } }
/* Header collapse rules must not hide the in-page billing tabs. */
.account-page.billing-page nav.billing-nav { position: static; transform: none; width: auto; height: auto; max-height: none; overflow: visible; background: transparent; border: 0; text-align: left; }
.account-page.billing-page nav.billing-nav a { opacity: 1; }
