/* =============================================================================
   File: templates/cseerp/css/darkmode.css
   Dark mode overrides — loaded via <link> in index.php
   ============================================================================= */

/* ── CSS variables ── */
[data-theme="dark"] {
    --primary-teal: #00C9B8;
    --primary-gold: #FCC763;
    --border-color: #555555;
    --hover-bg: #2a3a3a;
    --text-dark: #e0e0e0;
    --bg-main: #1a1a1a;
    --bg-secondary: #242424;
    --bg-table-head: #2a2a2a;
    --bg-table-stripe: #1e1e1e;
    --text-main: #e0e0e0;
    --border-table: #555555;
}

/* ── Body / background ── */
[data-theme="dark"] body {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .container-fluid,
[data-theme="dark"] .erp-container,
[data-theme="dark"] main {
    background-color: #1a1a1a !important;
}

[data-theme="dark"] footer {
    background-color: #1a1a1a !important;
    color: #aaa !important;
}

/* ── Headings ── */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
    color: #e0e0e0 !important;
}

[data-theme="dark"] h1 {
    border-bottom-color: #FCC763 !important;
}

/* ── Bootstrap table ── */
[data-theme="dark"] .table {
    color: #e0e0e0 !important;
    background-color: #1a1a1a !important;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: #242424 !important;
}

