/* ========================================
   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);
}

/* 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-history-modal__dialog,
.dash-user-trigger,
.dash-user-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); }

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

.user-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-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;
}

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

.library-picker-dialog {
  width: min(1360px, calc(100vw - 64px));
  max-width: none;
  height: min(760px, calc(100vh - 96px));
  max-height: calc(100vh - 64px);
}

.library-picker-subtitle {
  margin: 4px 0 0;
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

.library-picker-body {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  overflow: hidden;
}

.library-picker-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  gap: 12px;
  align-items: center;
}

.library-picker-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.library-picker-tab {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-btn);
  background: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  padding: 8px 13px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.library-picker-tab.is-active {
  border-color: var(--color-primary);
  background: var(--color-primary-ultra-light);
  color: var(--color-primary);
}

.library-picker-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  padding: 0 12px;
  background: var(--color-bg-primary);
}

.library-picker-search svg {
  width: 16px;
  height: 16px;
  color: var(--color-text-tertiary);
  flex-shrink: 0;
}

.library-picker-search input {
  width: 100%;
  min-height: 40px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--color-text-primary);
}

.library-picker-status,
.library-picker-count {
  color: var(--color-text-secondary);
  font-size: 13px;
}

.library-picker-list {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
  max-height: none;
  overflow: auto;
  padding-right: 4px;
}

.library-picker-dialog .wc-fullview-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 24px;
  border-top: 1px solid var(--color-border);
  background: var(--dash-bg-panel, #FFFFFF);
}

.library-picker-dialog .library-picker-count {
  margin-right: auto;
}

.library-picker-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-bg-primary);
  cursor: pointer;
}

.library-picker-card:hover {
  border-color: var(--color-primary-light);
  background: var(--color-primary-ultra-light);
}

.library-picker-card input {
  margin-top: 4px;
}

.library-picker-card-main {
  min-width: 0;
}

.library-picker-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.library-picker-card-top strong {
  color: var(--color-text-primary);
  line-height: 1.45;
}

.library-picker-card-top span {
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--color-bg-secondary);
  padding: 3px 9px;
  color: var(--color-text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.library-picker-card p {
  margin: 8px 0 0;
  color: var(--color-text-secondary);
  font-size: 13px;
  line-height: 1.65;
}

.library-picker-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
  color: var(--color-text-tertiary);
  font-size: 12px;
}

.library-picker-empty {
  padding: 28px;
  border: 1px dashed var(--color-border);
  border-radius: 10px;
  text-align: center;
  color: var(--color-text-secondary);
  background: var(--color-bg-secondary);
}

.library-selected-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.library-selected-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 9px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-bg-secondary);
  color: var(--color-text-secondary);
  font-size: 12px;
  line-height: 1.35;
}

.library-selected-chip strong {
  color: var(--color-text-primary);
  font-weight: 600;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.library-selected-chip button {
  border: 0;
  background: transparent;
  color: var(--color-text-tertiary);
  cursor: pointer;
  padding: 0 2px;
}

.library-selected-placeholder {
  color: var(--color-text-tertiary);
  font-size: 13px;
}

.library-import-card {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  background: var(--color-bg-secondary);
}

.library-import-card__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.library-import-card__title {
  margin: 0;
  color: var(--color-text-primary);
  font-size: 14px;
  font-weight: 700;
}

.library-import-card__desc {
  margin: 4px 0 0;
  color: var(--color-text-secondary);
  font-size: 12.5px;
  line-height: 1.6;
}

.library-import-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .library-picker-overlay {
    padding: 12px;
  }

  .library-picker-dialog {
    width: calc(100vw - 24px);
    height: calc(100vh - 24px);
    max-height: calc(100vh - 24px);
  }

  .library-picker-body {
    padding: 16px;
  }

  .library-picker-dialog .wc-fullview-footer {
    flex-wrap: wrap;
    padding: 12px 16px;
  }

  .library-picker-toolbar,
  .library-picker-card-top,
  .library-import-card__head {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .library-picker-search {
    width: 100%;
  }
}

.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,
.dash-history-modal__stats span,
.dash-history-modal__search,
.dash-history-modal__tabs {
  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 {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid var(--theme-card-border);
  box-shadow: var(--shadow-xl);
}

.wechat-gate__dialog {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(148, 163, 184, 0.18);
  box-shadow: 0 28px 72px rgba(15, 23, 42, 0.18);
}

.wechat-gate__qr-area {
  background: #f8faf8;
  border: 1px solid rgba(134, 239, 172, 0.3);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.wechat-gate__qr-mount {
  background: #ffffff;
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
}

.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 {
  border-color: var(--color-border);
  background: rgba(255, 255, 255, 0.94);
}

.wechat-gate__close {
  border-color: rgba(148, 163, 184, 0.22);
  background: rgba(248, 250, 252, 0.92);
}

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

.auth-submit: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__primary {
  background: #16a34a;
  border-color: transparent;
  color: var(--color-text-inverse);
  box-shadow: 0 10px 24px -16px rgba(22, 163, 74, 0.7);
}

.wechat-gate__primary:hover {
  background: #15803d;
  border-color: transparent;
  box-shadow: 0 14px 28px -16px rgba(21, 128, 61, 0.72);
}

.wechat-gate__qr-placeholder { color: #16a34a; }

.wechat-gate__status {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.14);
  color: #166534;
}

.wechat-gate__status.is-blocked {
  background: rgba(249, 115, 22, 0.12);
  border-color: rgba(249, 115, 22, 0.16);
  color: #9a3412;
}

.wechat-gate__link {
  color: #0f172a;
  border-color: rgba(148, 163, 184, 0.24);
  background: #ffffff;
}

/* 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-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 {
  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 {
  background: var(--theme-muted-surface);
  border: 1px solid var(--theme-card-border);
}

.billing-modal__fact {
  background: var(--color-bg);
  border: 1px solid var(--theme-card-border);
  box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.02);
}

/* 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 {
  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;
}
