/* Subscription screens share the public glass shell and keep every control scoped. */
html.apollo-billing-page[data-bs-theme=light] {
    color-scheme: light;
    --bg: #eef2ef;
    --text: #17211d;
    --muted: #606a65;
    --line: rgba(24, 46, 36, .16);
}
html.apollo-billing-page[data-bs-theme=light] .ambient {
    background-image: radial-gradient(ellipse 65% 60% at 50% 40%, rgba(255, 255, 255, .85), transparent 80%), linear-gradient(rgba(41, 68, 54, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(41, 68, 54, .035) 1px, transparent 1px);
}
html.apollo-billing-page[data-bs-theme=light] #apollo-bg-teeth-canvas { opacity: .16; }
html.apollo-billing-page[data-bs-theme=light] .public-nav .button-quiet { color: var(--text); background: rgba(255, 255, 255, .5); border-color: var(--line); }
html.apollo-billing-page[data-bs-theme=light] .public-nav nav > a:hover,
html.apollo-billing-page[data-bs-theme=light] .public-footer a:hover { color: #20332a; }
html.apollo-billing-page[data-bs-theme=light] .public-footer { color: var(--muted); }
html.apollo-billing-page[data-bs-theme=light] a:focus-visible,
html.apollo-billing-page[data-bs-theme=light] button:focus-visible,
html.apollo-billing-page[data-bs-theme=light] input:focus-visible,
html.apollo-billing-page[data-bs-theme=light] select:focus-visible { outline-color: #315b44; }
.billing-workspace,
.billing-checkout-layout,
.billing-payment-document,
.billing-access-document {
    --billing-text: var(--text, #f8fafc);
    --billing-muted: var(--muted, #a2a5ad);
    --billing-border: var(--line, rgba(255, 255, 255, .13));
    --billing-inset: rgba(255, 255, 255, .035);
    --billing-accent: #d8e8df;
    --billing-warning: #e3c7a2;
    --billing-error: #f1aeb7;
    color: var(--billing-text);
}
.billing-workspace { width: 100%; margin: 8px auto 18px; }
.billing-workspace > section + section { margin-top: 24px; }
.billing-workspace .glass, .billing-checkout-layout .glass, .billing-payment-document, .billing-access-document { background: radial-gradient(ellipse at 0 0, var(--apollo-glass-reflection), transparent 65%), linear-gradient(150deg, var(--apollo-glass-start), var(--apollo-glass-end)); }
.billing-page-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 28px; }
.billing-page-heading h1 { font-size: clamp(28px, 3.3vw, 40px); line-height: 1.15; font-weight: 600; letter-spacing: -.04em; margin: 12px 0; }
.billing-page-heading p, .billing-section-heading p { color: var(--billing-muted); margin: 0; font-size: 12px; }
.billing-page-heading > .button { flex-shrink: 0; }
.billing-subscription { padding: 28px 30px; }
.billing-subscription-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.billing-subscription h2 { font-size: 25px; letter-spacing: -.025em; font-weight: 600; margin: 8px 0 0; overflow-wrap: anywhere; }
.billing-status { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--billing-border); border-radius: 100px; padding: 8px 12px; font-size: 11px; flex-shrink: 0; }
.billing-status > span { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.billing-status-positive { color: var(--billing-accent); background: rgba(166, 200, 176, .045); }
.billing-status-warning { color: var(--billing-warning); background: rgba(200, 172, 129, .05); }
.billing-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 24px 0; margin: 24px 0 0; border-top: 1px solid var(--billing-border); border-bottom: 1px solid var(--billing-border); }
.billing-metrics > div { padding: 0 24px; border-left: 1px solid var(--billing-border); }
.billing-metrics > div:first-child { padding-left: 0; border-left: 0; }
.billing-metrics > div:last-child { padding-right: 0; }
.billing-metrics dt { color: var(--billing-muted); font-size: 11px; }
.billing-metrics dd { font-size: clamp(17px, 2vw, 23px); letter-spacing: -.035em; font-weight: 600; margin: 8px 0 5px; }
.billing-metric-caption { display: block; margin-top: 5px; font-size: 10px; font-weight: 400; letter-spacing: normal; color: var(--billing-muted); }
.billing-footnote { font-size: 11px; line-height: 1.75; color: var(--billing-muted); margin: 17px 0 0; }
.billing-footnote a, .billing-form a, .billing-workspace .form-notice a { text-decoration: underline; text-underline-offset: 3px; }
.billing-test-notice { border-color: rgba(209, 174, 119, .3); color: var(--billing-warning); background: rgba(209, 174, 119, .055); }
.billing-plan-section { margin: 30px 0; }
.billing-section-heading { margin-bottom: 20px; }
.billing-section-heading h2 { font-size: 21px; letter-spacing: -.025em; font-weight: 550; margin: 0 0 6px; }
.billing-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.billing-plan-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.billing-plan { min-width: 0; padding: 25px; display: flex; flex-direction: column; border-radius: 22px; }
.billing-plan h3 { font-size: 21px; font-weight: 550; margin: 15px 0 8px; }
.billing-plan h2 { font-size: 21px; font-weight: 550; margin: 15px 0 8px; }
.billing-plan-price { font-size: clamp(28px, 3vw, 36px); letter-spacing: -.045em; font-weight: 600; margin: 0 0 12px; }
.billing-plan-price span { font-size: .7em; color: var(--billing-muted); }
.billing-plan-price .billing-price-value { font-size: inherit; color: inherit; overflow-wrap: anywhere; }
.billing-plan-grid-four .billing-plan-price { font-size: clamp(25px, 2.45vw, 32px); }
.billing-discount { border: 1px solid var(--billing-border); border-radius: 6px; padding: 2px 6px; color: var(--billing-accent); letter-spacing: 0; white-space: nowrap; }
.billing-seat-picker { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px 32px; padding: 28px; margin-bottom: 24px; }
.billing-seat-picker h2, .billing-seat-panel h2 { margin: 10px 0; font-size: 23px; font-weight: 550; letter-spacing: -.03em; }
.billing-seat-picker > div > p { margin: 0; font-size: 12px; color: var(--billing-muted); }
.billing-seat-feedback { margin: 5px 0 0; color: var(--billing-muted); font-size: 11px; line-height: 1.65; }
.billing-seat-picker > .billing-seat-feedback { grid-column: 1 / -1; }
.billing-seat-input-row { display: flex; gap: 9px; align-items: start; }
.billing-seat-input-row input { flex: 1; margin: 0 !important; }
.billing-seat-input-row button { flex: 0 0 auto; }
.billing-seat-selection .field-hint { margin: 9px 0 0; font-size: 10px; }
.billing-seat-selection-compact { max-width: 490px; margin-bottom: 20px; }
.billing-checkout-seat-selection { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--billing-border); }
.billing-checkout-seat-selection .billing-seat-input-row { flex-wrap: wrap; }
.billing-checkout-seat-selection .billing-seat-input-row input { min-width: 80px; }
.billing-seat-panel { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 26px 30px; margin-top: 20px; }
.billing-seat-panel > div { flex: 1 1 240px; }
.billing-seat-counter { margin: 0; font-size: 13px; color: var(--billing-muted); }
.billing-seat-counter strong { font-size: 30px; letter-spacing: -.03em; font-weight: 600; color: var(--billing-text); }
.billing-seat-panel .billing-footnote { margin-top: 8px; }
.billing-seat-warning { flex: 1 1 100%; margin: 0; }
.billing-plan [aria-disabled=true] { opacity: .5; }
.billing-plan-description { font-size: 11px; color: var(--billing-muted); line-height: 1.75; margin: 0 0 23px; }
.billing-plan .button, .billing-unavailable { margin-top: auto; }
.billing-unavailable { min-height: 44px; padding: 10px; border: 1px solid var(--billing-border); border-radius: 12px; font-size: 11px; color: var(--billing-muted); text-align: center; }
.billing-history { padding: 28px 30px 10px; overflow: hidden; }
.billing-table-scroll { overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: 4px; }
.billing-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 12px; }
.billing-table th { font-weight: 500; color: var(--billing-muted); font-size: 10px; padding: 0 14px 12px; border-bottom: 1px solid var(--billing-border); }
.billing-table td { padding: 15px 14px; border-bottom: 1px solid var(--billing-border); vertical-align: middle; }
.billing-table tr:last-child td { border-bottom: 0; }
.billing-table th:first-child, .billing-table td:first-child { padding-left: 0; }
.billing-table th:last-child, .billing-table td:last-child { padding-right: 0; text-align: right; }
.billing-table-secondary { display: block; font-size: 10px; color: var(--billing-muted); margin-top: 4px; }
.billing-table-link { display: inline-flex; align-items: center; justify-content: end; gap: 7px; min-height: 44px; white-space: nowrap; }
.billing-table-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.billing-nowrap { white-space: nowrap; }
.billing-payment-state { display: inline-block; font-size: 10px; line-height: 1.45; border: 1px solid var(--billing-border); border-radius: 8px; padding: 5px 8px; background: var(--billing-inset); }
.billing-payment-state-succeeded { color: var(--billing-accent); }
.billing-payment-state-review { color: var(--billing-warning); }
.billing-payment-state-canceled { color: var(--billing-muted); }
.billing-empty { display: flex; align-items: center; gap: 16px; padding: 12px 0 26px; }
.billing-empty-mark { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border: 1px solid var(--billing-border); border-radius: 16px; font-size: 23px; background: var(--billing-inset); }
.billing-empty h3 { margin: 0 0 5px; font-weight: 550; font-size: 14px; }
.billing-empty p { margin: 0; color: var(--billing-muted); font-size: 12px; }
.billing-checkout-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 20px; width: 100%; max-width: 980px; margin: 12px auto; align-items: start; }
.billing-checkout-summary { padding: 32px; }
.billing-checkout-summary h1 { font-size: 31px; font-weight: 600; letter-spacing: -.035em; line-height: 1.2; margin: 16px 0 8px; }
.billing-checkout-lab { font-size: 13px; overflow-wrap: anywhere; color: var(--billing-muted); margin: 0 0 30px; }
.billing-checkout-layout [hidden] { display: none !important; }
.billing-quantity-control { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.billing-quantity-control input { width: 88px; flex: 0 1 88px; text-align: center; font-variant-numeric: tabular-nums; margin: 0 !important; }
.billing-quantity-control .billing-quantity-step { width: 44px; min-height: 44px; padding: 0; font-size: 22px; flex-shrink: 0; }
.billing-quantity-equation { font-size: 13px; line-height: 1.9; margin: 12px 0 0; color: var(--billing-muted); }
.billing-quantity-equation strong { color: var(--billing-text); font-variant-numeric: tabular-nums; }
.billing-quote-breakdown { display: grid; gap: 12px; margin: 20px 0 0; font-size: 11px; }
.billing-quote-breakdown > div { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.billing-quote-breakdown dt { color: var(--billing-muted); }
.billing-quote-breakdown dd { margin: 0; font-variant-numeric: tabular-nums; }
.billing-checkout-summary .billing-plan-price { font-size: 40px; margin-bottom: 3px; }
.billing-checkout-period { font-size: 11px; color: var(--billing-muted); margin: 0 0 7px; }
.billing-checkout-tax { font-size: 11px; color: var(--billing-muted); margin: 0 0 26px; }
.billing-checkout-benefits { padding: 20px 0 20px 17px; margin: 0; border-top: 1px solid var(--billing-border); border-bottom: 1px solid var(--billing-border); font-size: 12px; line-height: 1.7; }
.billing-checkout-benefits li + li { margin-top: 8px; }
.billing-checkout-benefits li::marker { color: var(--billing-accent); }
.billing-back-link { display: inline-flex; min-height: 44px; align-items: center; font-size: 11px; margin-top: 18px; }
.billing-checkout-form h2 { font-size: 24px; line-height: 1.25; letter-spacing: -.035em; margin: 6px 0 0; font-weight: 600; }
.billing-field { margin-bottom: 18px; }
.billing-field > input { margin-bottom: 0 !important; }
.billing-field > select { display: block; width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--billing-border); border-radius: 12px; padding: 0 13px; font: inherit; font-size: 13px; color: var(--billing-text); background: var(--billing-inset); cursor: pointer; }
.billing-field > select:focus-visible { outline: 2px solid #d8e8df; outline-offset: 2px; }
.billing-field > select option { color: #f8fafc; background: #151a17; }
.billing-field .field-hint { margin: 8px 0 0; font-size: 10px; }
.billing-representative-hint { margin: 3px 0 0; }
.billing-field-errors { color: var(--billing-error); font-size: 11px; margin: 7px 0 13px; }
.billing-field-errors ul, .billing-form .form-notice ul { list-style: none; padding: 0; margin: 0; }
.billing-field-errors li + li { margin-top: 4px; }
.billing-consent { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; margin: 25px 0; }
.billing-form .billing-consent input[type=checkbox] { display: block; width: 18px; height: 18px; min-height: 18px; padding: 0; margin: 2px 0 0; accent-color: #dce5df; cursor: pointer; }
.billing-consent label { font-size: 11px; line-height: 1.8; color: var(--billing-muted); margin: 0; cursor: pointer; }
.billing-form-caption { font-size: 10px; line-height: 1.7; color: var(--billing-muted); text-align: center; margin: 13px 0 0; }
.billing-result-icon { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 21px; margin: 30px 0 8px; font-size: 28px; border: 1px solid var(--billing-border); background: radial-gradient(circle at 20% 0, rgba(235, 231, 215, .085), transparent 85%); box-shadow: inset 0 1px rgba(255, 255, 255, .07); }
.billing-result-succeeded { color: var(--billing-accent); }
.billing-result-review { color: var(--billing-warning); }
.billing-result-canceled { color: var(--billing-muted); }
.billing-lead { font-size: 13px; color: var(--billing-muted); line-height: 1.8; margin: 2px 0 22px; }
.billing-lead strong { font-weight: 550; color: var(--billing-text); }
.billing-payment-total { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-block: 1px solid var(--billing-border); padding: 18px 0; margin: 4px 0 16px; }
.billing-payment-total > span { font-size: 11px; color: var(--billing-muted); }
.billing-payment-total > strong { font-size: clamp(26px, 4vw, 36px); letter-spacing: -.04em; font-weight: 600; white-space: nowrap; }
.billing-payment-total > strong > span { font-size: .7em; color: var(--billing-muted); }
.billing-payment-details { display: grid; gap: 17px; margin: 0 0 28px; }
.billing-payment-details > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 18px; }
.billing-payment-details dt { font-size: 11px; color: var(--billing-muted); }
.billing-payment-details dd { font-size: 12px; margin: 0; overflow-wrap: anywhere; }
.billing-payment-details .billing-payment-id { font-size: 10px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.billing-payment-actions { display: grid; gap: 10px; }
.billing-access-document { max-width: 630px; }
.billing-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[data-bs-theme=light] .billing-workspace, [data-bs-theme=light] .billing-checkout-layout, [data-bs-theme=light] .billing-payment-document, [data-bs-theme=light] .billing-access-document { --billing-text: #17211d; --billing-muted: #606a65; --billing-border: rgba(24, 46, 36, .16); --billing-inset: rgba(255, 255, 255, .48); --billing-accent: #315b44; --billing-warning: #795322; --billing-error: #9c3440; }
[data-bs-theme=light] .billing-workspace .glass, [data-bs-theme=light] .billing-checkout-layout .glass, [data-bs-theme=light] .billing-payment-document, [data-bs-theme=light] .billing-access-document { border-color: var(--billing-border); box-shadow: 0 18px 50px rgba(36, 49, 42, .07), inset 0 1px rgba(255, 255, 255, .95); }
[data-bs-theme=light] .billing-workspace .button-primary, [data-bs-theme=light] .billing-checkout-layout .button-primary, [data-bs-theme=light] .billing-payment-document .button-primary, [data-bs-theme=light] .billing-access-document .button-primary { background: #20332a; color: #fff; }
[data-bs-theme=light] .billing-workspace .button-quiet, [data-bs-theme=light] .billing-checkout-layout .button-quiet, [data-bs-theme=light] .billing-payment-document .button-quiet, [data-bs-theme=light] .billing-access-document .button-quiet { background: rgba(255, 255, 255, .4); color: var(--billing-text); border-color: var(--billing-border); }
[data-bs-theme=light] .billing-workspace .eyebrow, [data-bs-theme=light] .billing-checkout-layout .eyebrow, [data-bs-theme=light] .billing-payment-document .eyebrow, [data-bs-theme=light] .billing-access-document .eyebrow, [data-bs-theme=light] .billing-checkout-layout .card-description, [data-bs-theme=light] .billing-access-document .card-description, [data-bs-theme=light] .billing-form label, [data-bs-theme=light] .billing-form .field-hint { color: var(--billing-muted); }
[data-bs-theme=light] .billing-workspace .form-notice, [data-bs-theme=light] .billing-checkout-layout .form-notice, [data-bs-theme=light] .billing-payment-document .form-notice, [data-bs-theme=light] .billing-access-document .form-notice { color: var(--billing-text); border-color: var(--billing-border); background: var(--billing-inset); }
[data-bs-theme=light] .billing-checkout-layout .form-notice.error { color: var(--billing-error); border-color: rgba(156, 52, 64, .3); }
[data-bs-theme=light] .billing-workspace .form-notice.error, [data-bs-theme=light] .billing-payment-document .form-notice.error { color: var(--billing-error); border-color: rgba(156, 52, 64, .3); }
[data-bs-theme=light] .billing-workspace .billing-test-notice, [data-bs-theme=light] .billing-checkout-layout .billing-test-notice, [data-bs-theme=light] .billing-payment-document .billing-test-notice { color: var(--billing-warning); border-color: rgba(121, 83, 34, .25); background: rgba(202, 165, 102, .07); }
[data-bs-theme=light] .billing-form input:not([type=hidden]):not([type=checkbox]) { color: var(--billing-text); border-color: var(--billing-border); background: rgba(255, 255, 255, .6); }
[data-bs-theme=light] .billing-seat-selection input { color: var(--billing-text); border-color: var(--billing-border); background: rgba(255, 255, 255, .6); }
[data-bs-theme=light] .billing-seat-selection label, [data-bs-theme=light] .billing-seat-selection .field-hint { color: var(--billing-muted); }
[data-bs-theme=light] .billing-field > select { background: rgba(255, 255, 255, .6); }
[data-bs-theme=light] .billing-field > select option { color: #17211d; background: #f5f8f5; }
[data-bs-theme=light] .billing-form input:autofill { box-shadow: 0 0 0 1000px #f5f8f5 inset !important; -webkit-text-fill-color: #17211d; }
[data-bs-theme=light] .billing-checkout-layout .auth-bottom a, [data-bs-theme=light] .billing-payment-document .auth-bottom a, [data-bs-theme=light] .billing-access-document .auth-bottom a { color: var(--billing-text); }
@media (max-width: 850px) {
    .billing-plan-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .billing-seat-picker { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .billing-plan-grid { gap: 12px; }
    .billing-plan { padding: 22px 18px; }
    .billing-plan-price { font-size: 28px; }
    .billing-checkout-layout { grid-template-columns: minmax(0, 1fr); max-width: 600px; }
    .billing-checkout-summary { padding: 28px; }
    .billing-checkout-lab { margin-bottom: 20px; }
}
@media (max-width: 650px) {
    .billing-seat-panel, .billing-seat-picker { padding: 24px 20px; }
    .billing-seat-picker h2, .billing-seat-panel h2 { font-size: 21px; }
    .billing-plan-grid-four { grid-template-columns: minmax(0, 1fr); }
    .billing-page-heading { flex-direction: column; align-items: start; gap: 14px; }
    .billing-subscription { padding: 24px 20px; }
    .billing-subscription-header { flex-direction: column; align-items: start; gap: 14px; }
    .billing-subscription h2 { font-size: 23px; }
    .billing-metrics { grid-template-columns: minmax(0, 1fr); gap: 17px; padding: 20px 0; }
    .billing-metrics > div { border-left: 0; padding: 0; }
    .billing-metrics dd { font-size: 21px; margin-top: 4px; }
    .billing-plan-grid { grid-template-columns: minmax(0, 1fr); }
    .billing-plan { padding: 24px; }
    .billing-plan h3 { margin-top: 10px; }
    .billing-plan-price { font-size: 32px; }
    .billing-plan-description { margin-bottom: 18px; }
    .billing-history { padding: 24px 20px 10px; }
    .billing-table { min-width: 550px; }
    .billing-table th, .billing-table td { padding-inline: 9px; }
    .billing-checkout-summary { padding: 26px 22px; }
    .billing-checkout-form h2 { font-size: 23px; }
    .billing-payment-details > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .billing-payment-total { flex-wrap: wrap; gap: 8px; }
    .billing-consent { gap: 12px; }
}
