/* MSalon business panel — dark theme.
   Bootstrap 5.3 supplies the generic dark components via data-bs-theme="dark"; this file
   re-points the --sb-* / --saas-* design tokens and fixes the surfaces that hard-code white. */

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

    /* neutral scale, inverted */
    --sb-neutral-50: #181314;
    --sb-neutral-100: #1d1719;
    --sb-neutral-150: #231c1e;
    --sb-neutral-200: #2f2629;
    --sb-neutral-300: #3d3236;
    --sb-neutral-400: #6f6366;
    --sb-neutral-500: #8e8285;
    --sb-neutral-600: #a89c9f;
    --sb-neutral-700: #c4babc;
    --sb-neutral-800: #ddd4d5;
    --sb-neutral-900: #f1eae9;
    --sb-neutral-950: #0a0708;

    --sb-ink: #0a0708;
    --sb-ink-raised: #181314;
    --sb-canvas: #0e0b0c;
    --sb-border: #2f2629;
    --sb-text: #f1eae9;
    --sb-text-soft: #a89c9f;

    --sb-accent-50: rgba(226, 55, 92, .13);
    --sb-accent-100: rgba(226, 55, 92, .2);
    --sb-accent-200: rgba(226, 55, 92, .32);
    --sb-accent-700: #e8637f;
    --sb-accent-800: #ff9db1;
    --sb-accent-900: #ffc2cf;
    --sb-accent-soft: rgba(226, 55, 92, .13);
    --sb-accent-ink: #ff9db1;

    --sb-success-soft: rgba(22, 163, 74, .16);
    --sb-success-ink: #6ee7a8;
    --sb-warning-soft: rgba(217, 119, 6, .18);
    --sb-warning-ink: #f2c35a;
    --sb-danger-soft: rgba(220, 38, 38, .18);
    --sb-danger-ink: #ff9a94;
    --sb-info-soft: rgba(31, 95, 138, .26);
    --sb-info-ink: #8cc6f0;

    --sb-shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);
    --sb-shadow-md: 0 6px 16px rgba(0, 0, 0, .45);
    --sb-shadow-lg: 0 14px 36px rgba(0, 0, 0, .55);

    --saas-surface: #181314;
    --saas-canvas: #0e0b0c;
    --saas-focus-ring: 0 0 0 3px rgba(226, 55, 92, .35);

    --bs-body-bg: #0e0b0c;
    --bs-body-color: #f1eae9;
    --bs-border-color: #2f2629;
    --bs-secondary-bg: #1d1719;
    --bs-tertiary-bg: #1d1719;
}

[data-bs-theme="dark"] body, [data-bs-theme="dark"] body.saas-app { background: var(--sb-canvas) !important; color: var(--sb-text); }

/* Top bar */
[data-bs-theme="dark"] body.saas-app .header { background: rgba(24, 19, 20, .92); border-bottom-color: var(--sb-border); }

