/* ==========================================================================
   WEEGOSOFT MANAGER (WSM) — PREMIUM DARK MODE (Obsidian & Slate Theme)
   ========================================================================== */

body.dark-mode,
html.system-dark-mode body,
body.theme-dark {
    background-color: #0f172a !important; /* Deep Obsidian Slate */
    color: #f8fafc !important;          /* Slate 50 High Contrast Text */
}

/* NAVBAR & HEADER */
.dark-mode .navbar,
.dark-mode .header,
.dark-mode .navbar-top {
    background-color: #0f172a !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .navbar-light .navbar-brand,
.dark-mode .navbar-light .navbar-nav .nav-link {
    color: #f8fafc !important;
}

.dark-mode .navbar-light .navbar-nav .nav-link:hover {
    color: var(--primary) !important;
}

/* CARDS & CONTAINERS */
.dark-mode .card,
.dark-mode .settings-card,
.dark-mode .card-body,
.dark-mode .card-header,
.dark-mode .card-footer,
.dark-mode .settings-section-header,
.dark-mode .modal-content,
.dark-mode .dropdown-menu {
    background-color: #1e293b !important; /* Slate 800 Surface */
    color: #f8fafc !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .card {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.2) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .card-header,
.dark-mode .settings-section-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background-color: rgba(255, 255, 255, 0.02) !important;
    color: #f8fafc !important;
}

.dark-mode .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    background-color: rgba(0, 0, 0, 0.1) !important;
}

/* OVERRIDE GENERIC UTILITY CLASSES */
.dark-mode .bg-white,
.dark-mode .bg-light {
    background-color: #1e293b !important;
    color: #f8fafc !important;
}

.dark-mode .text-dark,
.dark-mode .text-body {
    color: #f8fafc !important;
}

.dark-mode .text-muted,
.dark-mode small.text-muted,
.dark-mode .settings-desc {
    color: #94a3b8 !important; /* Slate 400 - Clear Legibility */
}

/* FORM CONTROLS & INPUTS */
.dark-mode .form-control,
.dark-mode select.form-control,
.dark-mode textarea.form-control,
.dark-mode .custom-select,
.dark-mode .input-group-text {
    background-color: #0f172a !important;
    color: #f8fafc !important;
    border: 1px solid #334155 !important;
}

.dark-mode .form-control:focus,
.dark-mode select.form-control:focus,
.dark-mode textarea.form-control:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent) !important;
    background-color: #0f172a !important;
    color: #ffffff !important;
}

.dark-mode .form-control::placeholder {
    color: #64748b !important;
}

/* BUTTONS */
.dark-mode .btn-light {
    background-color: #334155 !important;
    color: #f8fafc !important;
    border-color: #475569 !important;
}

.dark-mode .btn-light:hover {
    background-color: #475569 !important;
    color: #ffffff !important;
    border-color: #64748b !important;
}

.dark-mode .btn-outline-secondary {
    border-color: #475569 !important;
    color: #94a3b8 !important;
}

.dark-mode .btn-outline-secondary:hover {
    background-color: #334155 !important;
    color: #ffffff !important;
}

/* LIST GROUPS */
.dark-mode .list-group,
.dark-mode .list-group-item {
    background-color: #1e293b !important;
    color: #f8fafc !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

.dark-mode .list-group-item.active {
    background-color: color-mix(in srgb, var(--primary) 20%, transparent) !important;
    border-color: var(--primary) !important;
    color: var(--primary) !important;
}

/* TABLES */
.dark-mode .table,
.dark-mode .table td,
.dark-mode .table th {
    color: #f8fafc !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .table thead th {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: #cbd5e1 !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.08) !important;
}

.dark-mode .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.dark-mode .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* MODALS & DROPDOWNS */
.dark-mode .modal-content,
.dark-mode .dropdown-menu {
    background-color: #1e293b !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.dark-mode .dropdown-item {
    color: #f8fafc !important;
}

.dark-mode .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
    color: var(--primary) !important;
}

/* BOTTOM NAVIGATION BAR */
body.dark-mode #navbarBottom,
.theme-dark #navbarBottom {
    background-color: #0f172a !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode #navbarBottom .nav-item .nav-link,
.theme-dark #navbarBottom .nav-item .nav-link {
    color: #94a3b8 !important;
}

body.dark-mode #navbarBottom .nav-item.active .nav-link,
.theme-dark #navbarBottom .nav-item.active .nav-link,
body.dark-mode #navbarBottom .nav-item .nav-link.active,
.theme-dark #navbarBottom .nav-item .nav-link.active {
    color: var(--primary) !important;
}

/* ALERTS & BADGES */
.dark-mode .alert {
    border-radius: 10px !important;
}

.dark-mode .alert-success {
    background-color: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: #34d399 !important;
}

.dark-mode .alert-danger {
    background-color: rgba(239, 68, 68, 0.15) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: #f87171 !important;
}

.dark-mode .alert-warning {
    background-color: rgba(245, 158, 11, 0.15) !important;
    border-color: rgba(245, 158, 11, 0.3) !important;
    color: #fbbf24 !important;
}

.dark-mode .alert-info {
    background-color: rgba(6, 182, 212, 0.15) !important;
    border-color: rgba(6, 182, 212, 0.3) !important;
    color: #38bdf8 !important;
}

/* CUSTOM ACCENT HIGHLIGHTS */
.dark-mode .border-bottom,
.dark-mode .border-top,
.dark-mode .border-left,
.dark-mode .border-right,
.dark-mode .border {
    border-color: rgba(255, 255, 255, 0.08) !important;
}
