/* ========================================
   White / Black Semantic Theme Overrides
   Loaded last to unify legacy page styles.
   ======================================== */

:root {
  --theme-card-bg: rgba(255, 255, 255, 0.96);
  --theme-card-border: rgba(17, 17, 17, 0.08);
  --theme-card-border-strong: rgba(17, 17, 17, 0.12);
  --theme-muted-surface: rgba(247, 247, 248, 0.96);
}

/* Public home */
.public-home {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 34%),
    radial-gradient(circle at 86% 16%, rgba(217, 119, 6, 0.08), transparent 24%),
    linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 60%, var(--color-bg-secondary) 100%);
  color: var(--color-text-primary);
}

.public-home__ambient--one { background: rgba(37, 99, 235, 0.12); }
.public-home__ambient--two { background: rgba(217, 119, 6, 0.12); }

.public-home__brand-mark,
.public-home__hero-copy,
.public-home__hero-panel,
.public-home__section--band {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--theme-card-border);
  box-shadow: var(--shadow-lg);
  backdrop-filter: none;
}

.public-home__brand-mark { color: var(--color-info); }

.public-home__nav-link,
.public-home__secondary,
.public-home__panel-link {
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.94);
  color: var(--color-text-primary);
  box-shadow: none;
}

.public-home__nav-link:hover,
.public-home__secondary:hover,
.public-home__panel-link:hover {
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.public-home__primary {
  background: var(--color-primary);
  color: var(--color-text-inverse);
  box-shadow: 0 18px 32px -22px rgba(var(--color-primary-rgb), 0.34);
}

.public-home__primary:hover { background: var(--color-primary-hover); }

.public-home__eyebrow {
  border: 1px solid var(--color-info-border);
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.public-home__hero p,
.public-home__steps span,
.public-home__quota p,
.public-home__tool p,
.public-home__tool-head span,
.public-home__brand span,
.public-home__hero-meta span,
.public-home__quota span,
.public-home__section-head span {
  color: var(--color-text-secondary);
}

.public-home__hero-meta div,
.public-home__steps li,
.public-home__quota-cards article {
  background: var(--theme-muted-surface);
  border: 1px solid var(--theme-card-border);
}

.public-home__panel-tag {
  background: var(--color-warning-ultra-light);
  color: var(--color-warning);
  border: 1px solid var(--color-warning-border);
}

.public-home__tool {
  position: relative;
  overflow: hidden;
  min-height: 204px;
  border: 1px solid var(--theme-card-border);
  background: #ffffff !important;
  box-shadow: var(--shadow-lg);
}

.public-home__tool::before {
  content: '';
  position: absolute;
  top: 22px;
  right: 22px;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--tool-tone, var(--color-info));
  box-shadow: 0 0 0 8px var(--tool-halo, var(--color-info-ultra-light));
}

.public-home__tool-action { color: var(--tool-tone, var(--color-info)); }

.public-home__tool--ink {
  --tool-tone: var(--color-primary);
  --tool-halo: var(--color-primary-ultra-light);
}

.public-home__tool--ocean,
.public-home__tool--sun {
  --tool-tone: var(--color-info);
  --tool-halo: var(--color-info-ultra-light);
}

.public-home__tool--sand {
  --tool-tone: var(--color-warning);
  --tool-halo: var(--color-warning-ultra-light);
}

.public-home__tool--forest {
  --tool-tone: var(--color-success);
  --tool-halo: var(--color-success-ultra-light);
}

.public-home__tool--steel {
  --tool-tone: var(--tone-slate);
  --tool-halo: rgba(71, 85, 105, 0.08);
}

.public-home__quota-cards strong { color: var(--color-text-secondary); }

/* Dashboard */
.dash-layout {
  background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 60%, var(--color-bg-secondary) 100%);
}

.dash-layout::after {
  background: radial-gradient(circle, rgba(37, 99, 235, 0.08) 0%, rgba(var(--color-primary-rgb), 0.04) 44%, transparent 72%);
}

.dash-topnav,
.dash-commercial,
.dash-commercial-hero,
.dash-commercial-side,
.dash-commercial-card,
.dash-stat-card,
.dash-history-column,
.history-card,
.dash-contact-modal__dialog,
.dash-contact-modal__panel,
.dash-user-trigger,
.dash-user-dropdown,
.topnav-dropdown {
  background: rgba(255, 255, 255, 0.96);
  border-color: var(--theme-card-border);
  box-shadow: var(--shadow-lg);
}

