/* Public and account surfaces consume the same tokens as the workspace.
   html[data-theme] also outranks the legacy landing stylesheet loaded by HeadContent. */
html[data-theme] .bf-experience {
    --bf-lilac: var(--ui-primary);
    --bf-violet: var(--ui-primary);
    --bf-ink: var(--ui-text);
    --bf-muted: var(--ui-muted);
    color: var(--ui-text);
    background: var(--ui-bg);
}
html[data-theme] :is(.bf-experience, .qp-public-pricing) { color-scheme: inherit; }
html[data-theme] .bf-header nav { gap: 16px; }
html[data-theme] .bf-brand-mark i { background: var(--ui-primary); }
html[data-theme] :is(.bf-brand small,.bf-home-link,.bf-footer,.bf-footer [lang=en]) { color: var(--ui-muted) !important; }
html[data-theme] .bf-header-rule { background: var(--ui-border); }
html[data-theme] .bf-header-action { background: var(--ui-surface); border-color: var(--ui-border); }
html[data-theme] .bf-header-action:hover { background: var(--ui-primary-soft); border-color: var(--ui-primary); }
html[data-theme] .bf-auth-layout { background: var(--ui-surface-raised); border-color: var(--ui-border); box-shadow: 0 24px 70px #0000000b; }
html[data-theme] :is(.bf-auth-form-side,.bf-form-card) { background: var(--ui-surface); color: var(--ui-text); border-color: var(--ui-border); }
html[data-theme] .bf-form-emblem { background: var(--ui-primary-soft); color: var(--ui-primary); border-color: var(--ui-border); }
html[data-theme] :is(.bf-form-kicker,.bf-form-description,.bf-form-card-heading p,.bf-field small,.bf-form-divider,.bf-account-switch,.bf-form-trust,.bf-form-footnote,.bf-checkbox,.bf-resend,.bf-resend small) { color: var(--ui-muted); }
html[data-theme] .bf-auth-tabs { background: var(--ui-bg); border-color: var(--ui-border); }
html[data-theme] .bf-auth-tabs a { color: var(--ui-muted); }
html[data-theme] .bf-auth-tabs a[aria-selected=true] { background: var(--ui-surface-raised); color: var(--ui-text); box-shadow: 0 2px 8px #0000000a; }
html[data-theme] :is(.bf-auth-tabs a>span,.bf-input-symbol,.bf-password-toggle) { color: var(--ui-muted); }
html[data-theme] .bf-field label { color: var(--ui-text); }
html[data-theme] .bf-field input::placeholder { color: var(--ui-muted); opacity: 1; }
html[data-theme] .bf-field input { color: var(--ui-text); background: var(--ui-bg); border-color: var(--ui-border); }
html[data-theme] .bf-field input:focus { color: var(--ui-text); background: var(--ui-surface); border-color: var(--ui-primary); box-shadow: 0 0 0 3px var(--ui-primary-soft); }
html[data-theme] .bf-field input:-webkit-autofill { -webkit-text-fill-color: var(--ui-text); box-shadow: 0 0 0 1000px var(--ui-surface) inset; caret-color: var(--ui-text); }
html[data-theme] .bf-password-toggle:hover { background: var(--ui-primary-soft); color: var(--ui-primary); }
html[data-theme] :is(.bf-password-toggle[aria-pressed=true],.bf-form-options>a,.bf-account-switch a,.bf-text-button,.bf-verified-number a,.bf-phone-icon) { color: var(--ui-primary); }
html[data-theme] .bf-checkbox input { accent-color: var(--ui-primary); }
html[data-theme] :is(.bf-button-primary,.bf-button-wide,.bf-experience a.bf-button-primary,.bf-membership a.bf-button-primary) { background: var(--ui-primary); color: var(--ui-on-primary,#fff); border-color: var(--ui-primary); }
html[data-theme] :is(.bf-button-primary,.bf-button-wide):hover { background: var(--ui-primary); filter: brightness(1.08); box-shadow: 0 8px 22px var(--ui-primary-soft); }
html[data-theme] .bf-form-divider::before,html[data-theme] .bf-form-divider::after { background: var(--ui-border); }
html[data-theme] :is(.bf-notice,.bf-workspace .bf-notice) { color: var(--ui-warning); background: color-mix(in srgb,var(--ui-warning) 9%,var(--ui-surface)); border-color: color-mix(in srgb,var(--ui-warning) 30%,var(--ui-border)); }
html[data-theme] :is(.bf-notice-error,.bf-enrollment-step>.bf-notice-error) { color: var(--ui-danger); background: color-mix(in srgb,var(--ui-danger) 9%,var(--ui-surface)); border-color: color-mix(in srgb,var(--ui-danger) 30%,var(--ui-border)); }
html[data-theme] .bf-verified-number { background: var(--ui-primary-soft); border-color: var(--ui-border); }
html[data-theme] .bf-verified-number b { color: var(--ui-text); }
html[data-theme] :is(.bf-experience,.bf-membership) :is(a,button,input,summary):focus-visible { outline-color: var(--ui-primary); }

/* The illustration changes with the surrounding surface, including its ledger text. */
html[data-theme] .bf-artwork { background: radial-gradient(ellipse at 12% 76%,var(--ui-primary-soft),transparent 68%),var(--ui-surface-raised); }
html[data-theme] :is(.bf-artwork-top,.bf-artwork-edition,.bf-overline,.bf-artwork-copy>p:last-child,.bf-artwork-footer,.bf-artwork-index,.bf-sheet-heading,.bf-sheet-tags,.bf-floating-note small) { color: var(--ui-muted); }
html[data-theme] :is(.bf-artwork-copy h2,.bf-sheet-title,.bf-floating-note strong) { color: var(--ui-text); }
html[data-theme] .bf-artwork-copy h2>span { color: var(--ui-primary); }
html[data-theme] .bf-orbit { border-color: color-mix(in srgb,var(--ui-primary) 14%,transparent); }
html[data-theme] .bf-glass-sheet { border-color: color-mix(in srgb,var(--ui-primary) 26%,var(--ui-border)); box-shadow: 0 18px 44px #0000000c; }
html[data-theme] .bf-sheet-front { background: color-mix(in srgb,var(--ui-surface) 85%,transparent); }
html[data-theme] .bf-sheet-back { background: var(--ui-primary-soft); }
html[data-theme] .bf-sheet-back>span { background: color-mix(in srgb,var(--ui-primary) 22%,transparent); }
html[data-theme] .bf-tiny-mark { background: var(--ui-primary-soft); color: var(--ui-primary); }
html[data-theme] .bf-sheet-tags { border-color: var(--ui-border); }
html[data-theme] .bf-sheet-graph i { background: linear-gradient(var(--ui-primary),var(--ui-primary-soft)); }
html[data-theme] .bf-floating-note { background: var(--ui-surface); border-color: var(--ui-border); }
html[data-theme] .bf-floating-note>span { color: var(--ui-success); border-color: color-mix(in srgb,var(--ui-success) 25%,transparent); background: color-mix(in srgb,var(--ui-success) 10%,transparent); }

/* All membership instances follow the selected theme, regardless of the old Dark parameter. */
html[data-theme] .bf-membership {
    --member-bg: var(--ui-surface);
    --member-ink: var(--ui-text);
    --member-secondary: var(--ui-muted);
    --member-border: var(--ui-border);
    --member-muted: var(--ui-muted);
    --member-tint: var(--ui-surface-raised);
    --member-accent: var(--ui-primary);
    --member-button: var(--ui-bg);
    --member-selected: var(--ui-primary-soft);
    --member-selected-border: var(--ui-primary);
    --member-featured: var(--ui-primary-soft);
    --member-line: var(--ui-border);
}
html[data-theme] .bf-membership-dark .bf-billing input:checked+span { background: var(--ui-surface); }
html[data-theme] .bf-plan:has(.bf-plan-radio:checked) .bf-choice-check { background: var(--ui-primary); border-color: var(--ui-primary); color: var(--ui-on-primary,#fff); }
html[data-theme] .bf-plan-featured:not(:has(.bf-plan-radio)) .bf-plan-choice { background: var(--ui-primary); border-color: var(--ui-primary); color: var(--ui-on-primary,#fff); }
html[data-theme] .bf-progress li { color: var(--ui-muted); }
html[data-theme] .bf-progress b { border-color: var(--ui-border); }
html[data-theme] .bf-progress li:not(:last-child)::after { background: var(--ui-border); }
html[data-theme] .bf-progress .is-current { color: var(--ui-primary); }
html[data-theme] .bf-progress .is-current b { background: var(--ui-primary-soft); border-color: var(--ui-primary); }
html[data-theme] .bf-progress .is-complete b { color: var(--ui-on-primary,#fff); background: var(--ui-primary); border-color: var(--ui-primary); }
html[data-theme] :is(.bf-eyebrow,.bf-section-intro h1 em,.bf-details-story h2 em,.bf-membership-reassurance i,.bf-ticket-mark,.bf-selected-ticket button,.qp-public-pricing>header>span) { color: var(--ui-primary); }
html[data-theme] .bf-eyebrow i { background: var(--ui-primary); }
html[data-theme] :is(.bf-section-intro p,.bf-membership-reassurance,.bf-details-story>p,.bf-selected-ticket small,.bf-selected-ticket p,.bf-story-footnote,.bf-workspace-heading p,.bf-current-membership small,.bf-current-membership p,.bf-subscription-actions>span,.qp-public-pricing>header p) { color: var(--ui-muted); }
html[data-theme] :is(.bf-selected-ticket,.bf-current-membership) { background: var(--ui-surface); border-color: var(--ui-border); }
html[data-theme] :is(.bf-selected-ticket strong,.bf-current-membership strong,.qp-public-pricing h2) { color: var(--ui-text); }
html[data-theme] .bf-ticket-mark { border-color: var(--ui-border); background: var(--ui-primary-soft); }
html[data-theme] .bf-membership-status { color: var(--ui-success); background: color-mix(in srgb,var(--ui-success) 10%,transparent); border-color: color-mix(in srgb,var(--ui-success) 30%,transparent); }
html[data-theme] .bf-membership-status.is-expired { color: var(--ui-danger); background: color-mix(in srgb,var(--ui-danger) 10%,transparent); border-color: color-mix(in srgb,var(--ui-danger) 30%,transparent); }

/* Secondary Identity screens and plan administration. */
html[data-theme] :is(.qp-account-root,.qp-auth) { color: var(--ui-text); background: var(--ui-bg); min-height: 100svh; }
html[data-theme] .qp-account-root:has(>.qp-account-utility) { padding: 0 clamp(20px,4vw,64px) 40px; }
.qp-account-utility { max-width: 1240px; margin: 0 auto 40px; padding: 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--ui-border); }
.qp-account-home { color: var(--ui-text); font-weight: 700; font-size: 22px; text-decoration: none; }
.qp-account-home span { display: block; color: var(--ui-muted); font-size: 11px; font-weight: 400; margin-top: 4px; }
.qp-account-utility nav { display: flex; align-items: center; gap: 20px; font-size: 12px; }
.qp-account-utility nav>a { color: var(--ui-muted); }
.qp-account-settings { max-width: 1240px; margin: auto; }
.qp-settings-heading { margin-bottom: 28px; }
.qp-settings-heading>span { font-size: 12px; color: var(--ui-primary); }
.qp-settings-heading h1 { font-size: clamp(24px,3vw,32px); margin: 10px 0; }
.qp-settings-heading p { color: var(--ui-muted); font-size: 13px; line-height: 1.9; }
.qp-settings-grid { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 24px; align-items: start; }
.qp-settings-nav,.qp-settings-content { border: 1px solid var(--ui-border); background: var(--ui-surface); border-radius: 18px; padding: 24px; min-width: 0; }
.qp-settings-nav { padding: 12px; }
.qp-settings-nav .nav-link { color: var(--ui-muted); padding: 12px 14px; font-size: 13px; border-radius: 10px; }
.qp-settings-nav .nav-link.active { background: var(--ui-primary-soft); color: var(--ui-primary); }
.qp-settings-content .row>[class*=col-md] { width: 100%; }
html[data-theme] .qp-auth-form.qp-plan-card { background: var(--ui-surface); border-color: var(--ui-border); }
html[data-theme] .qp-auth-form input { color: var(--ui-text); background: var(--ui-bg); border-color: var(--ui-border); }
html[data-theme] .qp-auth-submit { background: var(--ui-primary); color: var(--ui-on-primary,#fff); }
html[data-theme] .qp-plan-note { color: var(--ui-muted); }
.ui-pos-theme { position: absolute; top: 12px; left: 220px; z-index: 1020; }

/* Landing: scoped legacy adapters. Decorative product scenes retain their own dark ink. */
html[data-theme] .beh-landing {
    --beh-text: var(--ui-text);
    --beh-muted: var(--ui-muted);
    --beh-line: var(--ui-border);
    --beh-glass: var(--ui-surface);
    --beh-blue: var(--ui-primary);
    --beh-purple: var(--ui-primary);
    color: var(--ui-text);
    background: radial-gradient(ellipse at 12% 2%,var(--ui-primary-soft),transparent 35%),var(--ui-bg);
    font-family: var(--ui-font,var(--font-iransans,"IRANSansXFaNum",Tahoma,sans-serif));
}
html[data-theme] .beh-header .beh-header-main { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; box-shadow: 0 12px 34px #0000000a !important; }
html[data-theme] :is(.beh-center-logo,.beh-center-gem) { background: var(--ui-surface) !important; }
html[data-theme] .beh-center-logo::before { box-shadow: -22px 0 0 var(--ui-surface) !important; }
html[data-theme] .beh-center-logo::after { box-shadow: 22px 0 0 var(--ui-surface) !important; }
html[data-theme] .beh-center-badge { border-color: var(--ui-surface) !important; }
html[data-theme] :is(.beh-center-logo,.beh-nav a,.beh-nav a span) { color: var(--ui-text) !important; }
html[data-theme] .beh-center-logo small { color: var(--ui-muted) !important; }
html[data-theme] .beh-nav a:hover { background: var(--ui-primary-soft) !important; color: var(--ui-primary) !important; }
html[data-theme] .beh-nav .beh-consult-link { background: var(--ui-primary-soft) !important; border-color: var(--ui-border) !important; }
html[data-theme] .beh-nav [data-theme-toggle] { flex-shrink: 0; }
html[data-theme] :is(.beh-hero-title,.beh-hero-title>span,.beh-section-title h2,.feature-panel-copy h3,.trial-title-v2,.support-copy-panel h2,.faq-head h2) { color: var(--ui-text) !important; }
html[data-theme] :is(.beh-hero-summary,.beh-ai-subtitle,.beh-ai-subtitle span,.beh-section-title>p,.feature-panel-copy p,.trial-lead-v2,.support-copy-panel p,.faq-head p) { color: var(--ui-muted) !important; }
html[data-theme] :is(.beh-btn-glass,.trial-secondary-btn,.secondary-support-btn) { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; }
html[data-theme] :is(.beh-hero-kicker,.beh-section-title>span,.feature-panel-copy>span,.trial-kicker,.support-eyebrow,.faq-kicker) { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; border-color: var(--ui-border) !important; }
html[data-theme] :is(.beh-btn-primary,.trial-primary-btn,.primary-support-btn) { background: var(--ui-primary) !important; color: var(--ui-on-primary,#fff) !important; border-color: var(--ui-primary) !important; }
html[data-theme] .beh-hero-title em { background: none !important; -webkit-text-fill-color: var(--ui-primary) !important; color: var(--ui-primary) !important; }
html[data-theme] :is(.beh-signal-board,.beh-hero-metrics>div,.beh-features-tabs-shell,.trial-demo-section,.support-section-pro.contact-section,.beh-faq-section,.beh-footer-sima) { background: var(--ui-surface-raised) !important; border-color: var(--ui-border) !important; }
html[data-theme] :is(.beh-hero-metrics b,.channel-card strong,.beh-feature-tab-nav label strong,.feature-mini-list span,.beh-feature-bottom-grid strong,.trial-benefits strong,.support-audience-grid strong) { color: var(--ui-text) !important; }
html[data-theme] :is(.beh-hero-metrics span,.channel-card small,.beh-feature-tab-nav label small,.beh-feature-bottom-grid span,.trial-benefits span,.support-audience-grid span) { color: var(--ui-muted) !important; }
html[data-theme] :is(.channel-card,.beh-feature-tab-nav,.feature-mini-list>div,.beh-feature-bottom-grid>article,.trial-benefits>article,.support-audience-grid>div) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; }
html[data-theme] .beh-feature-tab-nav label { color: var(--ui-muted); }
html[data-theme] .beh-feature-tab-nav label:hover { background: var(--ui-primary-soft) !important; }
html[data-theme=dark] :is(.beh-feature-tab-nav label i,.feature-mini-list b,.beh-feature-bottom-grid i,.trial-benefits i,.support-audience-grid b) { background: var(--ui-primary-soft) !important; color: var(--ui-primary) !important; }
html[data-theme] :is(.faq-visual-card,.faq-accordion,.faq-mini-question,.faq-accordion details,.footer-newsletter-card,.footer-social-row a,.footer-floating) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; }
html[data-theme] :is(.faq-visual-top strong,.faq-mini-question span,.faq-accordion summary,.footer-logo,.footer-col h4,.footer-newsletter-card h4,.footer-floating) { color: var(--ui-text) !important; }
html[data-theme] :is(.faq-mini-question i,.faq-accordion p,.footer-brand-sima p,.footer-col a,.footer-newsletter-card p,.footer-bottom-sima) { color: var(--ui-muted) !important; }
html[data-theme] :is(.faq-mini-question.active,.faq-accordion summary i,.faq-mini-question b) { background: var(--ui-primary-soft) !important; color: var(--ui-primary) !important; border-color: var(--ui-border) !important; }
html[data-theme] .faq-visual-top { border-color: var(--ui-border) !important; }
html[data-theme] .footer-mini-form input { background: var(--ui-bg) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; }
html[data-theme] .footer-bottom-sima { border-color: var(--ui-border) !important; }
html[data-theme=dark] .beh-bg-grid { opacity: .16; }
html[data-theme=dark] .beh-bg-noise { opacity: .04; }
html[data-theme=dark] .beh-orb { opacity: .1; }
html[data-theme=dark] :is(.signal-status,.support-call-card,.support-metric-chip) { color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-border) !important; }
html[data-theme=dark] :is(.support-call-card strong,.support-call-number,.support-metric-chip strong) { color: var(--ui-text) !important; }
html[data-theme=dark] :is(.support-call-card span,.support-metric-chip span) { color: var(--ui-muted) !important; }
html[data-theme=dark] .trial-days-highlight { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; }

@media(max-width:1100px) {
    html[data-theme] .beh-nav { gap: 6px !important; }
}
@media(max-width:767px) {
    .qp-settings-grid { grid-template-columns: 1fr; }
    .qp-settings-nav .nav { flex-direction: row !important; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
    .qp-settings-nav .nav-item { flex-shrink: 0; }
    .qp-settings-content { padding: 20px; }
    .ui-pos-theme { left: 58px; top: 10px; }
}
@media(max-width:700px) {
    html[data-theme] .bf-header nav { gap: 9px; }
    html[data-theme] .bf-auth-layout { background: transparent; box-shadow: none; }
    .qp-account-utility { margin-bottom: 24px; padding-block: 18px; }
}
@media(max-width:575px) {
    html[data-theme] .beh-header .beh-nav-left { gap: 6px !important; }
    html[data-theme] .beh-nav-left [data-theme-toggle] { width: 36px; height: 36px; min-width: 36px; }
    html[data-theme] .beh-nav-left [data-theme-toggle] [data-theme-label] { display: none; }
}
@media(prefers-reduced-motion:reduce) {
    html[data-theme] .beh-landing { scroll-behavior: auto; }
    html[data-theme] .beh-landing .packet { display: none !important; }
}
/* Selected feature tabs need their own contrast after the legacy ID-based rules. */
html[data-theme] .beh-feature-panel { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; }
html[data-theme] :is(
    #feat-accounting:checked~.beh-feature-tab-nav label[for=feat-accounting],
    #feat-sales:checked~.beh-feature-tab-nav label[for=feat-sales],
    #feat-inventory:checked~.beh-feature-tab-nav label[for=feat-inventory],
    #feat-finance:checked~.beh-feature-tab-nav label[for=feat-finance],
    #feat-reports:checked~.beh-feature-tab-nav label[for=feat-reports],
    #feat-cloud:checked~.beh-feature-tab-nav label[for=feat-cloud]
) { color: var(--ui-primary) !important; background: var(--ui-primary-soft) !important; box-shadow: inset 0 0 0 1px var(--ui-primary) !important; }
html[data-theme] :is(
    #feat-accounting:checked~.beh-feature-tab-nav label[for=feat-accounting],
    #feat-sales:checked~.beh-feature-tab-nav label[for=feat-sales],
    #feat-inventory:checked~.beh-feature-tab-nav label[for=feat-inventory],
    #feat-finance:checked~.beh-feature-tab-nav label[for=feat-finance],
    #feat-reports:checked~.beh-feature-tab-nav label[for=feat-reports],
    #feat-cloud:checked~.beh-feature-tab-nav label[for=feat-cloud]
) :is(strong,small,i) { color: var(--ui-primary) !important; }
html[data-theme] :is(.support-visual-card,.support-visual-topbar,.support-chat-panel,.support-workflow-panel,.support-chat-input,.support-flow-step) { background: var(--ui-surface) !important; border-color: var(--ui-border) !important; box-shadow: none; }
html[data-theme] :is(.support-visual-topbar b,.support-chat-toolbar span,.support-mini-header strong,.support-flow-step b,.support-chat-input span) { color: var(--ui-text) !important; }
html[data-theme] :is(.support-visual-topbar small,.support-flow-step small) { color: var(--ui-muted) !important; }
html[data-theme] :is(.support-mini-header,.support-chat-toolbar) { border-color: var(--ui-border) !important; }
html[data-theme] .user-message .support-bubble { background: var(--ui-primary-soft) !important; color: var(--ui-text) !important; border-color: var(--ui-border) !important; }
html[data-theme] .support-typing { background: var(--ui-surface-raised) !important; border-color: var(--ui-border) !important; }
html[data-theme] .bf-notice-success { color: var(--ui-success) !important; background: var(--ui-success-soft) !important; border-color: color-mix(in srgb,var(--ui-success) 30%,var(--ui-border)) !important; }
html[data-theme] .beh-nav-left [data-theme-label] { display: none; }
html[data-theme] .beh-nav-left .qp-theme-control { flex-shrink: 0; }
@media(max-width:700px) {
    html[data-theme] .bf-header [data-theme-label] { display: none; }
}

html[data-theme] .channel-card b { background: var(--ui-primary) !important; color: var(--ui-on-primary,#fff) !important; }
/* The runtime pauses decoration when the document is not visible. */
html[data-ui-paused=true] :is(.bf-experience,.beh-landing) *,
html[data-ui-paused=true] :is(.bf-experience,.beh-landing) *::before,
html[data-ui-paused=true] :is(.bf-experience,.beh-landing) *::after { animation-play-state: paused !important; }
