/**
 * Dark theme overrides — load after page stylesheets.
 * Activated by html[data-theme="dark"] (see assets/js/theme-boot.js + theme-toggle.js).
 */

html[data-theme="dark"] {
    color-scheme: dark;
}

html[data-theme="dark"] {
    --bg: #0f1b31;
    --card: #10151d;
    --ink: #e8edf5;
    --muted: #8b9bb0;
    --line: #2a3648;
    --accent: #60a5fa;
    --amber-50: #422006;

    --surface: #1a2638;
    --surface-elevated: #151b26;
    --surface-muted: #1c2535;
    --surface-subtle: #1a2332;
    --border-subtle: #2a3648;
    --border-strong: #3d4f66;
    --shadow-soft: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-card: 0 10px 32px rgba(0, 0, 0, 0.45), 0 3px 12px rgba(0, 0, 0, 0.35);
    --shadow-lg: 0 24px 64px rgba(0, 0, 0, 0.5);
    --panel-border: rgba(255, 255, 255, 0.08);
    --panel-shadow: var(--shadow-card);
    --panel-shadow-hover: 0 18px 40px rgba(0, 0, 0, 0.4);
    --text: var(--ink);
    --text-soft: #94a3b8;
    --text-muted: var(--muted);
    --control-bg: #1a2332;
    --control-bg-hover: #1f2a3d;
    --control-border: var(--line);
    --control-text: var(--ink);
    --table-bg: #10151d;
    --table-header-bg: #1a2332;
    --table-row-hover-bg: #141c28;
    --modal-bg: #151b26;
    --overlay-bg: rgba(2, 6, 23, 0.72);
    --focus-ring: var(--accent);

    --success: #4ade80;
    --success-bg: rgba(22, 101, 52, 0.35);
    --warning: #fbbf24;
    --warning-bg: rgba(120, 53, 15, 0.4);

    --shell-bg: radial-gradient(ellipse 120% 80% at 50% -20%, rgba(37, 99, 235, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse 90% 60% at 100% 0%, rgba(59, 130, 246, 0.05) 0%, transparent 45%),
        linear-gradient(180deg, #07090e 0%, #080b11 42%, #0a0c12 100%);

    /* Brand fills — deeper, less saturated than light tokens (easier on eyes in dark UI) */
    --gradient-brand-vertical: linear-gradient(180deg,
            #243e63 0%,
            #1d4ed8 46%,
            #172554 100%);
    --gradient-brand-vertical-hover: linear-gradient(180deg,
            #2f4f7a 0%,
            #2563eb 44%,
            #1e3a8a 100%);
    --gradient-brand-vertical-active: linear-gradient(180deg,
            #172554 0%,
            #1e40af 48%,
            #0f172a 100%);

    /* Primary CTAs — mostly depth from neutral shadow; minimal blue bloom */
    --cta-border: rgba(56, 189, 248, 0.22);
    --cta-border-hover: rgba(125, 211, 252, 0.34);
    --cta-shadow:
        0 4px 12px rgba(37, 99, 235, 0.05),
        0 2px 5px rgba(0, 0, 0, 0.4);
    --cta-shadow-hover:
        0 5px 14px rgba(37, 99, 235, 0.08),
        0 2px 7px rgba(0, 0, 0, 0.44);
}

/* Primary CTAs — softer top-edge highlight than buttons.css (less “lit rim” in dark) */
html[data-theme="dark"] .btn:not(.secondary):not(.btn--ghost):not(.btn--orange),
html[data-theme="dark"] .openWorkspaceButton,
html[data-theme="dark"] .companyCardButton {
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
    box-shadow:
        var(--cta-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):hover,
html[data-theme="dark"] .openWorkspaceButton:hover,
html[data-theme="dark"] .companyCardButton:hover {
    box-shadow:
        var(--cta-shadow-hover),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

/* Primary CTA :active — buttons.css uses a fixed blue shadow; soften for dark mode only */
html[data-theme="dark"] .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):active,
html[data-theme="dark"] .openWorkspaceButton:active,
html[data-theme="dark"] .companyCardButton:active {
    box-shadow:
        0 3px 10px rgba(37, 99, 235, 0.06),
        0 2px 4px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/*
 * tenantCards.css boosts shadows on card CTAs — override for dark
 * (those rules use fixed bright blue alphas and win specificity over card primary buttons).
 */
html[data-theme="dark"] .tenant-card .btn:not(.secondary):not(.btn--ghost):not(.btn--orange),
html[data-theme="dark"] .tenantCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange),
html[data-theme="dark"] .tenantWorkspaceCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange) {
    box-shadow:
        var(--cta-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html[data-theme="dark"] .tenant-card .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):hover,
html[data-theme="dark"] .tenantCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):hover,
html[data-theme="dark"] .tenantWorkspaceCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):hover {
    box-shadow:
        var(--cta-shadow-hover),
        inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

html[data-theme="dark"] .tenant-card .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):active,
html[data-theme="dark"] .tenantCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):active,
html[data-theme="dark"] .tenantWorkspaceCard .btn:not(.secondary):not(.btn--ghost):not(.btn--orange):active {
    box-shadow:
        0 3px 10px rgba(37, 99, 235, 0.05),
        0 2px 4px rgba(0, 0, 0, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .tenantWorkspaceCard .launchDemandEngineButton.btn--orange {
    box-shadow:
        0 6px 18px rgba(234, 88, 12, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .tenantWorkspaceCard .launchDemandEngineButton.btn--orange:hover {
    box-shadow:
        0 8px 22px rgba(234, 88, 12, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .tenantWorkspaceCard .launchDemandEngineButton.btn--orange:active {
    box-shadow:
        0 4px 14px rgba(194, 65, 12, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .company-shell {
    --text: #e8edf5;
    --text-soft: #b8c4d4;
    --text-muted: #8fa0b6;
    --line: rgba(148, 163, 184, 0.14);
    --line-strong: rgba(148, 163, 184, 0.22);
    /* Neutral-washed surfaces — less saturated blue than bpNavy / bpNavySoft */
    --panel: #11161f;
    --panel-soft: color-mix(in srgb, #11161f 78%, #1e293b);
    --surface: #11161f;
    --shell-bg: linear-gradient(180deg, #050608 0%, #080a0e 38%, #0a0d11 100%);
    --ink: var(--text);
    --brand-1: var(--bpPrimary);
    --brand-2: var(--bpBlue);
    --brand-3: var(--bpOrange);
    --success: #58d68d;
    --warning: #f0a44a;
    --focus-ring: var(--bpCyan);
    --gradient-cta: var(--gradient-brand-vertical);
    --gradient-cta-hover: var(--gradient-brand-vertical-hover);
    --gradient-cta-active: var(--gradient-brand-vertical-active);
    /* Branded bar: same hues, lower luminance than default bpAccentGradient */
    --gradient-card-accent: linear-gradient(90deg, #1e3a8a 0%, #0f766e 56%, #9a3412 100%);
    /* Button rim: full brand strip so CTAs tie to logo while fill stays muted */
    --ctaAccentBorderGradient: var(--bpAccentGradient);
    --shadow-xl: 0 18px 44px rgba(0, 0, 0, 0.45), 0 6px 18px rgba(0, 0, 0, 0.28);
    --shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.34);
    --shellStatShadow: 0 10px 28px rgba(0, 0, 0, 0.32);
    --shellStatHoverShadow: 0 14px 36px rgba(0, 0, 0, 0.38);
    --shellTenantCardBorder: color-mix(in srgb, var(--bpBlue) 18%, var(--line));
    --shellTenantCardBg: var(--panel);
    --shellTenantShadow: 0 16px 36px rgba(0, 0, 0, 0.36);
    --shellTenantHoverBorder: color-mix(in srgb, var(--bpCyan) 28%, var(--line));
    --shellTenantHoverShadow: 0 20px 42px rgba(0, 0, 0, 0.42);
    --shellWorkspaceBadgeBg: color-mix(in srgb, var(--bpBlue) 12%, var(--panel));
    --shellWorkspaceBadgeBorder: color-mix(in srgb, var(--bpBlue) 26%, var(--line));
    --shellPillConnectedBg: color-mix(in srgb, var(--bpPrimary) 16%, var(--panel));
    --shellPillConnectedBorder: color-mix(in srgb, var(--bpPrimary) 28%, var(--line));
    --shellPillConnectedText: var(--text-soft);
    --shellPillImportBg: rgba(240, 164, 74, 0.12);
    --shellPillImportBorder: rgba(240, 164, 74, 0.26);
    --shellPillImportText: #f2c894;
    --shellStatusReadyBg: rgba(88, 214, 141, 0.12);
    --shellStatusReadyBorder: rgba(88, 214, 141, 0.26);
    --shellStatusReadyText: #8eedc4;
    --shellStatusEmptyBg: rgba(18, 22, 30, 0.92);
    --shellStatusEmptyBorder: var(--line-strong);
    --shellSummariesBg: color-mix(in srgb, #080a0f 65%, var(--panel));
    --shellSummariesBorder: var(--line-strong);
    --shellActionsToggleBg: color-mix(in srgb, var(--panel) 94%, #06080c);
    --shellActionsToggleHoverBg: color-mix(in srgb, var(--panel) 88%, var(--bpBlue));
    --shellActionsToggleHoverBorder: color-mix(in srgb, var(--bpCyan) 30%, var(--line));
    --shellMenuShadow: 0 18px 42px rgba(0, 0, 0, 0.5);
    --shellMenuItemHover: color-mix(in srgb, var(--bpBlue) 10%, transparent);
    --shellLayoutChipHoverBorder: color-mix(in srgb, var(--bpCyan) 32%, var(--line));
    --shellLayoutChipHoverShadow: 0 8px 18px rgba(0, 0, 0, 0.32);
    --shellChipLocalBg: rgba(32, 199, 243, 0.09);
    --shellChipLocalColor: var(--bpCyan);
    --shellAvatarShadow: 0 8px 20px rgba(0, 0, 0, 0.35);
    --shellEmptyIconBg: color-mix(in srgb, var(--bpBlue) 14%, var(--panel));
    --shellSearchFocusBorder: color-mix(in srgb, var(--bpCyan) 38%, var(--line));
    --shellSearchFocusShadow: 0 0 0 3px rgba(32, 199, 243, 0.16);
    --shellCompleteStatus: rgba(142, 237, 196, 0.95);
}

/* Company workspace — hero glows (subtle; avoid bright blue wash) */
html[data-theme="dark"] .company-shell .company-hero__glow--one {
    background: rgba(47, 111, 237, 0.12);
}

html[data-theme="dark"] .company-shell .company-hero__glow--two {
    background: rgba(32, 199, 243, 0.08);
}

/* Hub / workspace cards: neutral panels follow shell --panel in dark (not fixed white --bpPanel). */
html[data-theme="dark"] .company-shell .companyWorkspaceCard,
html[data-theme="dark"] .company-shell .tenantWorkspaceCard {
    background: var(--panel);
    border-color: color-mix(in srgb, var(--bpBlue) 18%, var(--line));
}

html[data-theme="dark"] .company-shell .tenantWorkspaceSummaries {
    background: color-mix(in srgb, #080a0f 45%, var(--panel));
    border-color: color-mix(in srgb, var(--bpBlue) 14%, var(--line));
}

html[data-theme="dark"] .company-shell .tenant-search__input::placeholder {
    color: #94a3b8;
    opacity: 1;
}

html[data-theme="dark"] .company-shell .tenant-search__input {
    background: #1a2332;
    border-color: var(--line);
    color: #e8edf5;
}

html[data-theme="dark"] .company-shell .btn.btn--ghost,
html[data-theme="dark"] .company-shell .btn.secondary {
    background: #1a2332;
    border-color: #475569;
    color: #f1f5f9 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

html[data-theme="dark"] .company-shell .btn.btn--ghost:hover,
html[data-theme="dark"] .company-shell .btn.secondary:hover {
    background: #334155;
    border-color: #60a5fa;
    color: #ffffff !important;
}

html[data-theme="dark"] .modalPanel .btn.secondary,
html[data-theme="dark"] .modalPanel .btn.btn--ghost {
    background: #334155;
    border-color: #64748b;
    color: #f8fafc !important;
}

html[data-theme="dark"] .modalPanel .btn.secondary:hover,
html[data-theme="dark"] .modalPanel .btn.btn--ghost:hover {
    background: #3f4f63;
    border-color: #93c5fd;
    color: #ffffff !important;
}

html[data-theme="dark"] .company-bg {
    background-image: linear-gradient(rgba(148, 163, 184, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.05) 1px, transparent 1px);
    opacity: 0.28;
}

html[data-theme="dark"] .app-sidebar {
    border-right-color: rgba(148, 163, 184, 0.1);
    background: radial-gradient(circle at top left, rgba(59, 130, 246, 0.05), transparent 32%),
        linear-gradient(180deg, #0c0f14 0%, #090c11 42%, #07090e 100%);
    box-shadow: 8px 0 30px rgba(0, 0, 0, 0.42);
}

html[data-theme="dark"] .app-nav__link {
    color: #94a3b8;
}

html[data-theme="dark"] .app-nav__link:hover {
    background: rgba(59, 130, 246, 0.1);
    color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.1);
}

html[data-theme="dark"] .app-nav__link[aria-current="page"] {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.26), rgba(59, 130, 246, 0.14));
    color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.18), 0 10px 20px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .app-sidebar__footer {
    border-top-color: rgba(148, 163, 184, 0.12);
}

html[data-theme="dark"] .app-sidebar__close {
    border-color: var(--line);
    background: rgba(30, 41, 59, 0.9);
    color: #cbd5e1;
}

html[data-theme="dark"] .app-sidebar__close:hover {
    background: #1e293b;
    color: #93c5fd;
}

html[data-theme="dark"] .app-main__topbar {
    border-bottom-color: var(--line);
    background: rgba(15, 23, 42, 0.92);
}

html[data-theme="dark"] .app-menu-toggle {
    border-color: var(--line);
    background: #1e293b;
    color: #e8edf5;
}

html[data-theme="dark"] .app-menu-toggle:hover {
    border-color: #60a5fa;
    background: #243047;
}

html[data-theme="dark"] .input,
html[data-theme="dark"] select {
    background: #1a2332;
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .card {
    background: #10151d;
    border-color: #2a3648;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .workspace-panel--future {
    border-color: var(--line);
    background: linear-gradient(165deg, #10151d 0%, #0c0f14 100%);
    box-shadow: var(--shadow-xl);
}

html[data-theme="dark"] .modalBackdrop {
    background: rgba(2, 6, 23, 0.72);
}

html[data-theme="dark"] .modalPanel {
    background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .modalPanel .modalTitle {
    color: var(--ink);
}

html[data-theme="dark"] .modalPanel .modalSubtitle {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .modalPanel .modalStatus.err {
    color: #fca5a5;
}

html[data-theme="dark"] .modalPanel .modalKicker {
    color: #7dd3fc;
}

html[data-theme="dark"] .modalCloseButton {
    background: #0f172a;
    border-color: var(--line);
    color: #e8edf5;
}

html[data-theme="dark"] .modalCloseButton:hover {
    background: #172033;
    border-color: #60a5fa;
}

html[data-theme="dark"] .modalPanel .formLabel {
    color: var(--text-muted, #8b9bb0);
}

html[data-theme="dark"] .modalPanel .formGrid input[type="text"],
html[data-theme="dark"] .modalPanel .formGrid input[type="url"],
html[data-theme="dark"] .modalPanel .formGrid input[type="password"],
html[data-theme="dark"] .modalPanel .formInput {
    background: #0f172a;
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .modalPanel .formGrid input::placeholder {
    color: #64748b;
    opacity: 1;
}

html[data-theme="dark"] .modalPanel .small.muted {
    color: var(--text-soft, #94a3b8) !important;
}

html[data-theme="dark"] .detailList {
    color: var(--ink);
}

html[data-theme="dark"] .detailLabel {
    color: var(--text-muted, #8b9bb0);
}

html[data-theme="dark"] .detailValue {
    color: #e8edf5;
}

/* Share company modal */
html[data-theme="dark"] .companyShareModalPanel {
    background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .companyShareModal .modalTitle {
    color: var(--ink);
}

html[data-theme="dark"] .companyShareAccessHeading {
    color: var(--text-muted, #8b9bb0);
}

html[data-theme="dark"] .companyShareFieldLabel {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .companyShareEmailList {
    background: #0f172a;
    border-color: var(--line);
}

html[data-theme="dark"] .companyShareEmailItem {
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .companyShareEmailText {
    color: var(--ink);
}

html[data-theme="dark"] .companyShareAccessRow {
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .companyShareSearchWrap {
    background: #0f172a;
    border-color: var(--line);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

html[data-theme="dark"] .companyShareSearchInput {
    color: var(--ink);
}

html[data-theme="dark"] .companyShareSearchIcon {
    color: #94a3b8;
}

html[data-theme="dark"] .companyShareResults {
    background: #0f172a;
    border-color: var(--line);
}

html[data-theme="dark"] .companyShareRow {
    background: #0f172a;
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .companyShareRowText {
    color: var(--ink);
}

html[data-theme="dark"] .companyShareRow--done {
    background: #172033;
}

/* Configure Scheduling Data — full-width modal + table editor */
html[data-theme="dark"] .schedulingDataModal .schedulingUploadPanel {
    background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface) 100%);
    border-color: var(--line);
}

html[data-theme="dark"] .schedulingPanelCaretBtn {
    background: var(--surface-muted);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .schedulingPanelCaretBtn:hover {
    background: var(--surface);
    border-color: var(--accent);
}

html[data-theme="dark"] .schedulingTableWrap {
    border-color: var(--line);
    background: var(--surface-muted);
}

html[data-theme="dark"] .schedulingDataTable thead th {
    background: var(--surface);
    color: var(--muted);
    border-bottom-color: var(--line);
    box-shadow: 0 1px 0 var(--line);
}

html[data-theme="dark"] .schedulingDataTable tbody tr.schedulingDataRow:nth-child(odd) {
    background: rgba(15, 23, 42, 0.35);
}

html[data-theme="dark"] .schedulingDataMsgRow td {
    background: rgba(120, 53, 15, 0.12);
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .schedulingUploadDropzone {
    background: rgba(15, 23, 42, 0.65);
    border-color: var(--border-strong);
}

html[data-theme="dark"] .schedulingUploadDropzone:hover,
html[data-theme="dark"] .schedulingUploadDropzone:focus-visible {
    background: var(--surface-muted);
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.18);
}

html[data-theme="dark"] .schedulingTemplateLine,
html[data-theme="dark"] .schedulingUploadHint {
    color: var(--muted);
}

html[data-theme="dark"] .schedulingTemplateLink {
    color: var(--accent);
}

html[data-theme="dark"] .schedulingTemplateLine code {
    padding: 2px 6px;
    border-radius: 6px;
    background: var(--surface-muted);
    border: 1px solid var(--line);
    color: #c4d4ec;
    font-size: 0.88em;
}

html[data-theme="dark"] .schedulingRowCountBadge {
    background: rgba(59, 130, 246, 0.18);
    border: 1px solid rgba(96, 165, 250, 0.35);
    color: var(--accent);
}

html[data-theme="dark"] .schedulingRowsEmpty {
    background: var(--surface-muted);
    border-color: var(--line);
    border-style: dashed;
    color: var(--muted);
}

html[data-theme="dark"] .schedulingDataRow--invalid td:not(.schedulingDataMsgCell) {
    box-shadow: inset 0 0 0 1px rgba(248, 113, 113, 0.45);
}

html[data-theme="dark"] .scheduleDataRowBadge--trigger {
    background: var(--surface);
    border-color: var(--line);
    color: var(--muted);
}

html[data-theme="dark"] .scheduleDataRowBadge--trigger:hover {
    background: var(--surface-muted);
    border-color: var(--border-strong);
}

html[data-theme="dark"] .schedulingDataModal .formInput,
html[data-theme="dark"] .schedulingDataModal .schedulingDataInput,
html[data-theme="dark"] .schedulingDataModal .schedulingDataTextarea {
    background: var(--surface);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .schedulingDataModal .formInput:focus,
html[data-theme="dark"] .schedulingDataModal .schedulingDataInput:focus,
html[data-theme="dark"] .schedulingDataModal .schedulingDataTextarea:focus {
    background: var(--surface-muted);
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(96, 165, 250, 0.15);
}

html[data-theme="dark"] .scheduleDataInputInvalid {
    border-color: #f87171 !important;
    box-shadow: 0 0 0 2px rgba(248, 113, 113, 0.2);
}

html[data-theme="dark"] .rowActionsButton:not(.scheduleDataRowBadge--trigger) {
    background: var(--surface-muted);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .rowActionsMenu {
    background: var(--surface-elevated);
    border-color: var(--line);
}

html[data-theme="dark"] .rowActionsMenuItem:hover {
    background: #334155;
}

html[data-theme="dark"] .rowActionsMenuItemDanger {
    color: #fecaca;
}

html[data-theme="dark"] .advancedCsvPanel {
    background: var(--surface-muted);
    border-color: var(--line);
}

html[data-theme="dark"] .advancedCsvPanelSummary {
    color: var(--ink);
}

html[data-theme="dark"] .advancedCsvPanelBody {
    border-top-color: var(--line);
}

html[data-theme="dark"] .advancedCsvTextarea {
    background: var(--surface);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .advancedCsvError {
    color: #fecaca;
}

html[data-theme="dark"] .schedulingValidationGlobal {
    background: var(--success-bg);
    border-color: rgba(74, 222, 128, 0.35);
    color: var(--success);
}

html[data-theme="dark"] .schedulingDataModalFooter {
    border-top-color: var(--line);
}

html[data-theme="dark"] .schedulingDataModalPanel .btn.secondary {
    background: #334155;
    border-color: var(--border-strong);
    color: #f8fafc !important;
}

html[data-theme="dark"] .schedulingDataModalPanel .btn.secondary:hover {
    background: #3f4f63;
    border-color: #93c5fd;
    color: #ffffff !important;
}

html[data-theme="dark"] .schedulingDataModalPanel .btn.btn--sm.secondary {
    background: #1e293b;
    border-color: #475569;
}

html[data-theme="dark"] .schedulingDataModalPanel .btn.btn--sm.secondary:hover {
    background: #334155;
    border-color: var(--accent);
}

html[data-theme="dark"] .form-message--error {
    background: rgba(127, 29, 29, 0.4);
    color: #fecaca;
    border: 1px solid rgba(248, 113, 113, 0.35);
}

/* BlockParty UI modals (confirm, prompt, etc.) */
html[data-theme="dark"] .bpModalRoot {
    background: rgba(2, 6, 23, 0.72);
}

html[data-theme="dark"] .bpModalCard {
    background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .bpModalCard__head {
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .bpModalCard__head h2 {
    color: var(--ink);
}

html[data-theme="dark"] .bpConfirmBody {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .bpField__label {
    color: var(--text-muted, #8b9bb0);
}

html[data-theme="dark"] .bpField__hint {
    color: #64748b;
}

html[data-theme="dark"] .bpField__input {
    background: #0f172a;
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .bpField__label--inline {
    color: #cbd5e1;
}

html[data-theme="dark"] .bpModalCard__status {
    color: #fca5a5;
}

/* BlockParty UI modal footer — modal nodes mount on document.body (outside .company-shell). */
html[data-theme="dark"] .bpModalCard .btn.secondary,
html[data-theme="dark"] .bpModalCard .btn.btn--ghost {
    background: #334155;
    border-color: #64748b;
    color: #f8fafc !important;
}

html[data-theme="dark"] .bpModalCard .btn.secondary:hover,
html[data-theme="dark"] .bpModalCard .btn.btn--ghost:hover {
    background: #3f4f63;
    border-color: #93c5fd;
    color: #ffffff !important;
}

html[data-theme="dark"] .bpEntraDirectoryResults .btn.secondary {
    background: #1e293b;
    border-color: #475569;
    color: #f1f5f9 !important;
}

html[data-theme="dark"] .bpEntraDirectoryResults .btn.secondary:hover {
    background: #334155;
    border-color: #60a5fa;
    color: #ffffff !important;
}

/* Tenant workspace cards: colors live in pages/company.css (.company-shell …) */

html[data-theme="dark"] .demand-page .panel,
html[data-theme="dark"] .labor-demand-card {
    border-color: var(--line);
    background: #141c2c;
}

/* Demand / Engine: Templates Manager & name prompt (templates.js / engine-templates.js) */
html[data-theme="dark"] .modalTemplatesHead {
    border-bottom-color: var(--line);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.14), transparent 38%),
        linear-gradient(180deg, #1e293b 0%, #172033 100%);
}

html[data-theme="dark"] .modalPromptHead {
    border-bottom-color: var(--line);
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.12), transparent 42%),
        linear-gradient(180deg, #1e293b 0%, #172033 100%);
}

html[data-theme="dark"] .modalPromptFooter {
    border-top-color: var(--line);
}

html[data-theme="dark"] .dePromptLabel {
    color: var(--text-muted, #8b9bb0);
}

html[data-theme="dark"] .dePromptInput {
    background: #0f172a;
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .dePromptInput::placeholder {
    color: #64748b;
    opacity: 1;
}

html[data-theme="dark"] .dePromptInput:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.22);
}

html[data-theme="dark"] .tpl-scroll {
    border-color: var(--line);
    background: #0f172a;
}

html[data-theme="dark"] .table--templates thead th {
    color: var(--text-soft, #94a3b8);
    background: #1a2332;
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .table--templates tbody td {
    color: var(--ink);
    border-bottom-color: rgba(148, 163, 184, 0.18);
    background: #10151d;
}

html[data-theme="dark"] .table--templates tbody tr:hover td {
    background: #151d28;
}

html[data-theme="dark"] .table--templates .tpl-sort:hover {
    color: #60a5fa;
}

html[data-theme="dark"] .modalTemplatesBody .mono,
html[data-theme="dark"] .table--templates .mono {
    color: #e8edf5;
}

html[data-theme="dark"] .tpl-name {
    color: var(--ink);
}

html[data-theme="dark"] .tpl-more-menu {
    border-color: var(--line);
    background: #1e293b;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
}

html[data-theme="dark"] .tpl-more-item {
    color: var(--ink);
}

html[data-theme="dark"] .tpl-more-item:hover {
    background: #243047;
}

html[data-theme="dark"] .tpl-more-item--danger {
    color: #fca5a5;
}

html[data-theme="dark"] .tpl-more-item--danger:hover {
    background: rgba(220, 38, 38, 0.18);
}

html[data-theme="dark"] .tpl-empty {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .table--templates tbody td[colspan] {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .table--templates tbody td.small:not(.tpl-actions-cell) {
    color: var(--text-soft, #94a3b8);
}

/* Tenant guide (instructions page) */
html[data-theme="dark"] .tenantGuideCard {
    border-color: var(--line);
    background: linear-gradient(180deg, var(--surface-elevated) 0%, var(--surface) 100%);
    color: var(--ink);
    box-shadow: var(--shadow-soft);
}

html[data-theme="dark"] .tenantGuideCard h2,
html[data-theme="dark"] .tenantGuideCard h3,
html[data-theme="dark"] .tenantGuideCard h4 {
    color: var(--ink);
}

html[data-theme="dark"] .tenantGuideStep {
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.65) 0%, rgba(20, 28, 44, 0.85) 100%);
    border-color: var(--line);
}

html[data-theme="dark"] .tenantGuideStep:hover {
    border-color: rgba(96, 165, 250, 0.35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .tenantGuideStep[open] {
    border-color: rgba(96, 165, 250, 0.45);
}

html[data-theme="dark"] .tenantGuideStepTips {
    border-color: var(--line);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.55) 0%, rgba(20, 28, 44, 0.75) 100%);
}

html[data-theme="dark"] .tenantGuideSummaryText strong {
    color: var(--ink);
}

html[data-theme="dark"] .tenantGuideSummaryText p {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .tenantGuideChevron::before {
    border-right-color: var(--muted);
    border-bottom-color: var(--muted);
}

html[data-theme="dark"] .tenantGuidePanel,
html[data-theme="dark"] .tenantGuidePanelTips {
    border-top-color: var(--line);
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.6) 0%, rgba(16, 24, 40, 0.85) 100%);
}

html[data-theme="dark"] .tenantGuideLead {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .tenantGuideSection {
    background: var(--surface-muted);
    border-color: var(--line);
}

html[data-theme="dark"] .tenantGuideSectionSuccess {
    background: rgba(22, 101, 52, 0.2);
    border-color: rgba(74, 222, 128, 0.28);
}

html[data-theme="dark"] .tenantGuideSectionIcon {
    background: rgba(59, 130, 246, 0.18);
}

html[data-theme="dark"] .tenantGuideSectionSuccess .tenantGuideSectionIcon {
    background: rgba(74, 222, 128, 0.18);
}

html[data-theme="dark"] .tenantGuideSectionTitle {
    color: var(--ink);
}

html[data-theme="dark"] .tenantGuideSearch {
    color: var(--muted);
}

html[data-theme="dark"] .tenantGuideSearch code,
html[data-theme="dark"] .tenantGuideDataList code {
    background: var(--surface-muted);
    border-color: var(--line);
    color: #c4d4ec;
}

html[data-theme="dark"] .tenantGuideText {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .tenantGuideList {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .tenantGuideCallout {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(96, 165, 250, 0.35);
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] .tenantGuideCalloutWarn {
    background: rgba(120, 53, 15, 0.35);
    border-color: rgba(251, 191, 36, 0.35);
    color: #fde68a;
}

html[data-theme="dark"] .tenantGuideCalloutInfo {
    background: rgba(30, 58, 138, 0.25);
    border-color: rgba(96, 165, 250, 0.35);
    color: #bae6fd;
}

html[data-theme="dark"] .tenantGuideDataRow {
    background: var(--surface-muted);
    border-color: var(--line);
}

html[data-theme="dark"] .tenantGuideDataRow dt {
    color: var(--ink);
}

html[data-theme="dark"] .tenantGuideDataRow dd {
    color: var(--muted);
}

html[data-theme="dark"] .tenantGuideDone {
    color: var(--accent);
}

html[data-theme="dark"] .tenantGuideFooterNote {
    background: var(--surface-muted);
    border-color: var(--line);
    border-style: dashed;
    color: var(--muted);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-note {
    border-color: var(--line);
    background: rgba(30, 41, 59, 0.45);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-note p {
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-guide__panel {
    border-top-color: var(--line);
    color: var(--text-soft, #94a3b8);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-guide__panel code {
    background: var(--surface-muted);
    color: var(--ink);
    border: 1px solid var(--line);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-guide__h {
    color: var(--ink);
}

html[data-theme="dark"] body[data-app-page="tenantSetup"] .workspace-guide__dl>div {
    border-bottom-color: var(--line);
}

/* ----- Demand Engine (de-v2) full dark theme ----- */
html[data-theme="dark"] .de-v2 {
    --de-v2-bg: var(--bg);
    --de-v2-surface: var(--surface);
    --de-v2-surface-soft: var(--surface-muted);
    --de-v2-surface-strong: var(--surface-subtle);
    --de-v2-text: var(--ink);
    --de-v2-muted: var(--text-soft);
    --de-v2-line: var(--panel-border);
    --de-v2-line-strong: var(--border-strong);
    --de-v2-shadow: var(--panel-shadow);
    --de-v2-shadow-soft: var(--shadow-soft);
    --de-v2-accent: #60a5fa;
    --de-v2-accent-2: #38bdf8;
    --de-v2-accent-soft: rgba(59, 130, 246, 0.2);
    --de-v2-warning-soft: rgba(245, 158, 11, 0.18);
    --de-v2-warning-text: #fbbf24;
}

/* Demand Engine: inherit global .company-shell --shell-bg (no separate blue-tint page wash) */

html[data-theme="dark"] .de-v2__header {
    border-color: var(--line-strong);
    background: var(--panel);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .de-v2__header-side .card,
html[data-theme="dark"] .de-v2__header-side .panel,
html[data-theme="dark"] .de-v2__header-side .template-box,
html[data-theme="dark"] .de-v2__header-side .workspace-box {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .de-v2-chip {
    border-color: var(--line-strong);
    background: var(--panel-soft);
    color: #cbd5e1;
}

html[data-theme="dark"] .de-v2__tenant {
    background: rgba(34, 197, 94, 0.22);
    color: #bbf7d0;
    border: 1px solid rgba(74, 222, 128, 0.28);
}

html[data-theme="dark"] .de-v2__action-card {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    box-shadow: var(--de-v2-shadow-soft);
}

html[data-theme="dark"] .de-v2-builder-templates {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    box-shadow: none;
}

html[data-theme="dark"] .de-v2-panel {
    background: var(--panel);
    border-color: var(--de-v2-line);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .de-v2__toolbar {
    background: var(--panel-soft);
    border-color: var(--line);
}

html[data-theme="dark"] .de-v2__toolbar-bulk {
    background: var(--panel);
    border-color: var(--de-v2-line);
}

html[data-theme="dark"] .de-v2-empty-state {
    border-color: var(--line-strong);
    background: var(--panel-soft);
}

html[data-theme="dark"] .de-v2-card {
    border-color: var(--de-v2-line);
    background: var(--panel);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .de-v2-card__head {
    background: var(--panel-soft);
    border-bottom-color: var(--de-v2-line);
}

html[data-theme="dark"] .de-v2-card__collapse-btn {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    color: #94a3b8;
    box-shadow: none;
}

html[data-theme="dark"] .de-v2-card__collapse-btn:hover {
    background: var(--panel);
    color: var(--de-v2-text);
}

html[data-theme="dark"] .de-v2-headcount-stepper {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    box-shadow: none;
}

html[data-theme="dark"] .de-v2-headcount-stepper__btn {
    background: var(--panel);
    color: var(--de-v2-text);
}

html[data-theme="dark"] .de-v2-headcount-stepper__btn:hover:not(:disabled) {
    background: color-mix(in srgb, var(--panel) 85%, #334155);
}

html[data-theme="dark"] input[type="number"].de-v2-headcount-stepper__input {
    background: var(--panel-soft);
    color: var(--de-v2-text);
}

html[data-theme="dark"] .de-v2-card__section {
    border-color: var(--de-v2-line);
    background: var(--panel-soft);
}

html[data-theme="dark"] .de-v2-field__label {
    color: #a8b8cc;
}

html[data-theme="dark"] .de-v2-time-range__cell--overnight .de-v2-overnight {
    color: #cbd5e1;
}

html[data-theme="dark"] .de-v2-time-range__hint {
    color: #8b9bb0;
}

html[data-theme="dark"] .de-v2-card__summary-chip {
    background: rgba(59, 130, 246, 0.15);
    color: #bfdbfe;
}

html[data-theme="dark"] .de-v2-card__summary-chip--warning {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
}

html[data-theme="dark"] .de-v2-card__summary-chip--missing {
    background: rgba(220, 38, 38, 0.2);
    color: #fecaca;
    border-color: rgba(248, 113, 113, 0.35);
}

html[data-theme="dark"] .de-v2-card__summary-chip--accent {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .de-v2-card__summary-chip--hdr-org {
    background: rgba(34, 197, 94, 0.18);
    color: #bbf7d0;
    border-color: rgba(74, 222, 128, 0.35);
}

html[data-theme="dark"] .de-v2-card__summary-chip--hdr-tags {
    background: rgba(167, 139, 250, 0.18);
    color: #ddd6fe;
    border-color: rgba(167, 139, 250, 0.35);
}

html[data-theme="dark"] .de-v2-card__summary-chip--hdr-when {
    background: rgba(251, 191, 36, 0.16);
    color: #fde68a;
    border-color: rgba(251, 191, 36, 0.35);
}

html[data-theme="dark"] .de-v2-card__summary-chip--hdr-overnight {
    background: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.3);
}

html[data-theme="dark"] .de-v2-row-menu__trigger {
    background: var(--panel-soft);
    border-color: var(--de-v2-line);
    color: #94a3b8;
}

html[data-theme="dark"] .de-v2-row-menu__panel {
    background: var(--panel);
    border-color: var(--de-v2-line);
    box-shadow: var(--de-v2-shadow);
}

html[data-theme="dark"] .de-v2-row-menu__item {
    color: var(--de-v2-text);
}

html[data-theme="dark"] .de-v2-row-menu__item:hover {
    background: rgba(59, 130, 246, 0.12);
}

html[data-theme="dark"] .de-v2-row-menu__item--danger {
    color: #fca5a5;
}

html[data-theme="dark"] .de-v2-stat {
    border-color: var(--line);
    background: var(--panel);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .de-v2-stat::after {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.06), transparent 40%),
        radial-gradient(circle at bottom left, rgba(251, 191, 36, 0.04), transparent 44%);
}

html[data-theme="dark"] .de-v2-stat:hover {
    border-color: var(--line-strong);
    box-shadow: var(--panel-shadow-hover, var(--panel-shadow));
}

html[data-theme="dark"] .de-v2-stat__eyebrow {
    color: #94a3b8;
}

html[data-theme="dark"] .de-v2-stat__value,
html[data-theme="dark"] .de-v2-stat__value--small {
    color: #f1f5f9;
}

html[data-theme="dark"] .de-v2-stat__meta {
    color: #94a3b8;
}

html[data-theme="dark"] .de-v2-stat__icon {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(74, 222, 128, 0.25);
}

html[data-theme="dark"] .de-v2-stat__icon--neutral {
    color: #cbd5e1;
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.28);
}

html[data-theme="dark"] .de-v2-readonly-value {
    background: transparent;
    border: none;
    color: #f1f5f9;
}

html[data-theme="dark"] .de-v2-workday-actions__hint {
    color: #94a3b8;
}

html[data-theme="dark"] .de-v2-generated-preview-details__chevronBtn {
    border-color: var(--line);
    background: color-mix(in srgb, var(--panel) 88%, rgba(59, 130, 246, 0.06));
}

html[data-theme="dark"] .de-v2-generated-preview-details__chevronBtn::before {
    border-top-color: #94a3b8;
}

html[data-theme="dark"] .de-v2-generated-preview-details__toggleText {
    color: #93c5fd;
    border-color: rgba(59, 130, 246, 0.35);
    background: rgba(59, 130, 246, 0.12);
}

html[data-theme="dark"] .de-v2-preview-table-wrap {
    background: var(--panel);
    border-color: var(--de-v2-line);
}

html[data-theme="dark"] .de-v2-preview-table thead th {
    color: #e2e8f0;
    background: var(--table-header-bg);
    border-bottom-color: var(--de-v2-line);
}

html[data-theme="dark"] .de-v2-preview-table tbody td {
    border-bottom-color: rgba(148, 163, 184, 0.1);
    color: #e2e8f0;
}

html[data-theme="dark"] .de-v2-note,
html[data-theme="dark"] .de-v2-note.note {
    color: #6ee7b7;
}

html[data-theme="dark"] .de-v2 .input,
html[data-theme="dark"] .de-v2 select.input,
html[data-theme="dark"] .de-v2 .de-v2-select {
    background: #0f172a;
    border-color: var(--de-v2-line);
    color: var(--de-v2-text);
}

html[data-theme="dark"] .de-v2 .input::placeholder {
    color: #64748b;
}

html[data-theme="dark"] body.de-v2 .card {
    background: var(--de-v2-surface);
    border-color: var(--de-v2-line);
}

html[data-theme="dark"] .de-v2 .btn.secondary {
    background: #334155;
    border-color: #64748b;
    color: #f8fafc !important;
}

html[data-theme="dark"] .de-v2 .btn.secondary:hover {
    background: #3f4f63;
    border-color: #93c5fd;
}

html[data-theme="dark"] .de-v2-card--collapsed-incomplete .de-v2-card__collapse-btn {
    border-color: rgba(248, 113, 113, 0.4);
    color: #fca5a5;
}

/* ----- Companies hub (index.html): shell tokens + pages/company.css (.company-shell …) ----- */
html[data-theme="dark"] body[data-app-page="companies"] .company-bg {
    opacity: 0.28;
}

/* ----- Admin (admin.html, data-app-page="admin") ----- */
html[data-theme="dark"] body[data-app-page="admin"] .company-bg {
    opacity: 0.28;
}

html[data-theme="dark"] body[data-app-page="admin"] .app-main__inner h1 {
    color: #f1f5f9;
}

html[data-theme="dark"] .company-shell .adminTab.is-active {
    border-bottom-color: #22d3ee;
    color: #f8fafc;
}

html[data-theme="dark"] .admin-card {
    background: linear-gradient(180deg, rgba(22, 28, 38, 0.98) 0%, #10151d 100%);
    border-color: var(--panel-border);
    box-shadow: var(--panel-shadow);
}

html[data-theme="dark"] .admin-card h2 {
    color: #f1f5f9;
}

html[data-theme="dark"] .admin-tableWrap {
    border-color: var(--line);
    background: #0c0f14;
}

html[data-theme="dark"] .admin-data-table thead th {
    background: linear-gradient(180deg, #1a2332 0%, #141c28 100%);
    color: #94a3b8;
    border-bottom-color: var(--line);
}

html[data-theme="dark"] .admin-data-table tbody td {
    border-bottom-color: #2a3648;
    color: var(--ink);
}

html[data-theme="dark"] .admin-data-table tbody tr:hover td {
    background: rgba(59, 130, 246, 0.08);
}

html[data-theme="dark"] .adminRoleLabel {
    color: #e2e8f0;
}

html[data-theme="dark"] .adminCheckboxRow {
    color: #e2e8f0;
}

html[data-theme="dark"] .company-shell .card .admin-toolbar input[type="text"],
html[data-theme="dark"] .company-shell .card .admin-toolbar input[type="search"],
html[data-theme="dark"] .company-shell .card input[type="text"]:not(.input),
html[data-theme="dark"] .company-shell .card input[type="search"]:not(.input),
html[data-theme="dark"] .company-shell .card select:not(.input) {
    background: #0f172a;
    border-color: var(--line);
    color: var(--ink);
}

html[data-theme="dark"] .company-shell .card .admin-toolbar input::placeholder {
    color: #64748b;
    opacity: 1;
}

html[data-theme="dark"] .company-shell .auth-card a,
html[data-theme="dark"] .company-shell .card a {
    color: #93c5fd;
}

html[data-theme="dark"] .company-shell .auth-card a:hover,
html[data-theme="dark"] .company-shell .card a:hover {
    color: #bfdbfe;
}

html[data-theme="dark"] .company-shell .err {
    color: #fca5a5;
}

html[data-theme="dark"] body[data-app-page="companies"] .small.err,
html[data-theme="dark"] body[data-app-page="admin"] .small.err {
    color: #fca5a5;
}