/* BIVA operational theme. Loaded last so legacy page styles cannot reset contrast. */
.biva-admin-layout.finance-theme-dark {
  --biva-page-bg: #0b1c25;
  --biva-surface: #172f3a;
  --biva-surface-soft: #203c47;
  --biva-white: #172f3a;
  --biva-ink: #f1f8f5;
  --biva-text: #dcebe8;
  --biva-muted: #bbd0cf;
  --biva-line: #3b5962;
  --biva-standard-ink: #f1f8f5;
  --biva-standard-muted: #bbd0cf;
  --biva-standard-line: #3b5962;
  --biva-standard-panel: #172f3a;
  --biva-standard-soft: #203c47;
  --biva-standard-green: #91e9bc;
  --biva-standard-shadow: 0 18px 48px rgba(0, 8, 17, .2);
  color: var(--biva-text);
  color-scheme: dark;
}
.biva-admin-layout.finance-theme-dark .biva-admin-layout__header {
  background: radial-gradient(circle at 90% 0%, rgba(86, 193, 153, .12), transparent 36%), var(--biva-surface);
  border-color: var(--biva-line);
}
.biva-admin-layout.finance-theme-dark .biva-admin-layout__header h1 { color: var(--biva-ink); }
.biva-admin-layout.finance-theme-dark .biva-admin-layout__header p { color: var(--biva-muted); }
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(.card, .panel, [class$="-card"], [class$="-panel"], [class$="__card"], [class$="__panel"], table) {
  background-color: var(--biva-surface);
  background-image: none;
  border-color: var(--biva-line);
  color: var(--biva-text);
}
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(thead, th) {
  background-color: var(--biva-surface-soft);
  border-color: var(--biva-line);
  color: var(--biva-ink);
}
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(tbody, tr, td) { border-color: var(--biva-line); color: var(--biva-text); }
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(td strong, td b, td a) { color: var(--biva-ink); }
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(input, select, textarea, button, a):focus-visible {
  outline: 2px solid #aada63;
  outline-offset: 2px;
}
/* Finance transactions: its legacy page declares a separate light-only palette. */
.biva-admin-layout.finance-theme-dark.company-finance-transactions-page {
  --finance-bg: #0b1c25;
  --finance-surface: #172f3a;
  --finance-surface-soft: #203c47;
  --finance-border: #3b5962;
  --finance-text: #f1f8f5;
  --finance-muted: #bbd0cf;
  --finance-primary: #91e9bc;
  --finance-primary-dark: #f1f8f5;
  --finance-primary-soft: #203c47;
  --finance-success: #91e9bc;
  --finance-success-soft: #193e38;
  --finance-danger: #ff9ea6;
  --finance-danger-soft: #4b3039;
  --finance-warning: #f7d587;
  --finance-warning-soft: #493c2c;
  --finance-shadow: 0 18px 44px rgba(0, 8, 17, .2);
}
.biva-admin-layout.finance-theme-dark .company-finance-ledger-header,
.biva-admin-layout.finance-theme-dark .company-finance-directory-header {
  background: radial-gradient(circle at 92% 5%, rgba(51, 172, 135, .13), transparent 31%), var(--finance-surface);
  border-color: var(--finance-border);
}
.biva-admin-layout.finance-theme-dark :is(.company-finance-ledger-header, .company-finance-directory-header) h1 { color: var(--finance-text); }
.biva-admin-layout.finance-theme-dark :is(.company-finance-ledger-header, .company-finance-directory-header) p { color: var(--finance-muted); }
.biva-admin-layout.finance-theme-dark :is(.company-finance-ledger-header, .company-finance-directory-header) > div > span { color: #91e9bc; }
.biva-admin-layout.finance-theme-dark .company-finance-compact-toolbar .company-finance-filters,
.biva-admin-layout.finance-theme-dark .company-finance-ledger-directory .company-finance-filters { background: var(--finance-surface); border-color: var(--finance-border); }
.biva-admin-layout.finance-theme-dark .company-finance-filters label > span { color: var(--finance-muted); }
.biva-admin-layout.finance-theme-dark .company-finance-table thead th { background: var(--finance-surface-soft); border-color: var(--finance-border); color: var(--finance-muted); }
.biva-admin-layout.finance-theme-dark .company-finance-table tbody td { background: var(--finance-surface); border-color: var(--finance-border); color: var(--finance-text); }
.biva-admin-layout.finance-theme-dark .company-finance-table tbody tr:hover td { background: var(--finance-surface-soft); }
.biva-admin-layout.finance-theme-dark .company-finance-table tbody td strong,
.biva-admin-layout.finance-theme-dark .company-finance-table tbody td:nth-child(6) strong { color: var(--finance-text); }
.biva-admin-layout.finance-theme-dark .company-finance-table tbody td small { color: var(--finance-muted); }
.biva-admin-layout.finance-theme-dark .company-finance-table :is(.company-finance-status-pill, .company-finance-type-pill, [class*="badge"], [class*="pill"]) { color: #0b4938; }
.biva-admin-layout.finance-theme-dark .company-finance-add-icon { color: #fff; }

/* Common page headers, filters and cards must use the same surface as their text. */
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(
  [class$="-header"], [class$="__header"], [class$="-filters"], [class$="__filters"]
):not(.finance-pro-kpi__header):not(.company-finance-table thead) {
  background-image: none;
  background-color: var(--biva-surface);
  border-color: var(--biva-line);
}
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(
  [class$="-header"], [class$="__header"], [class$="-filters"], [class$="__filters"]
) :is(h1, h2, h3, strong, label) { color: var(--biva-ink); }
.biva-admin-layout.finance-theme-dark .biva-admin-layout__page-content :is(
  [class$="-header"], [class$="__header"], [class$="-filters"], [class$="__filters"]
) :is(p, small) { color: var(--biva-muted); }
.biva-admin-layout.finance-theme-dark .company-finance-ledger-header > div > span { color: #91e9bc !important; }
.biva-admin-layout.finance-theme-dark .company-finance-table :is(.company-finance-type-badge, .company-finance-status-badge) {
  background-color: #dff8e9;
  color: #075440;
}
.biva-admin-layout.finance-theme-dark .company-finance-table :is(.company-finance-type-badge.is-expense, .company-finance-status-badge.is-voided) {
  background-color: #ffe6e7;
  color: #962935;
}
.biva-admin-layout.finance-theme-dark .company-finance-table .company-finance-status-badge.is-pending {
  background-color: #fff0c2;
  color: #674500;
}

/* The same saved preference follows Business, Talent Client and Associate workspaces. */
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark {
  --hosp-soft: #0b1c25;
  --hosp-panel: #172f3a;
  --hosp-text: #e0eeeb;
  --hosp-muted: #bbd0cf;
  --hosp-line: #3b5962;
  --hosp-green: #91e9bc;
  --biva-standard-panel: #172f3a;
  --biva-standard-ink: #f1f8f5;
  --biva-standard-muted: #bbd0cf;
  --biva-standard-line: #3b5962;
  --biva-standard-soft: #203c47;
  background: #0b1c25;
  color: #e0eeeb;
  color-scheme: dark;
}
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-main, .hospitality-page-content, .client-dashboard-workspace,
  .associate-workspace-container
) { background-color: #0b1c25; color: #e0eeeb; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-topbar, .client-dashboard-sidebar, .associate-workspace-topbar,
  .card, .panel, [class$="-card"], [class$="-panel"], [class$="__card"], [class$="__panel"],
  table, [class$="-header"], [class$="__header"], [class$="-filters"], [class$="__filters"]
) { background-color: #172f3a; background-image: none; border-color: #3b5962; color: #e0eeeb; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-page-content, .client-dashboard-workspace, .associate-workspace-container
) :is(h1, h2, h3, h4, label, th) { color: #f1f8f5; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-page-content, .client-dashboard-workspace, .associate-workspace-container
) :is(p, small, time) { color: #bbd0cf; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-page-content, .client-dashboard-workspace, .associate-workspace-container
) :is(td, td strong, td b) { color: #e0eeeb; border-color: #3b5962; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-page-content, .client-dashboard-workspace, .associate-workspace-container
) :is(input, select, textarea) { background: #203c47; color: #f1f8f5; border-color: #4a6670; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(input, textarea)::placeholder { color: #bbd0cf; }
.biva-shared-theme-toggle {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border: 1px solid #506b73;
  border-radius: 11px;
  background: #203c47;
  color: #f1f8f5;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.biva-shared-theme-toggle:focus-visible { outline: 3px solid #aada63; outline-offset: 2px; }
.client-dashboard-sidebar-brand .biva-shared-theme-toggle { margin-left: auto; }
.associate-workspace-container > .biva-shared-theme-toggle { display: block; margin: 0 0 12px auto; }

:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-main, .hospitality-page-content, .client-dashboard-workspace,
  .associate-workspace-container
) { background-image: none; }
:is(.hospitality-shell, .client-dashboard-layout, .associate-workspace-shell).biva-theme-dark :is(
  .hospitality-page-content, .client-dashboard-workspace, .associate-workspace-container
) :is(.card, .panel, [class$="-card"], [class$="-panel"], [class$="__card"], [class$="__panel"]) strong { color: #f1f8f5; }

.biva-admin-layout.finance-theme-dark .company-finance-status { color: #91e9bc; }
.biva-admin-layout.finance-theme-dark .company-finance-filters :is(input, select) { background: #203c47; color: #f1f8f5; border-color: #4a6670; }
.biva-admin-layout.finance-theme-dark .company-finance-filters input::placeholder { color: #bbd0cf; }
.biva-admin-layout.finance-theme-dark .company-finance-table-wrap { background: #172f3a; border-color: #3b5962; }
