/**
 * BibManager Suite - Unified Theme System
 * Harmonized Dark/Light mode for all templates
 */

/* ========== CSS VARIABLES ========== */
:root {
    /* Light Mode Colors - Soft grays instead of pure white */
    --bm-light-bg: #f1f5f9;           /* Gris très clair (au lieu de #f8fafc) */
    --bm-light-bg-secondary: #f8fafc; /* Gris clair (au lieu de #ffffff) */
    --bm-light-text: #1e293b;
    --bm-light-text-muted: #64748b;
    --bm-light-border: #e2e8f0;

    /* Dark Mode Colors - Soft grays for comfort */
    --bm-dark-bg: #0f172a;
    --bm-dark-bg-secondary: #1e293b;
    --bm-dark-bg-tertiary: #334155;
    --bm-dark-text: #e2e8f0;
    --bm-dark-text-secondary: #cbd5e1;
    --bm-dark-text-muted: #94a3b8;
    --bm-dark-border: #334155;

    /* Brand Colors */
    --bm-primary: #3b82f6;
    --bm-primary-dark: #2563eb;
    --bm-accent: #4dd0e1;

    /* Navbar Gradients */
    --bm-navbar-light: linear-gradient(90deg, #0f172a, #1e40af);
    --bm-navbar-dark: linear-gradient(90deg, #1e293b, #1e40af);
}

/* ========== LIGHT MODE ========== */
html[data-theme="light"] body {
    background-color: var(--bm-light-bg);
    color: var(--bm-light-text);
}

html[data-theme="light"] .card,
html[data-theme="light"] .lab-card {
    background-color: var(--bm-light-bg-secondary);
    border-color: var(--bm-light-border);
    color: var(--bm-light-text);
}

html[data-theme="light"] .text-muted {
    color: var(--bm-light-text-muted) !important;
}

html[data-theme="light"] .bm-navbar,
html[data-theme="light"] .lab-navbar {
    background: var(--bm-navbar-light);
    border-bottom: 1px solid rgba(100, 116, 139, 0.2);
}

/* ========== DARK MODE ========== */
html[data-theme="dark"] body {
    background-color: var(--bm-dark-bg);
    color: var(--bm-dark-text);
}

/* Cards in dark mode - soft gray instead of pure white */
html[data-theme="dark"] .card,
html[data-theme="dark"] .lab-card {
    background-color: var(--bm-dark-bg-secondary) !important;
    border-color: var(--bm-dark-border) !important;
    color: var(--bm-dark-text) !important;
}

/* Headings - soft gray instead of white */
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] .h1,
html[data-theme="dark"] .h2,
html[data-theme="dark"] .h3,
html[data-theme="dark"] .h4,
html[data-theme="dark"] .h5,
html[data-theme="dark"] .h6 {
    color: var(--bm-dark-text) !important;
}

/* Text colors - use soft grays */
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] .small.text-muted {
    color: var(--bm-dark-text-muted) !important;
}

html[data-theme="dark"] .text-secondary {
    color: var(--bm-dark-text-secondary) !important;
}

html[data-theme="dark"] .lead {
    color: var(--bm-dark-text-secondary) !important;
}

/* Navbar in dark mode */
html[data-theme="dark"] .bm-navbar,
html[data-theme="dark"] .lab-navbar {
    background: var(--bm-navbar-dark);
    border-bottom: 1px solid var(--bm-dark-border);
}

html[data-theme="dark"] .bm-navbar .navbar-brand,
html[data-theme="dark"] .bm-navbar .navbar-brand span,
html[data-theme="dark"] .lab-navbar .navbar-brand,
html[data-theme="dark"] .lab-navbar .navbar-brand span {
    color: #ffffff !important;
}

html[data-theme="dark"] .bm-navbar .nav-link,
html[data-theme="dark"] .lab-navbar .nav-link {
    color: #ffffff !important;
}

html[data-theme="dark"] .bm-navbar .nav-link:hover,
html[data-theme="dark"] .lab-navbar .nav-link:hover {
    color: #ffffff !important;
}

