/* static/css/dark-mode.css */
/* Mode Nuit Centralisé - RelanceVite */

/* ============================================
   1. VARIABLES CSS - OVERRIDE ROOT
   ============================================ */

body.dark-mode {
    --bg-body: #0f172a;
    --bg-card: #1e293b;
    --bg-subtle: #1a2332;
    --text-main: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --border-color: #334155;
    --border-strong: #475569;
    --primary-light: #1e3a5f;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 30px 60px rgba(0, 0, 0, 0.6);
    color-scheme: dark;
}

/* ============================================
   2. BASE & LAYOUT
   ============================================ */

body.dark-mode {
    background-color: #0f172a;
    color: #f1f5f9;
}

body.dark-mode .main-content {
    background: #0f172a;
}

body.dark-mode .top-bar {
    background: #1e293b;
    border-color: #334155;
}

/* Toggle switch - mode nuit : thumb glisse vers la droite */
body.dark-mode .dmt-thumb {
    transform: translateY(-50%) translateX(30px);
    background: #334155;
    border-color: #475569;
}

body.dark-mode .dmt-track {
    border-color: #475569;
}

body.dark-mode .dmt-sun  { color: #94a3b8; opacity: 0.4; }
body.dark-mode .dmt-moon { color: #f1f5f9; opacity: 1;   }

body.dark-mode .sidebar {
    background: linear-gradient(180deg, #0b1120 0%, #162033 100%);
    border-color: #334155;
}

/* Dropdown menu */
body.dark-mode .dropdown-menu {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .dropdown-header {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .dropdown-item:hover {
    background-color: #334155;
}

/* Help menu */
body.dark-mode .help-menu {
    background: #1e293b;
    border: 1px solid #334155;
}

body.dark-mode .help-menu-item {
    color: #cbd5e1;
}

body.dark-mode .help-menu-item:hover {
    background: #334155;
    color: #60a5fa;
}

/* Upload section */
body.dark-mode .upload-section {
    background: #1e293b;
    border-color: #334155;
}

/* Scrollbar */
body.dark-mode ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body.dark-mode ::-webkit-scrollbar-track {
    background: #0f172a;
}

body.dark-mode ::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 4px;
}

body.dark-mode ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ============================================
   3. DASHBOARD - Upload Zone
   ============================================ */

body.dark-mode .drop-zone {
    background: #162033;
    border-color: #475569;
    color: #94a3b8;
}

body.dark-mode .drop-zone.dragover {
    background: #1e3a5f;
    border-color: #3b82f6;
}

body.dark-mode .drop-zone.success {
    background-color: #064e3b !important;
    border-color: #059669 !important;
}

body.dark-mode .drop-zone.error {
    background-color: #7f1d1d !important;
    border-color: #dc2626 !important;
}

body.dark-mode .last-update-badge {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e3a8a 100%);
    color: #93c5fd;
    border-color: #334155;
}

body.dark-mode .last-update-badge.outdated {
    background: linear-gradient(135deg, #422006 0%, #78350f 100%);
    color: #fbbf24;
}

/* ============================================
   4. DASHBOARD - KPI Cards
   ============================================ */

body.dark-mode .dashboard-card,
body.dark-mode .dashboard-card.kpi-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .kpi-badge {
    background: linear-gradient(135deg, #1e293b 0%, #162033 100%);
    border-color: #334155;
}

body.dark-mode .kpi-value,
body.dark-mode .dashboard-card .kpi-value {
    color: #f1f5f9;
}

body.dark-mode .dashboard-card .kpi-value.text-red-bold {
    color: #fca5a5;
}

body.dark-mode .dashboard-card .kpi-value.primary {
    color: #93c5fd;
}

body.dark-mode .kpi-label,
body.dark-mode .dashboard-card .kpi-label {
    color: #94a3b8;
}

body.dark-mode .kpi-delta {
    color: #94a3b8;
}

/* KPI colored borders */
body.dark-mode .kpi-card.kpi-danger,
body.dark-mode .dashboard-card.kpi-danger {
    border-color: rgba(220, 38, 38, 0.4);
    background: linear-gradient(135deg, #1e293b 0%, #2d1b1b 100%);
}

body.dark-mode .dashboard-card.kpi-danger .kpi-value {
    color: #fca5a5;
}

body.dark-mode .kpi-card.kpi-warning,
body.dark-mode .dashboard-card.kpi-warning {
    border-color: rgba(245, 158, 11, 0.4);
}

/* ============================================
   5. DASHBOARD - Table
   ============================================ */

body.dark-mode .results-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .table-responsive {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .table-dashboard thead th {
    background: #162033;
    color: #94a3b8;
    border-color: #334155;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

body.dark-mode .table-dashboard thead th.bg-blue-light {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .table-dashboard thead th.bg-teal-light {
    background: #134e4a;
    color: #5eead4;
}

body.dark-mode .table-dashboard thead th.bg-red-light {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .table-dashboard tbody td {
    color: #f1f5f9;
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .table-dashboard tbody tr:nth-child(even) td {
    background: #162033;
}

body.dark-mode .table-dashboard tbody tr:hover td {
    background: #334155;
}

/* Search input */
body.dark-mode .search-input,
body.dark-mode .search-wrapper input {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

/* Toggle all button */
body.dark-mode .btn-toggle-all {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-toggle-all:hover {
    background: #334155;
}

/* Badges colorés dans le tableau */
body.dark-mode .badge-kpi {
    background: #334155;
    color: #cbd5e1;
}

body.dark-mode .bg-red-light {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .bg-teal-light {
    background: #134e4a;
    color: #5eead4;
}

/* Status badges */
body.dark-mode .invoice-status-badge {
    border-color: #475569;
}

body.dark-mode .invoice-status-badge.status-a-relancer {
    background: #431407;
    color: #fb923c;
}

body.dark-mode .invoice-status-badge.status-relance {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .invoice-status-badge.status-paye {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .invoice-status-badge.status-promesse {
    background: #422006;
    color: #fbbf24;
}

body.dark-mode .invoice-status-badge.status-litige {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .invoice-status-badge.status-valide {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .invoice-status-badge.status-prerelance {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .invoice-status-badge.status-non-echu {
    background: #334155;
    color: #94a3b8;
}

/* Select dans le tableau */
body.dark-mode .input-select,
body.dark-mode .dashboard-card .input-select {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

/* ============================================
   6. DASHBOARD - Accordion / Détails client
   ============================================ */

body.dark-mode .detail-container {
    background: linear-gradient(135deg, #162033 0%, #1e293b 100%);
    border-color: #334155;
}

body.dark-mode .mini-table {
    background: #1e293b;
}

body.dark-mode .mini-table td {
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .badge-ok {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .badge-warn {
    background: #422006;
    color: #fbbf24;
}

body.dark-mode .badge-danger {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .badge-warn-orange {
    background: #431407;
    color: #fb923c;
}

/* ============================================
   7. DASHBOARD - Commentaires
   ============================================ */

body.dark-mode .comment-input,
body.dark-mode .table-dashboard tbody td input[type="text"].comment-input {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .comment-input:hover,
body.dark-mode .table-dashboard tbody td input[type="text"].comment-input:hover {
    background: #1a2332;
}

body.dark-mode .comment-input:focus,
body.dark-mode .table-dashboard tbody td input[type="text"].comment-input:focus {
    background: #1e293b;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

body.dark-mode .comment-input::placeholder {
    color: transparent;
}

body.dark-mode .comment-input:hover::placeholder {
    color: #64748b;
}

body.dark-mode .comment-input:focus::placeholder {
    color: #475569;
}

body.dark-mode .comment-input:not(:placeholder-shown) {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e3a8a 100%);
    color: #f1f5f9;
}

body.dark-mode .comment-tooltip {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .comment-history-entry.latest {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e3a8a 100%);
}

body.dark-mode .text-red:hover {
    background-color: #4c1d1d;
}

/* ============================================
   8. DASHBOARD - Inline styles
   ============================================ */

body.dark-mode .upgrade-banner {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e3a8a 100%);
}

body.dark-mode .upgrade-banner-content {
    color: #93c5fd;
}

body.dark-mode .btn-return-dashboard {
    background-color: #334155;
    color: #cbd5e1;
}

body.dark-mode .btn-action-secondary {
    background-color: #334155;
    color: #cbd5e1;
    border-color: #475569;
}

body.dark-mode .status-badge.success {
    background-color: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .status-badge.warning {
    background-color: #422006;
    color: #fbbf24;
}

body.dark-mode .status-badge.danger {
    background-color: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .section-divider {
    background-color: #334155;
}

/* Premium & Welcome */
body.dark-mode .premium-lock-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .premium-lock-title {
    color: #f1f5f9;
}

body.dark-mode .welcome-pro-card {
    background: #1e293b;
}

body.dark-mode .welcome-pro-title {
    color: #f1f5f9;
}

body.dark-mode .welcome-pro-feature {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .welcome-pro-feature span {
    color: #cbd5e1;
}

/* ============================================
   9. RELANCE - Header
   ============================================ */

body.dark-mode .relance-header-v2 {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .header-action-btn {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .header-action-btn:hover {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .horizon-filter-panel {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .btn-reset-filter:hover {
    background: #334155;
}

body.dark-mode .view-toggle-session {
    background: #162033;
}

body.dark-mode .view-toggle-session .view-btn {
    color: #94a3b8;
}

body.dark-mode .view-toggle-session .view-btn.active {
    background: #1e293b;
    color: #f1f5f9;
}

/* ============================================
   10. RELANCE - Flux (Carte client + Email)
   ============================================ */

body.dark-mode .client-info-header {
    background: linear-gradient(135deg, #162033 0%, #1e293b 100%);
}

body.dark-mode .btn-gestion {
    background: #1e293b;
    color: #94a3b8;
    border-color: #334155;
}

body.dark-mode .btn-gestion:hover {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .gestion-actions-bar {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .inline-input-zone {
    background: #162033;
}

/* Carte actions (email) */
body.dark-mode .action-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .template-btn {
    background: #162033;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .template-btn:hover {
    background: #334155;
}

body.dark-mode .template-btn.active {
    background: var(--primary-color);
    color: white;
}

body.dark-mode .btn-action {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-action:hover {
    background: #334155;
}

body.dark-mode .btn-action.btn-paye:hover {
    background: #064e3b;
    color: #6ee7b7;
    border-color: #059669;
}

body.dark-mode .btn-action.btn-promesse:hover {
    background: #422006;
    color: #fbbf24;
    border-color: #d97706;
}

body.dark-mode .btn-action.btn-litige:hover {
    background: #4c1d1d;
    color: #fca5a5;
    border-color: #dc2626;
}

/* Email editor */
body.dark-mode .email-subject-input,
body.dark-mode .input-subject {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .email-subject-input:focus,
body.dark-mode .input-subject:focus {
    background: #1e293b;
}

body.dark-mode .email-body-textarea,
body.dark-mode .textarea-body {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .email-body-textarea:focus,
body.dark-mode .textarea-body:focus {
    background: #1e293b;
}

/* Checkbox table rows */
body.dark-mode .invoice-row:hover {
    background: #334155;
}

/* Passer ce client */
body.dark-mode .btn-skip,
body.dark-mode .skip-client-link {
    color: #94a3b8;
}

body.dark-mode .btn-skip:hover,
body.dark-mode .skip-client-link:hover {
    color: #cbd5e1;
}

/* Inbox Zero / Empty States */
body.dark-mode .inbox-zero,
body.dark-mode .empty-state,
body.dark-mode .flux-empty-state {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .inbox-zero h2,
body.dark-mode .empty-state h2,
body.dark-mode .flux-empty-state h2 {
    color: #f1f5f9;
}

body.dark-mode .inbox-zero p,
body.dark-mode .empty-state p,
body.dark-mode .flux-empty-state p {
    color: #94a3b8;
}

body.dark-mode .flux-empty-state svg {
    stroke: #64748b;
}

body.dark-mode .flux-empty-state.success svg {
    stroke: #34d399;
}

/* Relance table headers (client card) */
body.dark-mode .relance-table thead th,
body.dark-mode .relance-table th {
    color: #94a3b8 !important;
    border-color: #334155 !important;
    background: #162033;
}

body.dark-mode .relance-table td {
    border-color: #334155;
    color: #cbd5e1;
}

body.dark-mode .relance-table td:nth-child(2) {
    color: #f1f5f9;
}

/* Relance - Onglets Email / Courrier */
body.dark-mode .channel-tab {
    color: #94a3b8;
}

body.dark-mode .channel-tab:hover {
    color: #cbd5e1;
    background: #1e293b;
}

body.dark-mode .channel-tab.active {
    color: #60a5fa;
    border-bottom-color: #60a5fa;
}

/* Prérelance - Badge échéance "Dans Xj" */
body.dark-mode .badge-echeance {
    color: #94a3b8;
}

body.dark-mode .badge-echeance.badge-info {
    color: #7dd3fc;
    font-weight: 600;
}

/* ============================================
   11. RELANCE - Browse
   ============================================ */

body.dark-mode .browse-sidebar {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .browse-sidebar .sidebar-item {
    color: #cbd5e1;
}

body.dark-mode .browse-sidebar .sidebar-item:hover {
    background: #334155;
}

body.dark-mode .browse-sidebar .sidebar-item.active {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .browse-main {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .browse-table th {
    background: #162033;
    color: #94a3b8;
    border-color: #334155;
}

body.dark-mode .browse-table tbody td {
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .browse-table tbody tr:nth-child(even) td {
    background: #162033;
}

body.dark-mode .browse-table tbody tr:hover td {
    background: #334155;
}

body.dark-mode .browse-search input {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

/* Status badges dans Browse */
body.dark-mode .status-a-relancer {
    background: #431407;
    color: #fb923c;
}

body.dark-mode .status-relance {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .status-paye {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .status-promesse {
    background: #422006;
    color: #fbbf24;
}

body.dark-mode .status-litige {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .status-valide {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .status-prerelance {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .status-non-echu {
    background: #334155;
    color: #94a3b8;
}

/* Batch action bar */
body.dark-mode .batch-action-bar {
    background: #1e293b;
    border-color: #334155;
}

/* History list in browse */
body.dark-mode .history-list-item {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .history-in-card {
    background: #162033;
    border-color: #334155;
}

/* ============================================
   12. RELANCE - Stats Panel
   ============================================ */

body.dark-mode .stats-panel-content {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .stat-kpi {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .stat-kpi .stat-value {
    color: #f1f5f9;
}

body.dark-mode .stat-kpi .stat-label {
    color: #94a3b8;
}

body.dark-mode .stat-relances .stat-value { color: #93c5fd; }
body.dark-mode .stat-promesses .stat-value { color: #fbbf24; }
body.dark-mode .stat-litiges .stat-value { color: #fca5a5; }
body.dark-mode .stat-payes .stat-value { color: #6ee7b7; }

body.dark-mode .stats-total {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .stats-total-value {
    color: #93c5fd;
}

body.dark-mode .btn-close-panel:hover {
    background: #334155;
}

/* Heatmap calendar - palette inversée (niveaux forts = clairs sur fond sombre) */
body.dark-mode .heatmap-level-0 { background: #2d3748; }
body.dark-mode .heatmap-level-1 { background: #164e63; }
body.dark-mode .heatmap-level-2 { background: #0369a1; }
body.dark-mode .heatmap-level-3 { background: #38bdf8; }
body.dark-mode .heatmap-level-4 { background: #bae6fd; }
body.dark-mode .heatmap-cell-today { outline-color: #60a5fa; }

/* ============================================
   13. RELANCE - Courrier
   ============================================ */

/* Le document A4 reste blanc (simulation papier) */

body.dark-mode .letter-type-btn {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .letter-type-btn:hover {
    background: #334155;
}

body.dark-mode .letter-type-btn.active {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

body.dark-mode .courrier-invoices th {
    background: #162033;
    border-color: #475569;
    color: #94a3b8;
}

body.dark-mode .courrier-invoices td {
    border-color: #475569;
}

body.dark-mode .courrier-invoices .total-row {
    background: #162033;
}

body.dark-mode .btn-download-pdf {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-download-pdf:hover {
    background: #334155;
}

body.dark-mode .courrier-date {
    color: #94a3b8;
}

body.dark-mode .courrier-legal {
    color: #94a3b8;
    border-color: #334155;
}

/* ============================================
   14. PRÉVISIONS
   ============================================ */

body.dark-mode .tresorerie-depart-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .tresorerie-input-wrapper {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .tresorerie-input-wrapper input {
    color: #f1f5f9;
    background: transparent;
}

body.dark-mode .plan-chart-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .plan-table-wrapper {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .plan-table thead {
    background: #0f172a;
}

body.dark-mode .plan-table th {
    color: #94a3b8;
    border-color: #334155;
    background: #162033;
}

body.dark-mode .plan-table th.period-header {
    color: #cbd5e1;
    background: #162033;
}

body.dark-mode .plan-table td {
    background: #1e293b;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .cell-input {
    background: #0f172a;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .cell-input:hover {
    background: #1e293b;
}

body.dark-mode .cell-auto {
    background: #162033;
    color: #94a3b8;
}

body.dark-mode .total-row td {
    background: #162033;
    border-color: #334155;
    font-weight: 700;
}


body.dark-mode .section-row td {
    border-color: #334155;
}

/* === PRÉVISIONS — Lignes de résumé : style Bloomberg/terminal (fond neutre, couleur par le texte) === */

body.dark-mode .solde-initial-row {
    background: transparent;
}

body.dark-mode .solde-initial-row td {
    background: #162033;
    border-bottom: 1px solid rgba(96, 165, 250, 0.15);
}

body.dark-mode .tresorerie-depart-cell {
    background: #1e3a5f !important;
    box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.5);
}

body.dark-mode .tresorerie-depart-input {
    color: #93c5fd;
}

body.dark-mode .encaissements-section td {
    background: #1e293b;
    color: #34d399;
}

body.dark-mode .decaissements-section td {
    background: #1e293b;
    color: #f87171;
}

body.dark-mode .variation-row {
    background: transparent;
}

body.dark-mode .variation-row td {
    background: #162033;
    border-top: 1px solid rgba(251, 191, 36, 0.12);
}

body.dark-mode .solde-row {
    background: transparent;
}

body.dark-mode .solde-row td {
    background: #162033;
    border-top: 1px solid rgba(96, 165, 250, 0.2);
}

/* Prévisions - Modals */
body.dark-mode .poste-modal {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .poste-modal input,
body.dark-mode .poste-modal select {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .poste-modal-header {
    border-color: #334155;
}

body.dark-mode .poste-modal-header h3 {
    color: #f1f5f9;
}

body.dark-mode .tresorerie-depart-card label {
    color: #f1f5f9;
}

body.dark-mode .poste-modal-close:hover {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .poste-modal-footer {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .poste-modal-footer .btn-secondary {
    background: #334155;
    border-color: #475569;
    color: #94a3b8;
}

body.dark-mode .poste-modal-footer .btn-secondary:hover {
    background: #475569;
    color: #f1f5f9;
}

body.dark-mode .poste-modal-footer .btn-danger-outline {
    background: transparent;
    color: #94a3b8;
    border-color: #334155;
}

body.dark-mode .poste-modal-footer .btn-danger-outline:hover {
    background: rgba(127, 29, 29, 0.15);
    color: #fca5a5;
    border-color: #7f1d1d;
}

body.dark-mode .detail-modal {
    background: #1e293b;
    color: #f1f5f9;
}

body.dark-mode .detail-modal-header {
    border-color: #334155;
}

body.dark-mode .detail-table thead {
    background: #162033;
}

body.dark-mode .detail-table th {
    background: #162033;
    color: #94a3b8 !important;
    border-color: #334155 !important;
}

body.dark-mode .detail-table td {
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .detail-period-badge {
    background: #334155;
    color: #cbd5e1;
}

body.dark-mode .detail-total {
    background: #162033;
    border-color: #334155;
    color: #f1f5f9;
}

/* Detail modal — éléments manquants */
body.dark-mode .detail-modal-header h3 { color: #f1f5f9; }
body.dark-mode .detail-table-wrapper { border-color: #334155; }
body.dark-mode .detail-modal-close:hover { background: #334155; color: #f1f5f9; }
body.dark-mode .detail-hint { color: #94a3b8; }
body.dark-mode .detail-header-row { border-color: #334155; }
body.dark-mode .facture-checkbox .checkmark { background: #162033; border-color: #475569; }
body.dark-mode .facture-checkbox:hover .checkmark { border-color: #60a5fa; }
body.dark-mode .client-name { color: #f1f5f9; }
body.dark-mode .numero-cell { color: #94a3b8; }
body.dark-mode .date-cell { color: #94a3b8; }

body.dark-mode .save-indicator.saved {
    color: #94a3b8;
    background: #334155;
}

body.dark-mode .type-badge {
    background: #334155;
    color: #cbd5e1;
}

/* Prévisions - KPI cards */
body.dark-mode .chart-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .kpi-prevision {
    background: linear-gradient(135deg, #064e3b 0%, #065f46 100%);
    color: #6ee7b7;
}

body.dark-mode .kpi-charges {
    background: linear-gradient(135deg, #4c1d1d 0%, #7f1d1d 100%);
    color: #fca5a5;
}

body.dark-mode .week-block-wrapper {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .week-header {
    background: #162033;
}

body.dark-mode .detail-item:hover {
    background: #334155;
}

/* ============================================
   15. CONFIGURATION / MES MODÈLES
   ============================================ */

body.dark-mode .template-grid-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .templates-list-section {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .editor-panel {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .template-card {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .template-card:hover {
    background: #1e293b;
    border-color: #475569;
}

body.dark-mode .template-card.active {
    background: #1e3a5f;
    border-color: #3b82f6;
}

body.dark-mode .template-name-input {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .template-name-input:focus {
    background: #1e293b;
}

/* Variables panel */
body.dark-mode .variables-panel {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .variable-btn {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .variable-btn:hover {
    background: #334155;
    color: #f1f5f9;
}

/* Preview */
body.dark-mode .preview-panel {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .preview-header {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .preview-email {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .preview-subject {
    color: #f1f5f9;
}

body.dark-mode .preview-body {
    color: #cbd5e1;
}

body.dark-mode .preview-footer {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .empty-editor-state {
    background: #1e293b;
    border-color: #334155;
    color: #94a3b8;
}

/* Boutons d'action cartes templates (dark mode) */
body.dark-mode .template-grid-card .card-action-btn.btn-secondary {
    background: transparent;
    border-color: #334155;
    color: #cbd5e1;
}

body.dark-mode .template-grid-card .card-action-btn.btn-secondary:hover {
    background: #334155;
    border-color: #475569;
    color: #f1f5f9;
}

body.dark-mode .template-grid-card .card-action-btn.btn-primary {
    background: #1e40af;
    border-color: #1e40af;
    color: #ffffff;
}

body.dark-mode .template-grid-card .card-action-btn.btn-primary:hover {
    background: #2563eb;
    border-color: #2563eb;
}

/* Kebab menu */
body.dark-mode .btn-kebab {
    color: #64748b;
}

body.dark-mode .btn-kebab:hover {
    background: #334155;
    border-color: #475569;
    color: #f1f5f9;
}

body.dark-mode .kebab-dropdown {
    background: #1e293b;
    border-color: #334155;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

body.dark-mode .kebab-item {
    color: #cbd5e1;
}

body.dark-mode .kebab-item:hover {
    background: #334155;
}

body.dark-mode .kebab-divider {
    background: #334155;
}

body.dark-mode .kebab-item-danger {
    color: #fca5a5;
}

body.dark-mode .kebab-item-danger:hover {
    background: rgba(220, 38, 38, 0.15);
}

/* Preview courrier : overrides couleurs inline hardcodées */
body.dark-mode #preview-body table th,
body.dark-mode #preview-body table td {
    border-color: #334155 !important;
    color: #cbd5e1 !important;
    background: #1e293b !important;
}

body.dark-mode #preview-body table thead tr th {
    background: #334155 !important;
    color: #f1f5f9 !important;
}

body.dark-mode #preview-body table tbody tr:last-child td {
    background: #162033 !important;
}

body.dark-mode #preview-body hr {
    border-color: #334155 !important;
}

/* Badges catégorie */
body.dark-mode .badge-relance {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .badge-prerelance {
    background: #134e4a;
    color: #5eead4;
}

body.dark-mode .badge-courrier {
    background: #422006;
    color: #fbbf24;
}

body.dark-mode .template-badge-default {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .template-badge-system {
    background: #334155;
    color: #94a3b8;
}

/* Toast */
body.dark-mode .toast {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

/* ============================================
   16. PROFIL
   ============================================ */

body.dark-mode .profile-section {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .profile-section-danger {
    border-color: #7f1d1d;
}

body.dark-mode .section-header {
    background: #1e293b;
    color: #f1f5f9;
}

body.dark-mode .section-header:hover {
    background: #162033;
}

/* Annule le hover sur les divs section-header dans le plan-table (prévisions) */
body.dark-mode .plan-table .section-header:hover {
    background: transparent;
}

body.dark-mode .form-input {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .form-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

body.dark-mode .btn-secondary {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-secondary:hover {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .badge-active {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .badge-expired {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .badge-trial {
    background: #451a03;
    color: #fcd34d;
}

body.dark-mode .alert-success {
    background: #064e3b;
    color: #6ee7b7;
    border-color: #059669;
}

body.dark-mode .alert-error {
    background: #4c1d1d;
    color: #fca5a5;
    border-color: #dc2626;
}

body.dark-mode .alert-info {
    background: #1e3a5f;
    color: #93c5fd;
    border-color: #3b82f6;
}

body.dark-mode .alert-warning {
    background: #422006;
    color: #fbbf24;
    border-color: #d97706;
}

body.dark-mode .alert-warning svg {
    color: #fbbf24;
}

body.dark-mode .confirmation-box {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .btn-export {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-export:hover {
    background: #334155;
}

body.dark-mode .top-bar-link {
    color: #94a3b8;
}

body.dark-mode .toggle-slider {
    background-color: #475569;
}

body.dark-mode .toggle-slider:before {
    background-color: #f1f5f9;
}

body.dark-mode .notification-item {
    border-color: #334155;
}

body.dark-mode .data-info-box {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .btn-cancel-pending {
    border-color: #d97706;
    color: #fbbf24;
}

body.dark-mode .btn-cancel-pending:hover {
    background: rgba(217, 119, 6, 0.15);
}

/* ============================================
   17. PRICING
   ============================================ */

body.dark-mode .pricing-page {
    background:
        radial-gradient(circle at 20% 20%, rgba(59, 130, 246, 0.05) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(30, 64, 175, 0.05) 0%, transparent 50%),
        #0f172a;
}

body.dark-mode .plan-features li::before {
    background: linear-gradient(135deg, #064e3b 0%, #065f46 100%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236ee7b7'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-size: 12px 12px;
    background-position: center;
    background-repeat: no-repeat;
}

body.dark-mode .pricing-card.featured .plan-features li::before {
    background: linear-gradient(135deg, #1e3a5f 0%, #1e3a8a 100%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2393c5fd'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z' clip-rule='evenodd'/%3E%3C/svg%3E");
    background-size: 12px 12px;
    background-position: center;
    background-repeat: no-repeat;
}

/* ============================================
   18. MODALS
   ============================================ */

body.dark-mode .modal-card {
    background: #1e293b;
    border: 1px solid #334155;
    color: #f1f5f9;
}

body.dark-mode .modal-header h2 {
    color: #f1f5f9;
}

body.dark-mode .modal-header p {
    color: #94a3b8;
}

body.dark-mode .close-modal {
    color: #64748b;
}

body.dark-mode .close-modal:hover {
    color: #f1f5f9;
}

body.dark-mode .form-label {
    color: #cbd5e1;
}

body.dark-mode .optional-columns-separator {
    border-top-color: #334155;
}

body.dark-mode .optional-columns-hint {
    color: #94a3b8;
}

body.dark-mode .text-optional {
    color: #64748b;
}

body.dark-mode .input-select {
    background-color: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .email-preview {
    background: #162033;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .modal-footer {
    border-color: #334155;
}

/* Upgrade modal */
body.dark-mode .upgrade-modal h2 {
    color: #f1f5f9;
}

body.dark-mode .upgrade-modal .subtitle {
    color: #94a3b8;
}

body.dark-mode .upgrade-quota-info {
    background: #422006;
    border-color: #d97706;
    color: #fbbf24;
}

body.dark-mode .upgrade-quota-info strong {
    color: #fde68a;
}

body.dark-mode .upgrade-features li {
    color: #cbd5e1;
}

body.dark-mode .btn-upgrade-secondary {
    border-color: #475569;
    color: #94a3b8;
}

body.dark-mode .btn-upgrade-secondary:hover {
    background: #334155;
    border-color: #64748b;
    color: #f1f5f9;
}

/* Welcome Pro modal */
body.dark-mode .welcome-pro-modal h2 {
    background: linear-gradient(135deg, #f1f5f9 0%, #cbd5e1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

body.dark-mode .welcome-pro-modal .welcome-subtitle {
    color: #94a3b8;
}

body.dark-mode .welcome-feature-item {
    background: #162033;
    border-color: #334155;
}

body.dark-mode .welcome-feature-item:hover {
    background: #1e293b;
    border-color: #3b82f6;
}

body.dark-mode .welcome-feature-text {
    color: #cbd5e1;
}

/* Modal button secondary (in modal.css) */
body.dark-mode .modal-card .btn-secondary,
body.dark-mode .modal-footer .btn-secondary {
    background: #162033;
    color: #94a3b8;
    border-color: #475569;
}

body.dark-mode .modal-card .btn-secondary:hover,
body.dark-mode .modal-footer .btn-secondary:hover {
    background: #334155;
    color: #f1f5f9;
}

/* Modal suppression confirmation (.modal-content de editor.css) */
body.dark-mode .modal-content {
    background: #1e293b;
    border: 1px solid #334155;
}

body.dark-mode .modal-content h3 {
    color: #f1f5f9;
}

body.dark-mode .modal-content p {
    color: #94a3b8;
}

body.dark-mode .modal-content .btn-secondary {
    background: #162033;
    color: #94a3b8;
    border-color: #475569;
}

body.dark-mode .modal-content .btn-secondary:hover {
    background: #334155;
    color: #f1f5f9;
}

/* ============================================
   19. PARAMÈTRES (migré depuis parametres.css)
   ============================================ */

body.dark-mode .param-card {
    background: #1e293b;
    border-color: #334155;
}

body.dark-mode .param-textarea {
    background: #0f172a;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .param-select,
body.dark-mode .param-input {
    background: #0f172a;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .param-icon {
    background: #334155;
}

/* ============================================
   20. HISTORIQUE
   ============================================ */

body.dark-mode .historique-table,
body.dark-mode .history-table {
    background: #1e293b;
}

body.dark-mode .historique-table th,
body.dark-mode .history-table th {
    background: #162033;
    color: #94a3b8;
    border-color: #334155;
}

body.dark-mode .historique-table td,
body.dark-mode .history-table td {
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .historique-table tr:nth-child(even) td,
body.dark-mode .history-table tr:nth-child(even) td {
    background: #162033;
}

body.dark-mode .historique-table tr:hover td,
body.dark-mode .history-table tr:hover td {
    background: #334155;
}

body.dark-mode .btn-excel {
    background: #064e3b;
    color: #6ee7b7;
    border-color: #059669;
}

body.dark-mode .btn-pdf {
    background: #4c1d1d;
    color: #fca5a5;
    border-color: #dc2626;
}

body.dark-mode .btn-voir,
body.dark-mode .btn-view {
    background: #1e293b;
    color: #cbd5e1;
    border-color: #334155;
}

body.dark-mode .btn-voir:hover,
body.dark-mode .btn-view:hover {
    background: #334155;
}

/* Table historique */
body.dark-mode .table-historique th {
    background: #162033;
    color: #94a3b8;
    border-color: #334155;
}

body.dark-mode .table-historique td {
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .table-historique tr:nth-child(even) td {
    background: #162033;
}

body.dark-mode .table-historique tr:hover td {
    background: #334155;
}

/* Export buttons (historique) */
body.dark-mode .btn-export-csv {
    background: transparent;
    border-color: #10b981;
    color: #6ee7b7;
}

body.dark-mode .btn-export-csv:hover {
    background: #10b981;
    color: white;
}

body.dark-mode .btn-export-pdf {
    background: transparent;
    border-color: #dc2626;
    color: #fca5a5;
}

body.dark-mode .btn-export-pdf:hover {
    background: #dc2626;
    color: white;
}

/* ============================================
   21. PRÉRELANCE - Spécifique
   ============================================ */

body.dark-mode .prerelance-inbox-zero {
    background: #1e293b;
    border-color: #334155;
}

/* ============================================
   22. ONBOARDING
   ============================================ */

body.dark-mode .introjs-tooltip {
    background: #1e293b;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .introjs-tooltiptext {
    color: #cbd5e1;
}

body.dark-mode .introjs-tooltip-title {
    color: #e2e8f0;
}

body.dark-mode .introjs-tooltiptext .intro-link {
    color: #93c5fd;
}

/* ============================================
   23. DIVERS - ÉLÉMENTS TRANSVERSAUX
   ============================================ */

/* Tous les inputs/textareas/selects génériques */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="password"],
body.dark-mode input[type="number"],
body.dark-mode input[type="date"],
body.dark-mode input[type="search"],
body.dark-mode textarea,
body.dark-mode select {
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder {
    color: #64748b;
}

/* Fintech-polish save indicator */
body.dark-mode .parametres-save-indicator {
    background: #064e3b;
    color: #6ee7b7;
}

/* Progress bar (relance header) */
body.dark-mode .progress-bar-wrapper {
    background: #334155;
}

body.dark-mode .progress-text {
    color: #94a3b8;
}

body.dark-mode .progress-indicator {
    background: linear-gradient(135deg, #1e293b 0%, #162033 100%);
}

/* Browse navigation items (fintech) */
body.dark-mode .browse-nav-item {
    color: #94a3b8;
}

body.dark-mode .browse-nav-item:hover {
    background: #334155;
    color: #f1f5f9;
}

body.dark-mode .browse-nav-item.active {
    background: #1e3a5f;
    color: #93c5fd;
}

body.dark-mode .nav-badge {
    background: #334155;
    color: #94a3b8;
}

body.dark-mode .browse-nav-item.active .nav-badge {
    background: #1e3a8a;
    color: #ffffff;
}

body.dark-mode .nav-section-label {
    color: #64748b;
}

/* Browse header & search (fintech) */
body.dark-mode .browse-header {
    border-color: #334155;
}

body.dark-mode .browse-header h3 {
    color: #f1f5f9;
}

/* Client name & badge dette (fintech) */
body.dark-mode .client-name {
    color: #f1f5f9;
}

body.dark-mode .badge-dette {
    background: #4c1d1d;
    border-color: #7f1d1d;
    color: #fca5a5;
}

/* Back flux button */
body.dark-mode .btn-back-flux {
    border-color: #475569;
    color: #cbd5e1;
}

body.dark-mode .btn-back-flux:hover {
    background: #334155;
    border-color: #3b82f6;
    color: #93c5fd;
}

/* Prevision fintech: row backgrounds */
body.dark-mode .category-row td {
    background: #1e293b;
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .category-row:hover {
    background: #162033 !important;
}

body.dark-mode .category-row:hover td,
body.dark-mode .plan-table tbody tr:not(.section-header-row):not(.total-row):not(.add-row):not(.result-row):not(.spacer-row):not(.solde-initial-row) td:hover {
    background: #162033 !important;
}

body.dark-mode .detail-table tbody tr:hover td {
    background: #162033 !important;
}

body.dark-mode .category-label {
    color: #f1f5f9;
}

body.dark-mode .auto-badge {
    color: #94a3b8;
    background: #334155;
}

/* Prévisions - Type badges modal (encaissements/décaissements) */
body.dark-mode .type-badge.encaissements {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .type-badge.decaissements {
    background: #4c1d1d;
    color: #fca5a5;
}

/* Prévisions - Séparateur entre factures dans tiroir dépliant */
body.dark-mode .detail-table tbody tr {
    border-bottom-color: #334155;
}

body.dark-mode .cell-focused {
    background: #1e3a5f !important;
}

body.dark-mode .cell-auto.clickable {
    color: #60a5fa;
}

body.dark-mode .cell-auto.clickable:hover {
    background: #334155;
}

body.dark-mode .total-encaissements .total-cell {
    background: #064e3b;
    color: #6ee7b7;
}

body.dark-mode .total-decaissements .total-cell {
    background: #4c1d1d;
    color: #fca5a5;
}

body.dark-mode .btn-add-category {
    color: #64748b;
    border-color: #475569;
}

body.dark-mode .btn-add-category:hover {
    color: #93c5fd;
    border-color: #3b82f6;
    background: #162033;
}

body.dark-mode .spacer-row td {
    background: #1e293b;
}

body.dark-mode .solde-label,
body.dark-mode .solde-cell {
    color: #f1f5f9;
}

body.dark-mode .solde-initial-label,
body.dark-mode .solde-initial-cell {
    color: #93c5fd;
}

/* Totaux encaissements — vert pastel */
body.dark-mode .total-encaissements td,
body.dark-mode .total-encaissements .total-label,
body.dark-mode .total-encaissements .total-cell {
    color: #34d399;
}

/* Totaux décaissements — rose pastel */
body.dark-mode .total-decaissements td,
body.dark-mode .total-decaissements .total-label,
body.dark-mode .total-decaissements .total-cell {
    color: #f87171;
}

/* Solde de trésorerie — bleu pastel */
body.dark-mode .solde-row .result-label,
body.dark-mode .solde-row .solde-cell {
    color: #93c5fd;
}

/* Variation — couleur selon signe (déjà gérée), label neutre */
body.dark-mode .variation-row .result-label {
    color: #94a3b8;
}

/* En-têtes de section ENCAISSEMENTS / DÉCAISSEMENTS */
body.dark-mode .encaissements-header {
    color: #34d399;
}

body.dark-mode .decaissements-header {
    color: #f87171;
}

body.dark-mode .currency-suffix {
    color: #64748b;
}

/* Prevision edit/delete buttons */
body.dark-mode .edit-label-btn,
body.dark-mode .delete-label-btn {
    color: #64748b;
}

body.dark-mode .edit-label-btn:hover,
body.dark-mode .delete-label-btn:hover {
    color: #f1f5f9;
    background: #334155;
}

/* Prevision detail modal totals */
body.dark-mode .detail-total .total-label,
body.dark-mode .detail-total .total-value {
    color: #6ee7b7;
}

/* Promesse badge */
body.dark-mode .promesse-badge {
    background: #422006;
    color: #fbbf24;
}

/* Configuration: heading colors */
body.dark-mode .templates-header h2 {
    color: #f1f5f9;
}

body.dark-mode .template-grid-card h3 {
    color: #f1f5f9;
}

body.dark-mode .template-grid-card .template-preview {
    color: #94a3b8;
}

body.dark-mode .variables-panel h3 {
    color: #f1f5f9;
}

body.dark-mode .preview-header h3 {
    color: #f1f5f9;
}

body.dark-mode .variable-key {
    color: #60a5fa;
}

body.dark-mode .variable-label {
    color: #94a3b8;
}

/* Form group labels (configuration fintech) */
body.dark-mode .form-group label {
    color: #cbd5e1;
}

body.dark-mode .input-text,
body.dark-mode .input-textarea {
    background: #162033;
    color: #f1f5f9;
    border-color: #334155;
}

body.dark-mode .input-text:focus,
body.dark-mode .input-textarea:focus {
    border-color: #3b82f6;
}

/* Text buttons */
body.dark-mode .btn-text {
    color: #60a5fa;
}

body.dark-mode .btn-text:hover {
    background: #1e3a5f;
}

body.dark-mode .btn-text-danger {
    color: #fca5a5;
}

body.dark-mode .btn-text-danger:hover {
    background: transparent;
}

/* ============================================
   DANGER BUTTONS — Style fintech ghost (dark mode)
   Remplace les rouges vifs par un ghost sobre
   ============================================ */

body.dark-mode .btn-danger {
    background: transparent;
    color: #fca5a5;
    border: 1px solid #4c1d1d;
    box-shadow: none;
}

body.dark-mode .btn-danger:hover {
    background: rgba(127, 29, 29, 0.2);
    border-color: #7f1d1d;
    color: #fca5a5;
    transform: none;
    box-shadow: none;
}

body.dark-mode .btn-danger:active {
    transform: scale(0.98);
}

body.dark-mode .btn-danger-outline {
    background: transparent;
    color: #94a3b8;
    border-color: #334155;
    box-shadow: none;
}

body.dark-mode .btn-danger-outline:hover {
    background: rgba(127, 29, 29, 0.15);
    color: #fca5a5;
    border-color: #7f1d1d;
}

/* Stats panel fintech headings */
body.dark-mode .stats-panel-header {
    border-color: #334155;
}

body.dark-mode .stats-panel-header h3 {
    color: #f1f5f9;
}

body.dark-mode .stats-today h4,
body.dark-mode .stats-history h4 {
    color: #64748b;
}

body.dark-mode .stats-totals-row {
    border-color: #334155;
}

body.dark-mode .stat-kpi .stat-amount {
    color: #64748b;
}

/* Loading spinner */
body.dark-mode .loading .spinner {
    border-color: #334155;
    border-top-color: #3b82f6;
}

/* Facture checkbox */
body.dark-mode .facture-checkbox .checkmark {
    background: #162033;
    border-color: #475569;
}

/* Row excluded (prevision detail) */
body.dark-mode .detail-table tbody tr.row-excluded {
    background: #162033;
    opacity: 0.6;
}

/* Retard non-echu text color */
body.dark-mode .retard-non-echu {
    color: #64748b;
}

/* Dashboard card headings (fintech) */
body.dark-mode .dashboard-card h3 {
    color: #f1f5f9;
}

body.dark-mode .dashboard-card p {
    color: #94a3b8;
}

/* Empty state in table */
body.dark-mode .table-dashboard tbody tr.empty-state td {
    color: #64748b;
}

/* ============================================
   COURRIER A4 - Dark mode on screen
   (PDF generation uses server-side rendering,
    so these styles don't affect downloads)
   ============================================ */

body.dark-mode .courrier-a4 {
    background: #1e293b;
    color: #f1f5f9;
    border-color: #334155;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
}

body.dark-mode .courrier-section[contenteditable="true"]:hover {
    background: rgba(148, 163, 184, 0.06);
}

body.dark-mode .courrier-section[contenteditable="true"]:focus {
    background: rgba(148, 163, 184, 0.1);
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.15);
}

body.dark-mode .courrier-section[contenteditable="true"]:empty::before {
    color: #64748b;
}

body.dark-mode .courrier-date {
    color: #94a3b8;
}

body.dark-mode .courrier-invoices th {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}

body.dark-mode .courrier-invoices td {
    border-color: #334155;
    color: #f1f5f9;
}

body.dark-mode .courrier-invoices .total-row {
    background: #162033;
}

body.dark-mode .courrier-legal {
    color: #64748b;
    border-color: #334155;
}

body.dark-mode .courrier-a4-wrapper {
    background: transparent;
}

/* Letter type buttons */
body.dark-mode .letter-type-btn {
    background: #162033;
    border-color: #334155;
    color: #cbd5e1;
}

body.dark-mode .letter-type-btn:hover {
    border-color: #475569;
    color: #f1f5f9;
}

body.dark-mode .letter-type-btn.active {
    background: #1e3a5f;
    border-color: #3b82f6;
    color: #93c5fd;
}

/* PDF download button */
body.dark-mode .btn-download-pdf {
    background: #162033;
    color: #93c5fd;
    border-color: #3b82f6;
}

body.dark-mode .btn-download-pdf:hover {
    background: #1e3a5f;
}