.dash-topnav { background: rgba(255, 255, 255, 0.92); }

.logo-badge,
.dash-commercial-eyebrow {
  color: var(--color-info);
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
}

.topnav-link:hover,
.topnav-link.active,
.user-dropdown-item:hover,
.topnav-dropdown-item:hover {
  background: var(--color-info-ultra-light);
  color: var(--color-text-primary);
}

.dash-search input:focus {
  border-color: var(--color-info);
  box-shadow: 0 0 0 1px var(--color-info);
}

.dash-create-btn,
.dash-cta-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: 0 16px 28px -20px rgba(var(--color-primary-rgb), 0.34);
}

.dash-create-btn:hover,
.dash-cta-primary:hover {
  background: var(--color-primary-hover);
}

.dash-cta-secondary:hover,
.dash-commercial-action-row .dash-cta-secondary:hover,
.dash-contact-modal__close:hover {
  background: var(--color-info-ultra-light);
  border-color: var(--color-info-border);
  color: var(--color-info);
}

.dash-commercial-alert {
  border-color: var(--theme-card-border);
  background: #ffffff;
}

.dash-commercial-alert--warning {
  border-color: var(--color-warning-border);
  background: var(--color-warning-ultra-light);
}

.dash-commercial-alert--info {
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
}

.dash-commercial-alert--success,
.dash-commercial-hero--success {
  border-color: var(--color-success-border);
  background: rgba(255, 255, 255, 0.98);
}

.dash-commercial-hero--info {
  border-color: var(--color-info-border);
  background: rgba(255, 255, 255, 0.98);
}

.dash-commercial-hero--warning {
  border-color: var(--color-warning-border);
  background: rgba(255, 255, 255, 0.98);
}

.dash-commercial-side,
.dash-contact-modal__panel,
.dash-history-column--pending,
.dash-history-column--completed {
  background: rgba(255, 255, 255, 0.98);
}

.stat-icon {
  background: var(--color-primary-ultra-light) !important;
  color: var(--color-primary) !important;
  box-shadow: inset 0 0 0 1px var(--theme-card-border);
}

.stat-icon-violet,
.dash-core-card[data-tool="bid-scoring"] .core-card-icon,
.dash-quick-card[data-tool="flow-chart"] .quick-card-icon,
.dash-quick-card[data-tool="gantt"] .quick-card-icon {
  background: var(--color-info-ultra-light) !important;
  color: var(--color-info) !important;
}

.dash-core-card[data-tool="bid-scoring"] .core-card-accent {
  background: var(--color-info) !important;
}

.stat-icon-teal,
.dash-core-card[data-tool="construction-plan"] .core-card-icon,
.dash-quick-card[data-tool="org-chart"] .quick-card-icon {
  background: var(--color-success-ultra-light) !important;
  color: var(--color-success) !important;
}

.dash-core-card[data-tool="construction-plan"] .core-card-accent {
  background: var(--color-success) !important;
}

.dash-core-card[data-tool="bid-generator"] .core-card-icon,
.dash-quick-card[data-tool="billing"] .quick-card-icon {
  background: var(--color-primary-ultra-light) !important;
  color: var(--color-primary) !important;
}

.dash-core-card[data-tool="bid-generator"] .core-card-accent {
  background: var(--color-primary) !important;
}

.dash-quick-card[data-tool="knowledge-base"] .quick-card-icon {
  background: rgba(71, 85, 105, 0.08) !important;
  color: var(--tone-slate) !important;
}

.dash-core-card,
.dash-quick-card,
.history-card,
.dash-history-empty {
  border-color: var(--theme-card-border);
  background: rgba(255, 255, 255, 0.96);
}

.dash-history-column--pending { border-color: var(--color-warning-border); }
.dash-history-column--completed { border-color: var(--color-success-border); }

/* Auth */
.auth-page {
  background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 58%, var(--color-bg-secondary) 100%);
}

.auth-ambient-orb {
  background: radial-gradient(ellipse at center, rgba(37, 99, 235, 0.08) 0%, transparent 72%);
}

.auth-panel,
.wechat-gate__dialog,
.wechat-gate__qr-area,
.wechat-gate__qr-mount {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--theme-card-border);
  box-shadow: var(--shadow-xl);
}

