/* Shared charcoal palette, based on the supplied reference swatch. */
body:not(.light-mode) {
    --dark-surface: #242a32;
    --dark-raised: #2d3540;
    --dark-border: #465261;
    --dark-text: #edf2f7;
    --dark-muted: #b6c2d1;
    color-scheme: dark;
    background-color: var(--dark-surface);
    color: var(--dark-text);
}

body:not(.light-mode) :is(.sidebar, .sidebar-header, .weather-widget, .add-form,
    .workspace-wrapper, .split-map-canvas, .folder-container, .folder-content, .record-card,
    .data-box, .confirm-box, .data-table-container, .bottom-toolbar,
    .launcher-screen, .launcher-screen.is-login-mode, .launcher-screen.is-assigned-mode,
    .password-change-box, .account-manager-dialog, .project-editor-dialog,
    .assigned-project-overview, .assigned-recent-panel) {
    background: var(--dark-surface);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body:not(.light-mode) :is(.theme-toggle, .viewer-mode-control, .record-sync-panel,
    .folder-header, .toggle-btn, .cal-header-cell, .cal-day:not(.flight-day),
    .account-editor, .account-list-section, .managed-account-card,
    .project-edit-summary, .project-progress-hint) {
    background: var(--dark-raised);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body:not(.light-mode) :is(.launcher-screen.is-login-mode #loginSection,
    .launcher-screen.is-login-mode .launcher-login-tabs,
    .launcher-screen .biz-card, #singleBizCard > .biz-card) {
    background: var(--dark-surface);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body:not(.light-mode) :is(.viewer-mode-buttons button:not(.active), .split-map-select,
    .record-sync-actions button, .record-sync-badge button, .btn-no, .cal-header-row button,
    .password-change-cancel, .account-secondary, .project-editor-cancel,
    .launcher-screen.is-login-mode .launcher-entry-panel .m-inp, .project-editor-dialog .m-inp) {
    background: var(--dark-raised);
    border-color: var(--dark-border);
    color: var(--dark-text);
}

body:not(.light-mode) :is(.theme-toggle button:not(.active), .weather-desc,
    .viewer-mode-title small, .cal-date, .cal-temp) {
    color: var(--dark-muted);
}

body:not(.light-mode) .cad-overlay-control {
    --cad-bg: var(--dark-surface);
    --cad-input-bg: var(--dark-raised);
    --cad-status-bg: var(--dark-raised);
    --cad-border: var(--dark-border);
    --cad-input-border: var(--dark-border);
    --cad-text: var(--dark-text);
    --cad-muted: var(--dark-muted);
    --cad-hint: var(--dark-muted);
}

body:not(.light-mode) .cad-parcel-panel {
    --parcel-bg: var(--dark-surface);
    --parcel-card: var(--dark-raised);
    --parcel-border: var(--dark-border);
    --parcel-text: var(--dark-text);
    --parcel-muted: var(--dark-muted);
    scrollbar-color: var(--dark-border) var(--dark-surface);
}

body:not(.light-mode) .data-table :is(th, td) { border-color: var(--dark-border); }
body:not(.light-mode) .data-table th { background: var(--dark-raised); color: var(--dark-muted); }
body:not(.light-mode) .data-table td { background: var(--dark-surface); }
body:not(.light-mode) .data-table select option { background: var(--dark-raised); color: var(--dark-text); }
body:not(.light-mode) .split-map-header { background: var(--dark-surface); border-color: var(--dark-border); }
body:not(.light-mode) .viewer-label { background-color: var(--dark-surface); color: var(--dark-text); }
