/* Guides, Profile and Billing extend the shared account presentation. */
.account-page .section-back { color: #aeb9c0; font-size: 12px; text-decoration: none; }
.account-page .section-back:hover { color: #82e6e8; }
/* 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: #aeb9c0; }
.guides-page .wrapper .settingsBox { background: #222629; border: 1px solid #353c40; 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: #4a565c; }
.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: #30393d; border-color: #708089; }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice) { background: #7be0e4; border-color: #7be0e4; color: #102b30; }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice) h3 { color: #102b30; }
.guides-page .wrapper :is(.selectedPhoneChoice,.selectedCgmChoice,.selectedAppChoice):hover { background: #a0eef0; border-color: #a0eef0; }
.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: #102b30 !important; background: #7be0e4 !important; border: 1px solid #7be0e4; border-radius: 9px; box-shadow: none; font: 600 12px/1.4 'Poppins',sans-serif; }
.guides-page .wrapper form button:hover { background: #a0eef0 !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: #293034; border: 1px solid #424d53; border-radius: 12px; padding: 12px; }
/* Profile */
body.account-page.support-profile-page { --profile-bg: #15191c; --profile-surface: #222629; --profile-surface-soft: #293034; --profile-border: #353c40; --profile-border-strong: #4a565c; --profile-muted: #aeb9c0; --profile-accent: #7be0e4; background: #15191c; }
.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: #aeb9c0; 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: #222629; 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: #aeb9c0; 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: #293034; color: #c2ccd1; border-color: #424d53; 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: #1c2225; 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: #c2ccd1; }
.support-profile-page .profile-form :is(input[type='text'],input[type='email'],input[type='password'],select) { min-height: 44px; padding: 10px 12px; color: #f3f6f7; background: #191e21; border: 1px solid #4a565c; border-radius: 9px; box-shadow: none; font: 400 14px/1.4 'Poppins',sans-serif; }
.support-profile-page .profile-form input::placeholder { color: #89979f; }
.support-profile-page .profile-check { background: #293034; border-color: #424d53; border-radius: 9px; padding: 8px 10px; min-height: 44px; }
.support-profile-page .profile-check:hover { background: #30393d; }
.support-profile-page .profile-check input { width: 16px; height: 16px; accent-color: #7be0e4; }
.support-profile-page .profile-check span { font-size: 12px; }
.support-profile-page :is(.profile-current-email,.profile-privacy-note) { background: #1c2225; border-color: #3b454b; border-radius: 12px; padding: 12px; color: #c2ccd1; }
.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: #102b30; background: #7be0e4; border: 1px solid #7be0e4; border-radius: 9px; box-shadow: none; }
.support-profile-page .profile-button:hover { background: #a0eef0; }
.support-profile-page .profile-button:disabled { opacity: .45; cursor: not-allowed; }
.support-profile-page .profile-notice { font-size: 13px; border-radius: 12px; background: #263c3f; color: #c5e7e9; border-color: #49696e; }
.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: #15191c; --bg-alt: #15191c; --billing-surface: #222629; --billing-border: #353c40; --billing-text: #f3f6f7; --billing-muted: #aeb9c0; --billing-shadow: none; --billing-radius: 16px; --billing-radius-sm: 12px; --billing-accent: #7be0e4; --billing-accent-soft: #263c3f; background: #15191c; }
.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: #222629; border-color: #353c40; border-radius: 16px; box-shadow: none; backdrop-filter: none; }
.account-page.billing-page .settingsBox.billing-card { padding: 12px; background: #1c2225; border-color: #3b454b; 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: #222629; background-image: none; border-color: #465158; }
.account-page.billing-page .billing-admin-summary { padding: 6px 10px; border-radius: 8px; font-size: 11px; color: #b5bfc5; background: #222629; }
.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-metric { padding: 12px; background: #1c2225; border: 1px solid #3b454b; 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 :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: #102b30; background: #7be0e4; border: 1px solid #7be0e4; border-radius: 9px; box-shadow: none; backdrop-filter: none; transform: none; }
.account-page.billing-page .billing-action:hover { background: #a0eef0; box-shadow: none; transform: none; }
.account-page.billing-page :is(.billing-action--secondary,.billing-nav__link) { color: #e3e9ed; background: transparent; border-color: #4a565c; }
.account-page.billing-page :is(.billing-action--secondary,.billing-nav__link):hover { background: #30393d; border-color: #708089; }
.account-page.billing-page .billing-nav__link--active { color: #102b30; background: #7be0e4; border-color: #7be0e4; }
.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: #f3f6f7; background: #191e21; border: 1px solid #4a565c; 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: #7be0e4; }
.account-page.billing-page .billing-table-wrap { background: #1c2225; border-color: #353c40; border-radius: 12px; }
.account-page.billing-page .billing-table th { background: #293034; font-size: 12px; color: #c2ccd1; }
.account-page.billing-page .billing-table td { font-size: 13px; }
.account-page.billing-page .billing-empty-state { border-radius: 12px; background: #1c2225; }
.account-page.billing-page .billing-modal__close { background: #293034; border-color: #424d53; 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: #222629; border: 1px solid #353c40; 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: #aeb9c0; 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: #c2ccd1; 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 #4a565c; border-radius: 9px; background: #191e21; color: #f3f6f7; font: 400 16px/1.4 'Poppins',sans-serif; box-shadow: none; }
.login-page input:focus { border-color: #82e6e8; }
.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: #102b30; background: #7be0e4; border: 1px solid #7be0e4; border-radius: 9px; box-shadow: none; }
.login-page form button:hover { background: #a0eef0; }
.login-page .signup { margin-top: 20px; gap: 12px; flex-wrap: wrap; }
.login-page .signup a { margin: 0; color: #aeb9c0; font-size: 12px; text-decoration: none; }
.login-page .signup a:hover { color: #82e6e8; text-decoration: underline; }
.login-page .swal2-popup { background: #222629; color: #f3f6f7; border: 1px solid #465158; border-radius: 16px; }
.login-page .swal2-title { font: 600 20px/1.4 'Poppins',sans-serif; }
.login-page .swal2-html-container { color: #c2ccd1; font: 400 13px/1.6 'Poppins',sans-serif; }
.login-page .swal2-styled.swal2-confirm { color: #102b30; background: #7be0e4; 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; }