.auth-tabs { border-bottom-color: var(--color-border); }

.auth-status-pill {
  border-color: var(--color-info-border);
  color: var(--color-info);
  background: var(--color-info-ultra-light);
}

.auth-field input:focus {
  border-color: var(--color-info);
  box-shadow: 0 0 0 1px var(--color-info);
}

.auth-field input.error {
  border-color: var(--color-error);
  box-shadow: 0 0 0 1px var(--color-error);
}

.field-error { color: var(--color-error); }

.auth-toast.success::before {
  background: var(--color-success);
  box-shadow: 0 0 0 2px var(--color-success-light);
}

.auth-toast.error::before {
  background: var(--color-error);
  box-shadow: 0 0 0 2px var(--color-error-light);
}

.auth-secondary,
.auth-guest-btn,
.wechat-gate__close {
  border-color: var(--color-border);
  background: rgba(255, 255, 255, 0.94);
}

.auth-submit,
.wechat-gate__primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
}

.auth-submit:hover,
.wechat-gate__primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
  box-shadow: 0 10px 24px -18px rgba(var(--color-primary-rgb), 0.34);
}

.wechat-gate__qr-area { box-shadow: none; }
.wechat-gate__qr-mount { background: #ffffff; }
.wechat-gate__qr-placeholder { color: var(--color-info); }

.wechat-gate__status {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.wechat-gate__status.is-blocked {
  background: var(--color-error-ultra-light);
  color: var(--color-error);
}

.wechat-gate__summary-item {
  background: var(--theme-muted-surface);
  border: 1px solid var(--theme-card-border);
}

.wechat-gate__link { color: var(--color-info); }

/* Billing */
.billing-shell {
  color: var(--color-text-primary);
  background:
    radial-gradient(circle at top right, rgba(37, 99, 235, 0.08), transparent 28%),
    radial-gradient(circle at 0% 18%, rgba(217, 119, 6, 0.06), transparent 24%),
    linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 60%, var(--color-bg-secondary) 100%);
}

.billing-shell .account-link-btn,
.billing-shell .account-back-btn,
.billing-category-btn,
.billing-modal__close {
  border-color: var(--color-border);
  background: rgba(255, 255, 255, 0.94);
  color: var(--color-text-primary);
}

.billing-shell .account-link-btn:hover,
.billing-shell .account-back-btn:hover,
.billing-category-btn:hover {
  background: var(--color-info-ultra-light);
  border-color: var(--color-info-border);
  color: var(--color-info);
}

.billing-shell .account-primary-btn,
.billing-intro__cta,
.billing-modal__actions .account-primary-btn {
  border-color: var(--color-primary);
  background: var(--color-primary);
}

.billing-shell .account-primary-btn:hover,
.billing-intro__cta:hover {
  border-color: var(--color-primary-hover);
  background: var(--color-primary-hover);
}

.billing-intro,
.billing-summary-card,
.billing-plan-section,
.billing-support-card,
.billing-orders-panel,
.billing-charity-footer,
.billing-plan-card,
.billing-balance-card,
.billing-intro__side,
.billing-orders-toolbar,
.billing-shell .admin-table-wrap,
.billing-modal__dialog,
.billing-modal__qr-shell {
  border-color: var(--theme-card-border);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-lg);
  backdrop-filter: none;
}

.billing-tag,
.billing-support-tags span,
.billing-plan-card__tags span,
.billing-modal__tags span,
.billing-support-pill,
.billing-plan-card__badge,
.billing-summary-status,
.billing-status-pill,
.billing-balance-card__chips span,
.billing-modal__status {
  background: var(--theme-muted-surface);
  color: var(--color-text-primary);
  border-color: var(--theme-card-border);
}

