/**
 * Platform dark-mode remediation — loads late (after app.css / Tailwind).
 * Large chrome is midnight-neutral; --tenant-brand-color is reserved for actions.
 * Document/PDF/print canvases stay intentionally light via isolation rules.
 */

/* -------------------------------------------------------------------------- */
/* Shared tokens when dark                                                    */
/* -------------------------------------------------------------------------- */
body.theme-dark,
html.dark {
    color-scheme: dark;
}

body.theme-dark {
    --tenant-brand-on-color: var(--tenant-brand-on-color, #FFFFFF);
    --nucleus-dark-elevated: var(--mud-palette-background-grey);
    --nucleus-dark-hover: color-mix(in srgb, var(--mud-palette-text-primary) 6%, transparent);
    --nucleus-dark-border: var(--mud-palette-divider);
    --nucleus-dark-focus: var(--mud-palette-primary-lighten, var(--mud-palette-primary));
    --nucleus-dark-link: var(--mud-palette-primary-lighten, var(--mud-palette-primary));
}

/* -------------------------------------------------------------------------- */
/* App chrome: buttons, tabs, links, focus                                    */
/* -------------------------------------------------------------------------- */
html body.theme-dark .mud-button-filled.mud-button-filled-primary,
html body.theme-dark .quick-action-btn.mud-button-filled.mud-primary {
    background-color: var(--tenant-brand-color, var(--mud-palette-primary)) !important;
    color: var(--tenant-brand-on-color, var(--mud-palette-primary-contrast-text, #fff)) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35) !important;
}

html body.theme-dark .mud-button-filled.mud-button-filled-primary:hover:not(:disabled),
html body.theme-dark .quick-action-btn.mud-button-filled.mud-primary:hover:not(:disabled) {
    background-color: var(--tenant-brand-color-hover, var(--mud-palette-primary-darken)) !important;
    color: var(--tenant-brand-on-color, #fff) !important;
}

html body.theme-dark .mud-button-filled.mud-button-filled-primary:disabled,
html body.theme-dark .mud-button-filled.mud-button-filled-primary.mud-disabled {
    background-color: var(--mud-palette-action-disabled-background) !important;
    color: var(--mud-palette-text-disabled) !important;
    opacity: 1 !important;
}

html body.theme-dark .mud-button-outlined {
    color: var(--mud-palette-text-primary) !important;
    border-color: var(--nucleus-dark-border) !important;
    background: transparent !important;
}

html body.theme-dark .mud-button-outlined.mud-button-outlined-primary {
    color: var(--mud-palette-primary) !important;
    border-color: var(--mud-palette-primary) !important;
}

html body.theme-dark .mud-button-outlined:hover:not(:disabled) {
    background: var(--nucleus-dark-hover) !important;
}

html body.theme-dark .mud-button-text {
    color: var(--mud-palette-text-primary) !important;
}

html body.theme-dark .mud-button-text.mud-button-text-primary {
    color: var(--mud-palette-primary) !important;
}

html body.theme-dark .mud-icon-button {
    color: var(--mud-palette-action-default) !important;
}

html body.theme-dark .mud-icon-button:hover:not(:disabled) {
    background: var(--nucleus-dark-hover) !important;
}

html body.theme-dark .mud-icon-button.mud-icon-button-filled-primary,
html body.theme-dark .mud-icon-button.mud-primary {
    background-color: var(--tenant-brand-color, var(--mud-palette-primary)) !important;
    color: var(--tenant-brand-on-color, #fff) !important;
}

html body.theme-dark a:not(.mud-button):not(.mud-nav-link):not(.mud-chip),
html body.theme-dark .mud-link {
    color: var(--nucleus-dark-link);
}

html body.theme-dark a:not(.mud-button):not(.mud-nav-link):not(.mud-chip):hover,
html body.theme-dark .mud-link:hover {
    color: color-mix(in srgb, var(--nucleus-dark-link) 82%, white);
}

html body.theme-dark :focus-visible {
    outline-color: var(--nucleus-dark-focus) !important;
}

/* Active tabs — restrained action fill + white text */
body.theme-dark .mud-tab-active,
body.theme-dark .mud-tabs-filled .mud-tab-active,
body.theme-dark .module-workspace-page .custom-tabs .mud-tab.mud-tab-active,
body.theme-dark .property-details-tabs .mud-tab.mud-tab-active {
    background: var(--tenant-brand-color, var(--mud-palette-primary)) !important;
    border-color: var(--tenant-brand-color, var(--mud-palette-primary)) !important;
    color: var(--tenant-brand-on-color, #fff) !important;
}

body.theme-dark .mud-tab:not(.mud-tab-active) {
    color: var(--mud-palette-text-secondary) !important;
}

body.theme-dark .mud-tab:not(.mud-tab-active):hover {
    color: var(--mud-palette-text-primary) !important;
    background: var(--nucleus-dark-hover) !important;
}

/* -------------------------------------------------------------------------- */
/* Surfaces, text, inputs, tables, menus, dialogs                             */
/* -------------------------------------------------------------------------- */
body.theme-dark .mud-paper,
body.theme-dark .mud-card,
body.theme-dark .mud-dialog,
body.theme-dark .mud-popover,
body.theme-dark .mud-menu,
body.theme-dark .mud-list,
body.theme-dark .mud-drawer {
    color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-typography,
body.theme-dark .mud-input-label,
body.theme-dark .mud-input-helper-text {
    color: inherit;
}

body.theme-dark .mud-input-slot,
body.theme-dark .mud-input input,
body.theme-dark .mud-input textarea,
body.theme-dark .mud-select input,
body.theme-dark .mud-autocomplete input {
    color: var(--mud-palette-text-primary) !important;
    caret-color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-input-outlined fieldset.mud-input-outlined-border,
body.theme-dark .mud-numeric-field-outlined fieldset.mud-input-outlined-border {
    border-color: var(--mud-palette-lines-inputs) !important;
}

body.theme-dark .mud-input-control.mud-input-error .mud-input-outlined fieldset.mud-input-outlined-border {
    border-color: var(--mud-palette-error) !important;
}

body.theme-dark .mud-input-control.mud-disabled .mud-input-slot,
body.theme-dark .field-readonly .mud-input-slot,
body.theme-dark .crm-input-readonly .mud-input-slot,
body.theme-dark .readonly-field-filled .mud-input-slot {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--mud-palette-text-secondary) !important;
}

body.theme-dark .mud-table,
body.theme-dark .mud-table-root,
body.theme-dark .mud-data-grid {
    color: var(--mud-palette-text-primary);
    border-color: var(--nucleus-dark-border) !important;
}

body.theme-dark .mud-table-head,
body.theme-dark .mud-table-pagination {
    background: var(--nucleus-dark-elevated) !important;
    color: var(--mud-palette-text-secondary) !important;
}

body.theme-dark .mud-table-row:hover {
    background: var(--mud-palette-table-hover) !important;
}

body.theme-dark .mud-table-cell {
    border-bottom-color: var(--nucleus-dark-border) !important;
    color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-tooltip,
body.theme-dark .mud-snackbar {
    color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-overlay-dark {
    background: var(--mud-palette-overlay-dark) !important;
}

/* Neutral chips only — do not flatten semantic filled chips */
body.theme-dark .mud-chip:not([class*="mud-chip-color-"]):not(.mud-chip-filled),
body.theme-dark .mud-chip.mud-chip-outlined:not([class*="mud-chip-color-"]) {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--nucleus-dark-border) !important;
    color: var(--mud-palette-text-primary) !important;
}

body.theme-dark .mud-alert {
    color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-progress-linear,
body.theme-dark .mud-skeleton {
    background-color: rgba(255, 255, 255, 0.08);
}

/* Selection */
body.theme-dark ::selection {
    background: color-mix(in srgb, var(--mud-palette-primary) 48%, transparent);
    color: #fff;
}

/* Scrollbars (Chromium / Edge) */
body.theme-dark *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body.theme-dark *::-webkit-scrollbar-track {
    background: transparent;
}

body.theme-dark *::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.35);
    border-radius: 8px;
}

body.theme-dark *::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.55);
}

/* -------------------------------------------------------------------------- */
/* Shell / nav / shared Nucleus surfaces                                      */
/* -------------------------------------------------------------------------- */
body.theme-dark .app-layout-root,
body.theme-dark .workspace-main-body,
body.theme-dark .module-content-region,
body.theme-dark .entity-view-layout {
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
}

body.theme-dark .nucleus-surface-card,
body.theme-dark .module-section-card,
body.theme-dark .tile-card,
body.theme-dark .sd-dash-card,
body.theme-dark .entity-sidebar-tile-card {
    background: var(--mud-palette-surface) !important;
    border-color: color-mix(in srgb, var(--nucleus-dark-border) 82%, transparent) !important;
    color: var(--mud-palette-text-primary);
}

body.theme-dark .mud-expansion-panel,
body.theme-dark .expansion-panel-card {
    background: var(--mud-palette-surface) !important;
    border-color: var(--nucleus-dark-border) !important;
    color: var(--mud-palette-text-primary);
}

body.theme-dark .app-shell-appbar.appbar-dark {
    background: var(--mud-palette-appbar-background) !important;
    color: var(--mud-palette-appbar-text) !important;
    border-bottom: 1px solid var(--mud-palette-divider) !important;
    box-shadow: none !important;
}

body.theme-dark .app-shell-appbar .header-icon-btn,
body.theme-dark .app-shell-appbar .mud-icon-button,
body.theme-dark .app-shell-appbar .mud-typography,
body.theme-dark .app-shell-appbar .app-name {
    color: var(--mud-palette-appbar-text) !important;
}

html.tenant-branded.dark .notion-nav-menu--branded,
html.tenant-branded body.theme-dark .notion-nav-menu--branded,
html.tenant-branded .mud-theme-dark .notion-nav-menu--branded {
    --notion-nav-panel-bg: var(--mud-palette-drawer-background);
    --notion-nav-on-brand-text: var(--mud-palette-text-primary);
    --notion-nav-on-brand-muted: var(--mud-palette-text-secondary);
    background: var(--mud-palette-drawer-background) !important;
    border-right-color: var(--mud-palette-divider) !important;
}

html.tenant-branded.dark .notion-nav-menu--branded .notion-nav-header,
html.tenant-branded body.theme-dark .notion-nav-menu--branded .notion-nav-header {
    background: var(--mud-palette-drawer-background) !important;
    border-bottom-color: var(--mud-palette-divider) !important;
}

html.tenant-branded.dark .notion-nav-menu--branded .mud-nav-link:hover:not(.active),
html.tenant-branded body.theme-dark .notion-nav-menu--branded .mud-nav-link:hover:not(.active) {
    background: var(--nucleus-dark-hover) !important;
}

html.tenant-branded.dark .notion-nav-menu--branded .mud-nav-link.active,
html.tenant-branded body.theme-dark .notion-nav-menu--branded .mud-nav-link.active,
body.theme-dark .notion-nav-menu .mud-nav-link.active {
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent) !important;
    color: var(--mud-palette-text-primary) !important;
    box-shadow: inset 3px 0 0 var(--mud-palette-primary-lighten, var(--mud-palette-primary));
}

html.tenant-branded.dark .notion-nav-menu--branded .mud-nav-link.active .mud-nav-link-text,
html.tenant-branded.dark .notion-nav-menu--branded .mud-nav-link.active .mud-icon-root,
html.tenant-branded body.theme-dark .notion-nav-menu--branded .mud-nav-link.active .mud-nav-link-text,
html.tenant-branded body.theme-dark .notion-nav-menu--branded .mud-nav-link.active .mud-icon-root,
body.theme-dark .notion-nav-menu .mud-nav-link.active .mud-nav-link-text,
body.theme-dark .notion-nav-menu .mud-nav-link.active .mud-icon-root {
    color: var(--mud-palette-text-primary) !important;
}

body.theme-dark .notion-nav-menu .notion-nav-divider {
    background-color: var(--mud-palette-divider) !important;
}

/* -------------------------------------------------------------------------- */
/* Preserve intentionally light document / print canvases                     */
/* -------------------------------------------------------------------------- */
body.theme-dark .document-builder-canvas,
body.theme-dark .document-theme,
body.theme-dark .gp-doc-theme,
body.theme-dark .content-canvas,
body.theme-dark .quote-document-surface,
body.theme-dark .procedure-a4-preview,
body.theme-dark .procedure-document-viewer,
body.theme-dark .mdb-page,
body.theme-dark .ce-block,
body.theme-dark .toastui-editor-contents,
body.theme-dark .process-document-print {
    color-scheme: light;
}

body.theme-dark .document-builder-canvas,
body.theme-dark .content-canvas,
body.theme-dark .quote-document-surface,
body.theme-dark .procedure-a4-preview,
body.theme-dark .mdb-page {
    /* Keep page paper white; chrome around these is dark via parents */
    background-color: #ffffff;
    color: #1e293b;
}