/* Cards & generic surfaces that hard-code white */
[data-bs-theme="dark"] .card, [data-bs-theme="dark"] .modal-content, [data-bs-theme="dark"] .dropdown-menu,
[data-bs-theme="dark"] .offcanvas, [data-bs-theme="dark"] .list-group-item, [data-bs-theme="dark"] .accordion-item {
    background-color: var(--saas-surface); color: var(--sb-text); border-color: var(--sb-border);
}
[data-bs-theme="dark"] .bg-white { background-color: var(--saas-surface) !important; }
[data-bs-theme="dark"] .bg-light, [data-bs-theme="dark"] .table-light { background-color: var(--sb-neutral-100) !important; color: var(--sb-text); }
[data-bs-theme="dark"] .text-dark { color: var(--sb-text) !important; }
[data-bs-theme="dark"] .text-muted { color: var(--sb-text-soft) !important; }
[data-bs-theme="dark"] .border, [data-bs-theme="dark"] .border-bottom, [data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-start, [data-bs-theme="dark"] .border-end { border-color: var(--sb-border) !important; }

/* Tables, forms */
[data-bs-theme="dark"] .table { --bs-table-color: var(--sb-text); --bs-table-bg: transparent; --bs-table-border-color: var(--sb-border); --bs-table-hover-bg: rgba(226, 55, 92, .07); --bs-table-hover-color: var(--sb-text); --bs-table-striped-bg: #1b1516; color: var(--sb-text); }
[data-bs-theme="dark"] .table > :not(caption) > * > * { background-color: transparent; color: var(--sb-text); border-bottom-color: var(--sb-border); box-shadow: none; }
[data-bs-theme="dark"] .table > thead > tr > th { background-color: var(--sb-neutral-100); color: var(--sb-text-soft); }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * { background-color: rgba(226, 55, 92, .08) !important; color: var(--sb-text); }
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select, [data-bs-theme="dark"] .input-group-text,
[data-bs-theme="dark"] textarea, [data-bs-theme="dark"] input[type="text"], [data-bs-theme="dark"] input[type="email"],
[data-bs-theme="dark"] input[type="number"], [data-bs-theme="dark"] input[type="date"], [data-bs-theme="dark"] input[type="time"],
[data-bs-theme="dark"] input[type="password"], [data-bs-theme="dark"] input[type="tel"], [data-bs-theme="dark"] input[type="search"], [data-bs-theme="dark"] select {
    background-color: #1d1719; border-color: #34292c; color: var(--sb-text);
}
[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus { background-color: #231c1e; border-color: var(--sb-accent-500); color: var(--sb-text); }
[data-bs-theme="dark"] .form-control::placeholder, [data-bs-theme="dark"] ::placeholder { color: #7d7276; }
[data-bs-theme="dark"] .form-control:disabled, [data-bs-theme="dark"] .form-control[readonly], [data-bs-theme="dark"] select[readonly] { background-color: #161112 !important; color: var(--sb-text-soft); }
[data-bs-theme="dark"] .form-label, [data-bs-theme="dark"] label { color: #e4dadc; }
[data-bs-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator, [data-bs-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(.85); }
[data-bs-theme="dark"] .form-check-input:not(:checked) { background-color: #2a2224; border-color: #4a3d41; }

/* Dropdowns, modals, toasts, select2 */
[data-bs-theme="dark"] .dropdown-item { color: var(--sb-text); }
[data-bs-theme="dark"] .dropdown-item:hover, [data-bs-theme="dark"] .dropdown-item:focus { background-color: #2a2224 !important; color: var(--sb-text); }
[data-bs-theme="dark"] .dropdown-divider { border-color: var(--sb-border); }
[data-bs-theme="dark"] .modal-header, [data-bs-theme="dark"] .modal-footer { border-color: var(--sb-border); }
[data-bs-theme="dark"] .btn-close { filter: invert(1) grayscale(1); }
[data-bs-theme="dark"] .toast, [data-bs-theme="dark"] .toast.bg-light { background-color: var(--saas-surface) !important; color: var(--sb-text); }
[data-bs-theme="dark"] .select2-container--default .select2-selection--single, [data-bs-theme="dark"] .select2-container--default .select2-selection--multiple,
[data-bs-theme="dark"] .select2-dropdown { background: #1d1719; border-color: #34292c; color: var(--sb-text); }
[data-bs-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--sb-text); }
[data-bs-theme="dark"] .select2-container--default .select2-results__option--highlighted[aria-selected] { background: #2a2224; color: #fff; }
[data-bs-theme="dark"] .select2-container--default .select2-search--dropdown .select2-search__field { background: #231c1e; color: var(--sb-text); border-color: #34292c; }
[data-bs-theme="dark"] .swal2-popup { background: var(--saas-surface); color: var(--sb-text); }
[data-bs-theme="dark"] .swal2-title, [data-bs-theme="dark"] .swal2-html-container { color: var(--sb-text); }

/* Buttons */
[data-bs-theme="dark"] .btn-light, [data-bs-theme="dark"] .btn-outline-secondary, [data-bs-theme="dark"] .btn-outline-light {
    background: #1d1719; border-color: #3a2f32; color: #e9dfe1;
}
[data-bs-theme="dark"] .btn-light:hover, [data-bs-theme="dark"] .btn-outline-secondary:hover { background: #2a2224; color: #fff; border-color: #4a3d41; }
[data-bs-theme="dark"] .btn-link { color: #ff8f86; }

/* Pagination, tabs, badges */
[data-bs-theme="dark"] .page-link { background: #1d1719; border-color: var(--sb-border); color: var(--sb-text); }
[data-bs-theme="dark"] .page-item.disabled .page-link { color: #6f6466; }
[data-bs-theme="dark"] .nav-tabs { border-color: var(--sb-border); }
[data-bs-theme="dark"] .nav-tabs .nav-link { color: var(--sb-text-soft); }
[data-bs-theme="dark"] .nav-tabs .nav-link.active { background: var(--saas-surface); border-color: var(--sb-border) var(--sb-border) var(--saas-surface); color: #ff9db1; }
[data-bs-theme="dark"] .badge.bg-light, [data-bs-theme="dark"] .badge.text-dark { background-color: #2a2224 !important; color: var(--sb-text) !important; }

/* Headings & text that fall back to near-black */
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3, [data-bs-theme="dark"] h4, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6 { color: var(--sb-text); }
[data-bs-theme="dark"] a { color: #ff8f86; }
[data-bs-theme="dark"] a.btn, [data-bs-theme="dark"] .dropdown-item, [data-bs-theme="dark"] .page-link, [data-bs-theme="dark"] .nav-link { color: inherit; }
[data-bs-theme="dark"] hr { border-color: var(--sb-border); opacity: 1; }

/* Theme toggle (top bar) */
.biz-theme-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; margin: 0 2px; padding: 0; border-radius: 10px;
    border: 1px solid var(--sb-border); background: var(--sb-neutral-100); color: var(--sb-text-soft); cursor: pointer;
    transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}
.biz-theme-toggle:hover { color: var(--sb-accent); border-color: var(--sb-accent-200); background: var(--sb-accent-50); }
.biz-theme-toggle__sun { display: none; }
[data-bs-theme="dark"] .biz-theme-toggle__moon { display: none; }
[data-bs-theme="dark"] .biz-theme-toggle__sun { display: inline-block; color: #f2c35a; }

/* ---- surfaces found by visual scan (dashboard) ---- */
[data-bs-theme="dark"] .navbar, [data-bs-theme="dark"] nav.navbar { background-color: transparent; }
[data-bs-theme="dark"] .dashboard-header.premium-section { background: linear-gradient(160deg, rgba(226, 55, 92, .14) 0%, var(--saas-surface) 60%) !important; border-color: var(--sb-border); }
[data-bs-theme="dark"] .stat-card, [data-bs-theme="dark"] .dashboard-kpi-card, [data-bs-theme="dark"] .dashboard-attention-card,
[data-bs-theme="dark"] .floating-help-btn, [data-bs-theme="dark"] .topbar-search, [data-bs-theme="dark"] .topbar-search-mobile { background: var(--saas-surface) !important; color: var(--sb-text); border-color: var(--sb-border); }
[data-bs-theme="dark"] .topbar-search-kbd, [data-bs-theme="dark"] kbd { background: #2a2224; color: var(--sb-text-soft); border-color: var(--sb-border); }
[data-bs-theme="dark"] .dash-tab.active { background: var(--saas-surface); color: var(--sb-text); }
[data-bs-theme="dark"] .dashboard-attention-card--danger { background: rgba(220, 38, 38, .12) !important; }
[data-bs-theme="dark"] .page-heading, [data-bs-theme="dark"] body.saas-app .page-heading { color: var(--sb-text) !important; }

/* ---- surfaces found by visual scan (appointments, clients, collections, enquiries, store) ---- */
[data-bs-theme="dark"] .appt-quick-btn, [data-bs-theme="dark"] .appt-view-toggle-btn.active, [data-bs-theme="dark"] .compact-kpi-card,
[data-bs-theme="dark"] .appt-drawer-footer, [data-bs-theme="dark"] .appt-drawer-header, [data-bs-theme="dark"] .appt-section,
[data-bs-theme="dark"] .appt-grid-wrap, [data-bs-theme="dark"] .table-responsive, [data-bs-theme="dark"] .collection-summary-section,
[data-bs-theme="dark"] .collection-summary-card__icon, [data-bs-theme="dark"] .enquiry-filter-card, [data-bs-theme="dark"] .store-section-nav {
    background: var(--saas-surface) !important; color: var(--sb-text); border-color: var(--sb-border);
}
[data-bs-theme="dark"] .compact-kpi-card__icon--info { background: var(--sb-info-soft) !important; color: var(--sb-info-ink); }
[data-bs-theme="dark"] .compact-kpi-card__icon--success { background: var(--sb-success-soft) !important; color: var(--sb-success-ink); }
[data-bs-theme="dark"] .compact-kpi-card__icon--warning { background: var(--sb-warning-soft) !important; color: var(--sb-warning-ink); }
[data-bs-theme="dark"] .compact-kpi-card__icon--danger { background: var(--sb-danger-soft) !important; color: var(--sb-danger-ink); }
[data-bs-theme="dark"] .pill-neutral { background: #2a2224 !important; color: var(--sb-text-soft); }
[data-bs-theme="dark"] .nav-link.d-flex { background: transparent !important; }
[data-bs-theme="dark"] .nav-link.active { background: var(--sb-accent-50) !important; color: #ff9db1 !important; }
[data-bs-theme="dark"] .team-section-nav { background: var(--saas-surface) !important; border-color: var(--sb-border); }
[data-bs-theme="dark"] .expense-report-icon { background: var(--sb-accent-50) !important; color: #ff9db1; }
[data-bs-theme="dark"] .due-type-card, [data-bs-theme="dark"] .due-aging-card, [data-bs-theme="dark"] .due-records-card,
[data-bs-theme="dark"] .data-table, [data-bs-theme="dark"] .reportcard, [data-bs-theme="dark"] .reportcard-clickable { background: var(--saas-surface) !important; color: var(--sb-text); border-color: var(--sb-border); }
[data-bs-theme="dark"] .due-type-card.active { background: var(--sb-accent-50) !important; border-color: var(--sb-accent-200); }
[data-bs-theme="dark"] .reportcard--success { background: var(--sb-success-soft) !important; }
[data-bs-theme="dark"] .reportcard--warning { background: var(--sb-warning-soft) !important; }
[data-bs-theme="dark"] .reportcard--danger { background: var(--sb-danger-soft) !important; }
[data-bs-theme="dark"] .reportcard--info { background: var(--sb-info-soft) !important; }
[data-bs-theme="dark"] .reportcard-wrap, [data-bs-theme="dark"] body.saas-app > .container, [data-bs-theme="dark"] .container.bg-white { background: transparent !important; }
[data-bs-theme="dark"] .refund-kpi, [data-bs-theme="dark"] .refund-ledger, [data-bs-theme="dark"] .refund-receipt-id, [data-bs-theme="dark"] .refund-trigger,
[data-bs-theme="dark"] .store-search-container, [data-bs-theme="dark"] .order-search-card, [data-bs-theme="dark"] .errorcard, [data-bs-theme="dark"] .errorpage,
[data-bs-theme="dark"] .dashboard-icon-bg { background: var(--saas-surface) !important; color: var(--sb-text); border-color: var(--sb-border); }

/* ---- second pass (bulk SMS, client recovery, tab bars) ---- */
[data-bs-theme="dark"] .nav-link { color: var(--sb-text-soft); }
[data-bs-theme="dark"] .nav-link:hover { color: var(--sb-text); }
[data-bs-theme="dark"] .nav-link.active, [data-bs-theme="dark"] .nav-pills .nav-link.active { color: #ff9db1 !important; }
[data-bs-theme="dark"] .btn-light, [data-bs-theme="dark"] .btn.btn-light { background-color: #1d1719 !important; border-color: #3a2f32 !important; color: #e9dfe1 !important; }
[data-bs-theme="dark"] .input-group-text { background-color: #231c1e !important; border-color: #34292c !important; color: var(--sb-text-soft); }
[data-bs-theme="dark"] [class*="-workspace"], [data-bs-theme="dark"] [class*="-filter"]:is(section, div), [data-bs-theme="dark"] [class*="settings-"]:is(.settings-sidebar-card, .settings-form-card, .settings-toggle-row, .settings-section-icon),
[data-bs-theme="dark"] .settings-sidebar-link.active, [data-bs-theme="dark"] .report-navigation, [data-bs-theme="dark"] .content-section-nav, [data-bs-theme="dark"] .empty-state-icon {
    background-color: var(--saas-surface); border-color: var(--sb-border); color: var(--sb-text);
}
[data-bs-theme="dark"] .settings-sidebar-link { color: var(--sb-text-soft); }
[data-bs-theme="dark"] .settings-sidebar-link.active { background-color: var(--sb-accent-50); color: #ff9db1; }
[data-bs-theme="dark"] .empty-state-title, [data-bs-theme="dark"] .saas-workspace-header__title, [data-bs-theme="dark"] .topbar-profile-name { color: var(--sb-text); }
[data-bs-theme="dark"] .navbar-brand { color: var(--sb-text) !important; }
[data-bs-theme="dark"] th, [data-bs-theme="dark"] td { border-color: var(--sb-border); }
[data-bs-theme="dark"] th.text-end, [data-bs-theme="dark"] th.text-center, [data-bs-theme="dark"] td.text-center { background-color: transparent; }
[data-bs-theme="dark"] .card.rounded-0, [data-bs-theme="dark"] .card.p-0, [data-bs-theme="dark"] .card.mb-2 { background-color: var(--saas-surface); }
[data-bs-theme="dark"] .small, [data-bs-theme="dark"] small { color: inherit; }
[data-bs-theme="dark"] .card, [data-bs-theme="dark"] .saas-wallet-balance-card { background-image: none; }
[data-bs-theme="dark"] .saas-gift-card-record, [data-bs-theme="dark"] .saas-record-card > .card-body { background-image: none; background-color: var(--saas-surface); }
[data-bs-theme="dark"] .plan-card-featured, [data-bs-theme="dark"] .plan-card-discounted { background: var(--saas-surface) !important; color: var(--sb-text); }
[data-bs-theme="dark"] .plan-expiry-banner { background: rgba(249, 115, 22, .16); color: #fdba74; }
[data-bs-theme="dark"] .plan-expiry-banner button { color: #fdba74 !important; }
[data-bs-theme="dark"] body.saas-app .saas-wallet-balance-card, [data-bs-theme="dark"] body.saas-app .saas-gift-card-record,
[data-bs-theme="dark"] body.saas-app .saas-record-card > .card-body {
    background-image: linear-gradient(145deg, var(--saas-surface) 0%, rgba(226, 55, 92, .14) 170%) !important; background-color: var(--saas-surface) !important;
}

/* Theme switch — sidebar bottom (Light | Dark) */
.biz-theme-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; margin: 10px 12px 12px; border-radius: 12px; background: rgba(255, 255, 255, .07); }
.biz-theme-switch__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 8px; border: 0; border-radius: 9px;
    background: transparent; color: rgba(255, 255, 255, .62); font-size: 12.5px; font-weight: 700; cursor: pointer;
    transition: background-color .15s ease, color .15s ease;
}
.biz-theme-switch__btn:hover { color: #fff; }
html:not([data-bs-theme="dark"]) .biz-theme-switch__btn[data-biz-theme="light"],
[data-bs-theme="dark"] .biz-theme-switch__btn[data-biz-theme="dark"] {
    color: #fff; background: linear-gradient(135deg, var(--sb-accent-400), var(--sb-accent-600)); box-shadow: 0 6px 14px -8px rgba(204, 35, 80, .9);
}
.sidepanel.is-collapsed .biz-theme-switch { grid-template-columns: 1fr; margin-left: 8px; margin-right: 8px; }
.sidepanel.is-collapsed .biz-theme-switch__btn span { display: none; }