.billing-section-eyebrow {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.billing-alert {
  border-color: var(--theme-card-border);
  background: rgba(255, 255, 255, 0.98);
}

.billing-alert--warning {
  border-color: var(--color-warning-border);
  background: var(--color-warning-ultra-light);
}

.billing-alert--info {
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
}

.billing-summary-status.active,
.billing-summary-status.trial,
.billing-summary-status.past_due,
.billing-status-pill.paid,
.billing-plan-card__availability.is-ready,
.billing-order-status__meta.is-success,
.billing-modal__payment-status.is-success {
  background: var(--color-success-ultra-light);
  border-color: var(--color-success-border);
  color: var(--color-success);
}

.billing-summary-status.expired,
.billing-summary-status.canceled,
.billing-modal__payment-status.is-error,
.billing-modal__countdown.is-expired {
  background: var(--color-error-ultra-light);
  border-color: var(--color-error-border);
  color: var(--color-error);
}

.billing-summary-status.none,
.billing-status-pill.pending,
.billing-plan-card__availability.is-blocked,
.billing-order-status__meta.is-warning,
.billing-modal__payment-status,
.billing-modal__countdown {
  background: var(--color-warning-ultra-light);
  border-color: var(--color-warning-border);
  color: var(--color-warning);
}

.billing-plan-card.featured,
.billing-category-btn.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  color: var(--color-text-inverse);
  box-shadow: 0 18px 36px -28px rgba(var(--color-primary-rgb), 0.32);
}

.billing-plan-card__price,
.billing-modal__price,
.billing-support-contact {
  color: var(--color-text-primary);
}

.billing-balance-card__meter {
  background: rgba(var(--color-primary-rgb), 0.12);
}