/* List groups */
html[data-theme="dark"] .list-group-item {
    background-color: var(--bm-dark-bg-secondary) !important;
    border-color: var(--bm-dark-border) !important;
    color: var(--bm-dark-text) !important;
}

/* Buttons */
html[data-theme="dark"] .btn-outline-secondary {
    border-color: var(--bm-dark-border);
    color: var(--bm-dark-text-secondary);
}

html[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: var(--bm-dark-bg-tertiary);
    color: var(--bm-dark-text);
}

/* Forms */
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select {
    background-color: var(--bm-dark-bg-secondary);
    border-color: var(--bm-dark-border);
    color: var(--bm-dark-text);
}

html[data-theme="dark"] .form-control:focus,
html[data-theme="dark"] .form-select:focus {
    background-color: var(--bm-dark-bg-secondary);
    border-color: var(--bm-primary);
    color: var(--bm-dark-text);
}

html[data-theme="dark"] .form-label,
html[data-theme="dark"] label {
    color: var(--bm-dark-text-secondary);
}

/* Tables */
html[data-theme="dark"] .table {
    color: var(--bm-dark-text);
    border-color: var(--bm-dark-border);
}

html[data-theme="dark"] .table thead th {
    background-color: var(--bm-dark-bg-tertiary);
    color: var(--bm-dark-text);
    border-color: var(--bm-dark-border);
}

html[data-theme="dark"] .table tbody tr {
    background-color: var(--bm-dark-bg-secondary);
    border-color: var(--bm-dark-border);
}

html[data-theme="dark"] .table tbody tr:hover {
    background-color: var(--bm-dark-bg-tertiary);
}

/* Modals */
html[data-theme="dark"] .modal-content {
    background-color: var(--bm-dark-bg-secondary);
    border-color: var(--bm-dark-border);
    color: var(--bm-dark-text);
}

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

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

/* Alerts */
html[data-theme="dark"] .alert {
    border-color: var(--bm-dark-border);
}

/* Footer */
html[data-theme="dark"] .bm-footer {
    background-color: var(--bm-dark-bg);
    border-top: 1px solid var(--bm-dark-border);
    color: var(--bm-dark-text-muted);
}

html[data-theme="dark"] .bm-footer a {
    color: var(--bm-dark-text-muted);
}

html[data-theme="dark"] .bm-footer a:hover {
    color: var(--bm-dark-text);
}

/* Sidebar (for dashboards) */
html[data-theme="dark"] .bm-sidebar {
    background-color: var(--bm-dark-bg-secondary);
    border-right: 1px solid var(--bm-dark-border);
}

html[data-theme="dark"] .bm-sidebar a {
    color: var(--bm-dark-text-secondary);
}

html[data-theme="dark"] .bm-sidebar a:hover,
html[data-theme="dark"] .bm-sidebar a.active {
    color: var(--bm-dark-text);
    background-color: var(--bm-dark-bg-tertiary);
}

/* Badges */
html[data-theme="dark"] .badge {
    background-color: var(--bm-dark-bg-tertiary);
    color: var(--bm-dark-text);
}

/* Dropdowns */
html[data-theme="dark"] .dropdown-menu {
    background-color: var(--bm-dark-bg-secondary);
    border-color: var(--bm-dark-border);
}

html[data-theme="dark"] .dropdown-item {
    color: var(--bm-dark-text-secondary);
}

html[data-theme="dark"] .dropdown-item:hover {
    background-color: var(--bm-dark-bg-tertiary);
    color: var(--bm-dark-text);
}

/* Breadcrumbs */
html[data-theme="dark"] .breadcrumb {
    background-color: transparent;
}

html[data-theme="dark"] .breadcrumb-item,
html[data-theme="dark"] .breadcrumb-item a {
    color: var(--bm-dark-text-muted);
}

html[data-theme="dark"] .breadcrumb-item.active {
    color: var(--bm-dark-text);
}