/* ── Table cells ── */
[data-theme="dark"] td,
[data-theme="dark"] th {
    background-color: inherit !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

[data-theme="dark"] thead th {
    background-color: #2a2a2a !important;
}

[data-theme="dark"] tbody tr:nth-of-type(odd) td {
    background-color: #1e1e1e !important;
}

[data-theme="dark"] tbody tr:nth-of-type(even) td {
    background-color: #1a1a1a !important;
}

[data-theme="dark"] tbody tr:hover td {
    background-color: #2a3a3a !important;
}

/* ── Cards / panels ── */
[data-theme="dark"] .card,
[data-theme="dark"] .card-body,
[data-theme="dark"] .card-header {
    background-color: #242424 !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

/* ── Modal ── */
[data-theme="dark"] .modal-content {
    background-color: #242424 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .modal-header,
[data-theme="dark"] .modal-footer {
    border-color: #555 !important;
}

/* ── Buttons ── */
[data-theme="dark"] .btn-primary {
    background-color: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .btn-primary:hover {
    background-color: #3a3a3a !important;
}

[data-theme="dark"] .btn-primary.active {
    background-color: #1a4a6e !important;
    border-color: #888 !important;
    color: #fff !important;
}

[data-theme="dark"] .btn-secondary {
    background-color: #3a3a3a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .btn-secondary:hover {
    background-color: #4a4a4a !important;
}

[data-theme="dark"] .btn-light {
    background-color: #3a3a3a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .btn-outline-secondary {
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #3a3a3a !important;
}

/* ── Dropdowns ── */
[data-theme="dark"] .dropdown-menu {
    background-color: #2a2a2a !important;
    border-color: #555 !important;
}

[data-theme="dark"] .dropdown-item {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: #3a3a3a !important;
    color: #fff !important;
}

[data-theme="dark"] .dropdown-divider {
    border-top-color: #555 !important;
}

/* ── Forms ── */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] select,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="search"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] textarea {
    background-color: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .input-group-text {
    background-color: #3a3a3a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

/* ── Navbar ── */
[data-theme="dark"] .cse-navbar .dropdown-menu {
    background-color: #1e1e1e !important;
}

[data-theme="dark"] .cse-navbar .dropdown-item {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .cse-navbar .dropdown-item:hover {
    background-color: #2a2a2a !important;
}

/* ── Nav tabs ── */
[data-theme="dark"] .nav-tabs {
    border-bottom-color: #555 !important;
}

[data-theme="dark"] .nav-tabs .nav-link {
    color: #aaa !important;
}

[data-theme="dark"] .nav-tabs .nav-link.active {
    background-color: transparent !important;
    border-bottom-color: #00C9B8 !important;
    color: #00C9B8 !important;
}

/* ── List group ── */
[data-theme="dark"] .list-group-item {
    background-color: #242424 !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

/* ── Badges ── */
[data-theme="dark"] .badge {
    color: #fff !important;
}

[data-theme="dark"] .badge-info {
    background-color: #0d6efd !important;
    color: #fff !important;
}

[data-theme="dark"] .badge-success {
    background-color: #198754 !important;
    color: #fff !important;
}

[data-theme="dark"] .badge-warning {
    background-color: #856404 !important;
    color: #fff !important;
}

[data-theme="dark"] .badge-danger {
    background-color: #842029 !important;
    color: #fff !important;
}

/* ── Alerts ── */
[data-theme="dark"] .alert-info {
    background-color: #1a3a4a !important;
    border-color: #2a5a6a !important;
    color: #a0d8ef !important;
}

[data-theme="dark"] .alert-warning {
    background-color: #3a2a00 !important;
    border-color: #5a4a00 !important;
    color: #ffd070 !important;
}

[data-theme="dark"] .alert-danger {
    background-color: #3a1a1a !important;
    border-color: #5a2a2a !important;
    color: #f08080 !important;
}

[data-theme="dark"] .alert-success {
    background-color: #1a3a1a !important;
    border-color: #2a5a2a !important;
    color: #80c080 !important;
}

/* ── Misc ── */
[data-theme="dark"] hr {
    border-color: #555 !important;
}

[data-theme="dark"] .text-muted {
    color: #999 !important;
}

[data-theme="dark"] .border,
[data-theme="dark"] .border-top,
[data-theme="dark"] .border-bottom {
    border-color: #555 !important;
}

[data-theme="dark"] .bg-white,
[data-theme="dark"] .bg-light {
    background-color: #242424 !important;
}

[data-theme="dark"] small,
[data-theme="dark"] em {
    color: #999 !important;
}

/* ── Filter buttons (accounting / ops) ── */
[data-theme="dark"] .filter-button {
    background-color: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .filter-button:hover {
    background-color: #3a3a3a !important;
}

[data-theme="dark"] .filter-button.active {
    background-color: #1a4a6e !important;
    border-color: #888 !important;
    color: #fff !important;
}

/* ── Info button ── */
[data-theme="dark"] .info-btn {
    background-color: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .info-btn.active {
    background-color: #1a4a6e !important;
    border-color: #888 !important;
    color: #fff !important;
}

/* ── Filter group panels ── */
[data-theme="dark"] .filter-group {
    background: #242424 !important;
    border-color: #555 !important;
}

[data-theme="dark"] .filter-group-label {
    color: #e0e0e0 !important;
}

/* ── Filter section boxes (server / client) ── */
[data-theme="dark"] .filter-section-server {
    border-color: #2a4a6a !important;
    background: #1a2a3a !important;
}

[data-theme="dark"] .filter-section-client {
    border-color: #2a4a2a !important;
    background: #1a2a1a !important;
}

[data-theme="dark"] .filter-section span,
[data-theme="dark"] .filter-section .text-muted {
    color: #999 !important;
}

/* ── Payment badges ── */
[data-theme="dark"] .payment-unpaid  { background-color: #4a1a1a !important; color: #f08080 !important; }
[data-theme="dark"] .payment-partial { background-color: #3a2a00 !important; color: #ffd070 !important; }
[data-theme="dark"] .payment-full    { background-color: #1a3a1a !important; color: #80c080 !important; }

/* ── Month header ── */
[data-theme="dark"] .month-header {
    background: linear-gradient(to right, #007a72, #1a1a1a) !important;
}

/* ── Info selector panel ── */
[data-theme="dark"] .info-selector {
    background: #242424 !important;
    border-color: #555 !important;
}

/* ── State section cards (ops) ── */
[data-theme="dark"] .state-section {
    background: #242424 !important;
    border-color: #555 !important;
}

/* ── Range picker ── */
[data-theme="dark"] .range-picker-trigger {
    background: #2a2a2a !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

[data-theme="dark"] .range-picker-caret {
    color: #aaa !important;
}

[data-theme="dark"] .range-picker-panel {
    background: #2a2a2a !important;
    border-color: #555 !important;
}

[data-theme="dark"] .rp-standalone,
[data-theme="dark"] .rp-quarter,
[data-theme="dark"] .rp-month {
    color: #e0e0e0 !important;
    border-bottom-color: #3a3a3a !important;
}

[data-theme="dark"] .rp-year-row {
    background: #333 !important;
    color: #e0e0e0 !important;
    border-top-color: #555 !important;
}

[data-theme="dark"] .rp-standalone:hover,
[data-theme="dark"] .rp-year-row:hover,
[data-theme="dark"] .rp-quarter:hover,
[data-theme="dark"] .rp-month:hover,
[data-theme="dark"] .rp-monthly-toggle:hover {
    background: #3a4a5a !important;
}

[data-theme="dark"] .rp-active {
    background: #1a3a5a !important;
    color: #7ab8f5 !important;
}

[data-theme="dark"] .rp-monthly-toggle {
    color: #7ab8f5 !important;
    border-bottom-color: #3a3a3a !important;
}

[data-theme="dark"] .rp-months-wrap {
    background: #242424 !important;
}

/* ── Tax export modal ── */
[data-theme="dark"] #taxExportModal > div {
    background: #242424 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] #taxExportModal h3 {
    color: #e0e0e0 !important;
}

[data-theme="dark"] #taxExportModal p {
    color: #aaa !important;
}

[data-theme="dark"] #taxExportModal > div > div:has(#taxProgressBar) {
    background: #3a3a3a !important;
}

[data-theme="dark"] #taxStateList {
    border-color: #555 !important;
}

[data-theme="dark"] #taxStateList table {
    background: #242424 !important;
}

[data-theme="dark"] #taxStateList thead tr {
    background: #2a2a2a !important;
    border-bottom-color: #555 !important;
}

[data-theme="dark"] #taxStateList thead th {
    background: #2a2a2a !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] #taxStateList tbody tr {
    border-bottom-color: #3a3a3a !important;
}

[data-theme="dark"] #taxStateList tbody td {
    color: #e0e0e0 !important;
    background: transparent !important;
}

[data-theme="dark"] #taxStateList tr.state-row-loading td { color: #7ab8f5 !important; }
[data-theme="dark"] #taxStateList tr.state-row-done    td { color: #80c080 !important; }
[data-theme="dark"] #taxStateList tr.state-row-empty   td { color: #888    !important; }
[data-theme="dark"] #taxStateList tr.state-row-error   td { color: #f08080 !important; }
[data-theme="dark"] #taxStateList tr.state-row-pending td { color: #aaa    !important; }

/* ── Product summary panel ── */
[data-theme="dark"] #productSummaryPanel .card-header {
    color: #e0e0e0 !important;
}

[data-theme="dark"] #productSummaryPanel .card-header span {
    color: #aaa !important;
}

/* ── General Search — result list ── */
[data-theme="dark"] .result-item {
    background: #242424 !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .result-item:hover {
    background: #2a3a3a !important;
}

[data-theme="dark"] .result-item.active {
    background: #1a3a5a !important;
    border-color: #4a7aaa !important;
}

[data-theme="dark"] .result-item .deal-id {
    color: #7ab8f5 !important;
}

[data-theme="dark"] .result-item .deal-title {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .result-item .deal-meta {
    color: #999 !important;
}

[data-theme="dark"] #deal-detail {
    background: #242424 !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] #search-results-list {
    color: #e0e0e0 !important;
}

/* ── General Search — deal partial action dropdown ── */
[data-theme="dark"] .gs-dropdown-menu {
    background: #2a2a2a !important;
    border-color: #555 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.5) !important;
}

[data-theme="dark"] .gs-dropdown-menu a,
[data-theme="dark"] .gs-dropdown-menu button {
    color: #e0e0e0 !important;
    background: none !important;
}

[data-theme="dark"] .gs-dropdown-menu a:hover,
[data-theme="dark"] .gs-dropdown-menu button:hover {
    background: #3a3a3a !important;
    color: #7ab8f5 !important;
}

[data-theme="dark"] .gs-dropdown-header {
    color: #999 !important;
}

[data-theme="dark"] .gs-dropdown-divider {
    border-top-color: #555 !important;
}

[data-theme="dark"] .gs-toggle-btn {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .gs-toggle-btn:hover {
    background: #3a3a3a !important;
}

/* ── ERP status badge (neutral grey) in deal partial ── */
[data-theme="dark"] .gs-badge-erp {
    background: #3a3a3a !important;
    color: #ccc !important;
}

/* ── Product BOM — right panel and search ── */
[data-theme="dark"] #product-details {
    background: #242424 !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] #product-search {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

/* ── jQuery UI autocomplete dropdown ── */
[data-theme="dark"] .ui-autocomplete {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

[data-theme="dark"] .ui-autocomplete .ui-menu-item-wrapper {
    color: #e0e0e0 !important;
    background: transparent !important;
}

[data-theme="dark"] .ui-autocomplete .ui-state-active,
[data-theme="dark"] .ui-autocomplete .ui-menu-item-wrapper.ui-state-active {
    background: #1a4a6e !important;
    color: #ffffff !important;
    border-color: transparent !important;
}

[data-theme="dark"] .ui-autocomplete.ui-widget-content {
    background: #2a2a2a !important;
    border-color: #555 !important;
    color: #e0e0e0 !important;
}

/* ── jsTree (Product BOM tree) ── */
[data-theme="dark"] .jstree-default .jstree-anchor {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .jstree-default .jstree-anchor:hover {
    color: #ffffff !important;
}

[data-theme="dark"] .jstree-default .jstree-hovered,
[data-theme="dark"] .jstree-default a.jstree-hovered,
[data-theme="dark"] .jstree-default .jstree-clicked,
[data-theme="dark"] .jstree-default a.jstree-clicked {
    background: #1a4a6e !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

[data-theme="dark"] .jstree-default .jstree-wholerow-hovered {
    background: #1a3a4a !important;
}

[data-theme="dark"] .jstree-default .jstree-wholerow-clicked {
    background: #1a4a6e !important;
}

[data-theme="dark"] .jstree-default-dark .jstree-hovered,
[data-theme="dark"] .jstree-default-dark .jstree-clicked {
    background: #1a4a6e !important;
    color: #ffffff !important;
}

[data-theme="dark"] .tree-box {
    background: #1e1e1e !important;
    color: #e0e0e0 !important;
}

/* ── Product details partial ── */
[data-theme="dark"] .product-details-container {
    color: #e0e0e0 !important;
}

/* ── Deal detail container (general search) ── */
[data-theme="dark"] .deal-detail-container {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .deal-detail-container a {
    color: #7ab8f5 !important;
}

[data-theme="dark"] .deal-detail-container a:hover {
    color: #a0ccff !important;
}