.billing-balance-card__meter span {
  background: linear-gradient(90deg, #2c4e9a 0%, #5574bf 100%);
}

.billing-balance-card__meter.is-warning span {
  background: linear-gradient(90deg, #d97706 0%, #b45309 100%);
}

.billing-balance-card__meter.is-info span {
  background: linear-gradient(90deg, #2563eb 0%, #1d4ed8 100%);
}

.billing-balance-card__meter.is-unlimited span,
.billing-balance-card.is-success .billing-balance-card__meter span {
  background: linear-gradient(90deg, #16a34a 0%, #15803d 100%);
}

.billing-modal__section--accent,
.billing-modal__hint,
.billing-summary-metric,
.billing-modal__fact {
  background: var(--theme-muted-surface);
  border: 1px solid var(--theme-card-border);
}

/* Account / admin */
.account-shell--overview,
.account-shell,
.admin-main,
.admin-sidebar {
  background:
    radial-gradient(circle at 8% 8%, rgba(37, 99, 235, 0.08), transparent 28%),
    radial-gradient(circle at 94% 0%, rgba(217, 119, 6, 0.05), transparent 20%),
    linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 64%, var(--color-bg-secondary) 100%);
}

.account-sidebar-card,
.account-stage-head,
.account-overview-hero,
.account-panel,
.account-referral-head,
.account-referral-subpanel,
.account-focus-card,
.account-stat-card,
.account-empty-state,
.admin-main-header,
.admin-table-wrap,
.account-hero,
.account-referral-kpi {
  background: rgba(255, 255, 255, 0.98);
  border-color: var(--theme-card-border);
  box-shadow: var(--shadow-lg);
}

.account-shell--overview .account-link-btn,
.account-back-btn,
.account-link-btn,
.admin-btn-secondary,
.admin-sidebar-footer .account-back-btn,
.billing-shell .account-link-btn {
  background: rgba(255, 255, 255, 0.94);
  color: var(--color-text-primary);
}

.account-shell--overview .account-primary-btn,
.account-primary-btn,
.admin-btn-primary,
.admin-role-badge {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
}

.account-shell--overview .account-primary-btn:hover,
.account-primary-btn:hover,
.admin-btn-primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.account-shell--overview .account-link-btn:hover,
.account-back-btn:hover,
.account-link-btn:hover,
.admin-btn-secondary:hover,
.admin-tab-btn:hover,
.admin-tab-btn.active,
.modern-table tbody tr:hover td,
.account-section-btn:hover {
  background: var(--color-info-ultra-light);
  border-color: var(--color-info-border);
  color: var(--color-text-primary);
}

.account-shell--overview .account-link-btn.danger,
.account-link-btn.danger {
  color: var(--color-error);
  border-color: var(--color-error-border);
}

.account-shell--overview .account-link-btn.danger:hover,
.account-link-btn.danger:hover {
  background: var(--color-error-ultra-light);
  border-color: var(--color-error-border);
  color: var(--color-error-hover);
}

.account-kicker,
.account-stage-eyebrow,
.account-overview-summary-label,
.account-referral-label,
.account-hero-badge--info,
.admin-badge {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
  border-color: var(--color-info-border);
}

.account-hero-badge,
.admin-badge {
  border: 1px solid var(--theme-card-border);
}

.account-hero-badge--success,
.admin-info-pill.active,
.admin-info-pill.ready,
.admin-info-pill.admin,
.billing-status-pill.active {
  background: var(--color-success-ultra-light);
  color: var(--color-success);
  border-color: var(--color-success-border);
}

.account-hero-badge--neutral,
.admin-info-pill.user,
.billing-plan-badge {
  background: var(--theme-muted-surface);
  color: var(--color-text-primary);
  border-color: var(--theme-card-border);
}

.account-overview-mini-card,
.account-overview-summary--spotlight,
.account-referral-kpi,
.account-focus-card__icon,
.account-empty-state {
  background: var(--theme-muted-surface);
  border-color: var(--theme-card-border);
}

.account-section-btn.is-active {
  background: var(--color-primary-ultra-light);
  border-color: var(--theme-card-border-strong);
}

.account-section-btn__icon {
  background: var(--theme-muted-surface);
  color: var(--color-text-primary);
  border: 1px solid var(--theme-card-border);
}

.account-section-btn[data-section="overview"] .account-section-btn__icon,
.account-focus-card--info .account-focus-card__icon {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
  border-color: var(--color-info-border);
}

.account-section-btn[data-section="profile"] .account-section-btn__icon {
  background: rgba(71, 85, 105, 0.08);
  color: var(--tone-slate);
  border-color: rgba(71, 85, 105, 0.16);
}

.account-section-btn[data-section="security"] .account-section-btn__icon {
  background: var(--color-primary-ultra-light);
  color: var(--color-primary);
  border-color: var(--theme-card-border-strong);
}

.account-section-btn[data-section="referral"] .account-section-btn__icon,
.account-focus-card--warning .account-focus-card__icon {
  background: var(--color-warning-ultra-light);
  color: var(--color-warning);
  border-color: var(--color-warning-border);
}

.account-section-btn[data-section="notifications"] .account-section-btn__icon,
.account-focus-card--success .account-focus-card__icon {
  background: var(--color-success-ultra-light);
  color: var(--color-success);
  border-color: var(--color-success-border);
}

.account-focus-card::before { background: var(--color-info); }
.account-focus-card--neutral::before { background: var(--color-primary); }
.account-focus-card--warning::before { background: var(--color-warning); }
.account-focus-card--success::before { background: var(--color-success); }

.account-toast.error::before { background: var(--color-error); }

.admin-sidebar,
.admin-main-header {
  background: rgba(255, 255, 255, 0.94);
}

.admin-tab-btn.active {
  background: var(--color-primary-ultra-light);
  border-color: var(--theme-card-border-strong);
}

.admin-info-pill,
.billing-status-pill,
.billing-plan-badge {
  background: var(--theme-muted-surface);
  color: var(--color-text-primary);
  border-color: var(--theme-card-border);
}

.admin-info-pill.guest,
.admin-info-pill.trial,
.admin-info-pill.pending,
.admin-info-pill.draft,
.billing-status-pill.pending,
.billing-status-pill.trial {
  background: var(--color-warning-ultra-light);
  color: var(--color-warning);
  border-color: var(--color-warning-border);
}

.admin-info-pill.partial,
.admin-info-pill.missing {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
  border-color: var(--color-info-border);
}

.admin-info-pill.disabled,
.admin-info-pill.suspended,
.admin-info-pill.expired,
.admin-info-pill.canceled,
.billing-status-pill.canceled,
.billing-status-pill.expired {
  background: var(--color-error-ultra-light);
  color: var(--color-error);
  border-color: var(--color-error-border);
  text-decoration: none;
}

/* Tool pages */
.bg-container,
.pl-layout,
.legacy-editor-shell,
.cp-page-shell,
.gantt-workbench,
.gantt-layout {
  background: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg) 60%, var(--color-bg-secondary) 100%);
}

.bg-header,
.bg-card,
.gantt-sidebar,
.gantt-preview-header,
.gantt-canvas-container,
.gantt-empty-panel,
.pl-topbar,
.pl-content-card,
.pl-guide-card,
.legacy-editor-sidebar,
.legacy-editor-card,
.cp-card,
.cp-page-header {
  background: rgba(255, 255, 255, 0.98);
  border-color: var(--theme-card-border);
  box-shadow: var(--shadow-lg);
}

.bg-back-btn:hover,
.pl-nav-item.active,
.pl-tab.active,
.gantt-preview-btn:hover:not(:disabled),
.cp-back-btn:hover {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
  border-color: var(--color-info-border);
}

.bg-container .stepper-item.active .step-circle,
.gantt-btn,
.gantt-preview-btn.primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-text-inverse);
  box-shadow: 0 14px 24px -18px rgba(var(--color-primary-rgb), 0.34);
}

.gantt-btn--secondary {
  background: rgba(255, 255, 255, 0.98);
  color: var(--color-info);
  border: 1px solid var(--color-info-border);
  box-shadow: none;
}

.gantt-btn--ghost,
.gantt-preview-btn,
.cp-back-btn {
  background: rgba(255, 255, 255, 0.98);
  color: var(--color-text-primary);
  border-color: var(--color-border);
  box-shadow: none;
}

.pl-guide-icon,
.legacy-editor-eyebrow,
.legacy-editor-kicker {
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.legacy-editor-list-item:hover,
.legacy-editor-list-item.is-active {
  border-color: var(--color-info-border);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.08);
}

.cp-step.active {
  border-color: var(--cp-primary);
  background: var(--cp-primary-bg);
  color: var(--cp-primary);
  box-shadow: none;
}

.cp-step.done {
  border-color: var(--color-success-border);
  background: var(--color-success-ultra-light);
  color: var(--color-success);
}

/* Image library / flow chart */
.il-upload-zone,
.il-card,
.fc-topbar,
.fc-gallery-section,
.fc-workspace,
.fc-panel,
.fc-card,
.fc-node-editor,
.fc-empty-panel {
  background: rgba(255, 255, 255, 0.98);
  border-color: var(--theme-card-border);
  box-shadow: var(--shadow-md);
}

.il-upload-zone {
  background: var(--theme-muted-surface);
}

.il-upload-zone:hover,
.il-upload-zone.il-dragover {
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
}

.il-uploading {
  border-color: var(--color-info-border);
  background: var(--color-info-ultra-light);
  color: var(--color-info);
}

.il-analyzing {
  border-color: var(--color-warning-border);
  background: var(--color-warning-ultra-light);
  color: var(--color-warning);
}

.il-card-analyzed {
  border-color: var(--theme-card-border-strong);
}

.fc-topbar {
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: none;
}

.fc-hero-kicker {
  color: var(--color-info);
  border-bottom-color: var(--color-info-border);
}

.fc-hero-copy h1 em {
  color: var(--color-info);
}

/* Contrast cleanups */
.account-overview-summary--spotlight {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--theme-card-border);
  box-shadow: var(--shadow-lg);
}

.account-overview-summary--spotlight strong,
.account-overview-summary--spotlight .account-overview-summary-head strong {
  color: var(--color-text-primary);
}

.account-overview-summary--spotlight p,
.account-overview-summary--spotlight .account-overview-summary-head p {
  color: var(--color-text-secondary);
}

.account-overview-summary--spotlight .account-link-btn {
  background: rgba(255, 255, 255, 0.98);
}

.billing-plan-card.featured .billing-plan-card__name,
.billing-plan-card.featured .billing-plan-card__price,
.billing-plan-card.featured .billing-plan-card__footer,
.billing-plan-card.featured .billing-support-contact {
  color: var(--color-text-inverse);
}

.billing-plan-card.featured .billing-plan-card__head p,
.billing-plan-card.featured .billing-plan-card__meta span,
.billing-plan-card.featured .billing-plan-card__highlights div,
.billing-plan-card.featured .billing-order-action-note {
  color: rgba(255, 255, 255, 0.78);
}

.billing-plan-card.featured .billing-plan-card__tags span,
.billing-plan-card.featured .billing-plan-card__badge,
.billing-plan-card.featured .billing-service-list div {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.9);
}

.billing-plan-card.featured .billing-plan-card__availability.is-ready {
  background: rgba(22, 163, 74, 0.18);
  border-color: rgba(22, 163, 74, 0.28);
  color: #dcfce7;
}

.billing-plan-card.featured .billing-plan-card__availability.is-blocked {
  background: rgba(217, 119, 6, 0.18);
  border-color: rgba(217, 119, 6, 0.28);
  color: #ffedd5;
}
