/* ========================================
   GLOBAL OVERRIDES - Apply dark theme to ALL pages
   This file enforces consistent dark theme everywhere
   ======================================== */

/* === BODY GLOBAL === */
body,
body.dev-mode,
body[data-sidebar="dark"] {
    background: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* === ALL CARDS === */
.card,
.card-body,
.dashboard-card,
.tickets-container,
.amef-container,
.clients-container,
.contacts-container,
.sigilare-main-card,
.modern-card,
[class*="-container"]:not(.container-fluid) {
    background: var(--bg-secondary) !important;
    border-color: var(--border-primary) !important;
}

.card-header,
.tickets-header,
.amef-header,
.clients-header,
.contacts-header,
.sigilare-header {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-primary) !important;
    color: var(--text-primary) !important;
}

.card-footer {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-primary) !important;
}

/* === TEXT COLORS === */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-primary) !important;
}

p, span, div, label {
    color: inherit;
}

.text-muted,
.text-tertiary {
    color: var(--text-secondary) !important;
}

a:not(.btn):not(.dropdown-item):not(.nav-link):not(.breadcrumb-item a) {
    color: var(--accent-blue);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:not(.btn):not(.dropdown-item):not(.nav-link):not(.breadcrumb-item a):hover {
    color: var(--accent-blue-hover);
}

/* === BADGES OVERRIDE === */
.badge {
    font-weight: var(--font-medium) !important;
    padding: 0.25em 0.75em !important;
    border-radius: var(--radius-full) !important;
    font-size: 0.7rem !important;
}

.badge.bg-primary { background: var(--accent-blue) !important; color: white !important; }
.badge.bg-success { background: var(--success) !important; color: white !important; }
.badge.bg-warning { background: var(--warning) !important; color: white !important; }
.badge.bg-danger { background: var(--danger) !important; color: white !important; }
.badge.bg-info { background: var(--info) !important; color: white !important; }
.badge.bg-secondary { background: var(--bg-quaternary) !important; color: var(--text-primary) !important; }
.badge.bg-light { background: var(--bg-tertiary) !important; color: var(--text-primary) !important; }
.badge.bg-dark { background: var(--bg-quaternary) !important; color: var(--text-primary) !important; }

/* === DATA TABLES === */
.dataTables_wrapper {
    color: var(--text-primary) !important;
    padding: 0 !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    color: var(--text-secondary) !important;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 6px 12px !important;
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    outline: none;
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 3px var(--accent-blue-alpha) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--text-secondary) !important;
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    border-radius: var(--radius-md) !important;
    margin: 0 2px !important;
    padding: 6px 12px !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--bg-quaternary) !important;
    border-color: var(--accent-blue) !important;
    color: var(--accent-blue) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    color: white !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    color: var(--text-tertiary) !important;
    background: var(--bg-secondary) !important;
    cursor: not-allowed;
}

/* === TABLES === */
table {
    color: var(--text-primary);
}

table thead {
    background: var(--bg-tertiary);
}

table thead th {
    background: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    border-bottom: 1px solid var(--border-secondary) !important;
    border-top: none !important;
    font-weight: var(--font-semibold) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.7rem !important;
    padding: 12px 16px !important;
}

table tbody td {
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    font-size: var(--text-sm) !important;
    padding: 10px 16px !important;
    vertical-align: middle;
}

table tbody tr {
    transition: background var(--transition-fast);
}

table tbody tr:hover td {
    background: var(--bg-tertiary) !important;
}

/* === FORM CONTROLS === */
.form-control,
.form-select,
input.form-control,
textarea.form-control,
select.form-select {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 8px 12px !important;
    font-size: var(--text-sm) !important;
    transition: all var(--transition-fast);
}

.form-control:focus,
.form-select:focus {
    background: var(--bg-tertiary) !important;
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 3px var(--accent-blue-alpha) !important;
    color: var(--text-primary) !important;
}

.form-control::placeholder {
    color: var(--text-tertiary) !important;
}

.form-control:disabled,
.form-select:disabled {
    background: var(--bg-secondary) !important;
    color: var(--text-tertiary) !important;
    cursor: not-allowed;
}

.form-label,
.form-check-label {
    color: var(--text-secondary) !important;
    font-size: var(--text-sm) !important;
    font-weight: var(--font-medium) !important;
    margin-bottom: 6px !important;
}

/* === SELECT2 === */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container--bootstrap-5 .select2-selection {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    min-height: 38px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary) !important;
    line-height: 36px !important;
    padding-left: 12px !important;
}

.select2-dropdown {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-secondary) !important;
    border-radius: var(--radius-md) !important;
}

.select2-results__option {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    padding: 8px 12px !important;
}

.select2-results__option--highlighted {
    background: var(--accent-blue) !important;
    color: white !important;
}

.select2-search__field {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
}

/* === BREADCRUMB === */
.breadcrumb {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 var(--spacing-md) 0 !important;
    font-size: var(--text-sm);
}

.breadcrumb-item {
    color: var(--text-secondary);
}

.breadcrumb-item a {
    color: var(--accent-blue);
    text-decoration: none;
}

.breadcrumb-item a:hover {
    color: var(--accent-blue-hover);
}

.breadcrumb-item.active {
    color: var(--text-primary);
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--text-tertiary);
}

/* === NAV TABS === */
.nav-tabs {
    border-bottom: 1px solid var(--border-primary) !important;
}

.nav-tabs .nav-link {
    color: var(--text-secondary) !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 10px 16px !important;
    border-radius: 0 !important;
    font-weight: var(--font-medium) !important;
}

.nav-tabs .nav-link:hover {
    color: var(--text-primary) !important;
    background: var(--bg-tertiary) !important;
    border-color: transparent !important;
    border-bottom-color: var(--border-secondary) !important;
}

.nav-tabs .nav-link.active {
    color: var(--accent-blue) !important;
    background: transparent !important;
    border-color: transparent !important;
    border-bottom: 2px solid var(--accent-blue) !important;
}

/* === DROPDOWN === */
.dropdown-menu {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-secondary) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-xl) !important;
    padding: 6px !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 12px !important;
    font-size: var(--text-sm) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--bg-tertiary) !important;
    color: var(--accent-blue) !important;
}

.dropdown-item.active {
    background: var(--accent-blue-alpha) !important;
    color: var(--accent-blue) !important;
}

.dropdown-divider {
    border-top: 1px solid var(--border-primary) !important;
    margin: 4px 0 !important;
}

.dropdown-header {
    color: var(--text-tertiary) !important;
    font-size: var(--text-xs) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 8px 12px !important;
}

/* === ALERTS === */
.alert {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
}

.alert-primary {
    background: var(--accent-blue-alpha) !important;
    border-color: var(--accent-blue) !important;
    color: var(--accent-blue) !important;
}

.alert-success {
    background: var(--success-bg) !important;
    border-color: var(--success) !important;
    color: var(--success) !important;
}

.alert-warning {
    background: var(--warning-bg) !important;
    border-color: var(--warning) !important;
    color: var(--warning) !important;
}

.alert-danger {
    background: var(--danger-bg) !important;
    border-color: var(--danger) !important;
    color: var(--danger) !important;
}

.alert-info {
    background: var(--info-bg) !important;
    border-color: var(--info) !important;
    color: var(--info) !important;
}

/* === LIST GROUPS === */
.list-group {
    border-radius: var(--radius-md) !important;
}

.list-group-item {
    background: var(--bg-secondary) !important;
    border-color: var(--border-primary) !important;
    color: var(--text-primary) !important;
}

.list-group-item:hover {
    background: var(--bg-tertiary) !important;
}

/* === PAGINATION === */
.pagination .page-link {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-secondary) !important;
}

.pagination .page-link:hover {
    background: var(--bg-quaternary) !important;
    border-color: var(--accent-blue) !important;
    color: var(--accent-blue) !important;
}

.pagination .page-item.active .page-link {
    background: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    color: white !important;
}

/* === PROGRESS BARS === */
.progress {
    background: var(--bg-tertiary) !important;
    border-radius: var(--radius-full) !important;
    height: 8px !important;
}

.progress-bar {
    background: var(--accent-blue) !important;
}

/* === FORM CHECK / SWITCH === */
.form-check-input {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-secondary) !important;
}

.form-check-input:checked {
    background-color: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
}

/* === TOOLTIPS === */
.tooltip-inner {
    background: var(--bg-quaternary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--text-xs) !important;
}

.tooltip .tooltip-arrow::before {
    border-color: var(--bg-quaternary) !important;
}

/* === HR === */
hr {
    border-color: var(--border-primary) !important;
    opacity: 1 !important;
}

/* === CODE / PRE === */
code, pre, kbd {
    background: var(--bg-tertiary) !important;
    color: var(--accent-blue) !important;
    border-radius: var(--radius-sm);
    padding: 2px 6px;
    font-family: var(--font-mono);
    font-size: 0.85em;
}

/* === SCROLLBARS WHEREVER === */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--bg-quaternary);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-tertiary);
}

/* === REMOVE OLD GRADIENT BACKGROUNDS on cards/containers === */
.card[style*="linear-gradient"],
div[style*="linear-gradient"][style*="rgba(99, 102, 241"],
div[style*="linear-gradient"][style*="rgba(139, 92, 246"],
div[style*="linear-gradient"][style*="rgba(118, 75, 162"],
div[style*="linear-gradient"][style*="#667eea"],
div[style*="linear-gradient"][style*="#764ba2"] {
    background: var(--bg-secondary) !important;
    background-image: none !important;
}

/* === BUTTON OVERRIDES FOR INLINE GRADIENTS === */
button[style*="linear-gradient"]:not(.btn-export-excel):not(#exportExcelBtn),
.btn[style*="linear-gradient"]:not(.btn-export-excel):not(#exportExcelBtn):not([style*="#198754"]):not([style*="#157347"]) {
    background-image: none !important;
}

/* Specific - keep success green for export buttons even if styled inline */
button[style*="#198754"],
button[style*="#157347"],
.btn[style*="#198754"] {
    background: var(--success) !important;
    background-image: none !important;
    border-color: var(--success) !important;
}

/* === PAGE TITLE === */
.page-title-box {
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: var(--spacing-md) !important;
}

.page-title-box h4 {
    color: var(--text-primary) !important;
    font-size: var(--text-xl) !important;
    font-weight: var(--font-semibold) !important;
}

/* === SEARCH/FILTER INPUTS - Modern look === */
.search-input,
input[type="search"] {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
}

input[type="search"]:focus {
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 3px var(--accent-blue-alpha) !important;
}

/* ========================================
   LIST PAGES - Override green/purple legacy styles
   ======================================== */

/* === CLIENTS PAGE === */
.clients-container,
.amef-container,
.contacts-container,
.tickets-container,
.sigilare-main-card {
    background: var(--bg-secondary) !important;
    border-color: var(--border-primary) !important;
    box-shadow: var(--shadow-sm) !important;
}

.clients-header,
.amef-header,
.contacts-header,
.tickets-header,
.sigilare-header {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-primary) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
}

.clients-header-title,
.amef-header-title,
.contacts-header-title,
.tickets-header-title,
.sigilare-header-title {
    color: var(--text-primary) !important;
    font-size: var(--text-base) !important;
}

.clients-header-title i,
.amef-header-title i,
.contacts-header-title i {
    color: var(--accent-blue) !important;
}

.clients-header-title .total-badge,
.amef-header-title .total-badge,
.contacts-header-title .total-badge,
.total-badge {
    background: var(--accent-blue-alpha) !important;
    color: var(--accent-blue) !important;
    border: 1px solid var(--accent-blue) !important;
    padding: 3px 10px !important;
    border-radius: var(--radius-full) !important;
    font-size: 0.75rem !important;
    font-weight: var(--font-semibold) !important;
}

/* === CUSTOM SEARCH inputs (clients/amef/contacts) === */
#clientsCustomSearch,
#amefsCustomSearch,
#contactsCustomSearch,
.custom-search-input {
    background: var(--bg-tertiary) !important;
    background-image: none !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    padding: 8px 14px 8px 38px !important;
    font-size: var(--text-sm) !important;
}

#clientsCustomSearch:focus,
#amefsCustomSearch:focus,
#contactsCustomSearch:focus {
    border-color: var(--accent-blue) !important;
    box-shadow: 0 0 0 3px var(--accent-blue-alpha) !important;
    background: var(--bg-tertiary) !important;
}

.clients-search-wrap i,
.amef-search-wrap i,
.contacts-search-wrap i {
    color: var(--text-tertiary) !important;
    left: 14px !important;
}

/* === TABLES IN LIST PAGES (compact) === */
#clientsTable,
#amefsTable,
#contactsTable,
.list-page-table {
    font-size: var(--text-sm) !important;
}

#clientsTable thead th,
#amefsTable thead th,
#contactsTable thead th {
    background: var(--bg-tertiary) !important;
    color: var(--text-secondary) !important;
    border-bottom: 1px solid var(--border-secondary) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 10px 12px !important;
    font-weight: var(--font-semibold) !important;
}

#clientsTable tbody td,
#amefsTable tbody td,
#contactsTable tbody td {
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-primary) !important;
    color: var(--text-primary) !important;
    padding: 8px 12px !important;
}

#clientsTable tbody tr:hover td,
#amefsTable tbody tr:hover td,
#contactsTable tbody tr:hover td {
    background: var(--bg-tertiary) !important;
}

#clientsTable tbody tr:nth-child(odd) td,
#amefsTable tbody tr:nth-child(odd) td,
#contactsTable tbody tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.015) !important;
}

#clientsTable tbody tr:nth-child(odd):hover td,
#amefsTable tbody tr:nth-child(odd):hover td,
#contactsTable tbody tr:nth-child(odd):hover td {
    background: var(--bg-tertiary) !important;
}

/* === STATUS BADGES - Replace gradient backgrounds === */
.tva-badge,
.abonament-badge,
.status-badge,
.indirect-badge {
    background: var(--bg-quaternary) !important;
    background-image: none !important;
    border-radius: var(--radius-full) !important;
    padding: 3px 10px !important;
    font-size: 0.7rem !important;
    font-weight: var(--font-semibold) !important;
    border: 1px solid var(--border-primary);
}

.tva-badge.yes {
    background: var(--success-bg) !important;
    color: var(--success) !important;
    border-color: var(--success) !important;
}

.tva-badge.no {
    background: var(--warning-bg) !important;
    color: var(--warning) !important;
    border-color: var(--warning) !important;
}

.abonament-badge.anual {
    background: var(--accent-blue-alpha) !important;
    color: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
}

.abonament-badge.lunar {
    background: var(--success-bg) !important;
    color: var(--success) !important;
    border-color: var(--success) !important;
}

.indirect-badge {
    background: var(--warning-bg) !important;
    color: var(--warning) !important;
    border-color: var(--warning) !important;
}

/* === ACTION DROPDOWNS in lists === */
.action-trigger {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-secondary) !important;
    border-radius: var(--radius-md) !important;
    width: 32px !important;
    height: 32px !important;
}

.action-trigger:hover,
.action-trigger:focus {
    background: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    color: white !important;
    transform: none !important;
}

.action-menu {
    background: var(--bg-secondary) !important;
    background-image: none !important;
    border: 1px solid var(--border-secondary) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-xl) !important;
    padding: 4px !important;
}

.action-menu-item {
    color: var(--text-primary) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 12px !important;
    font-size: var(--text-sm) !important;
}

.action-menu-item:hover {
    background: var(--bg-tertiary) !important;
    color: var(--accent-blue) !important;
}

.action-menu-item.danger:hover,
.action-menu-item.text-danger:hover {
    background: var(--danger-bg) !important;
    color: var(--danger) !important;
}

/* === CUSTOM PAGER === */
.clients-custom-pager,
.amef-custom-pager,
.contacts-custom-pager,
.custom-pager {
    margin-top: var(--spacing-md) !important;
}

.clients-custom-pager .pager-btn,
.amef-custom-pager .pager-btn,
.contacts-custom-pager .pager-btn,
.pager-btn {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--border-primary) !important;
    color: var(--text-secondary) !important;
    border-radius: var(--radius-md) !important;
    min-width: 36px !important;
    min-height: 36px !important;
}

.clients-custom-pager .pager-btn:hover:not(:disabled),
.amef-custom-pager .pager-btn:hover:not(:disabled),
.contacts-custom-pager .pager-btn:hover:not(:disabled) {
    background: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    color: white !important;
}

.clients-custom-pager .pager-input,
.amef-custom-pager .pager-input,
.contacts-custom-pager .pager-input,
.pager-input {
    background: var(--bg-tertiary) !important;
    border: 1px solid var(--accent-blue) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md) !important;
    width: 56px !important;
    min-height: 36px !important;
}

/* === SIDEBAR (Filters panel) === */
.filter-sidebar,
.filter-panel,
.advanced-filter-panel,
.amef-filter-sidebar,
.clients-filter-sidebar {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-primary) !important;
    border-radius: var(--radius-lg) !important;
    color: var(--text-primary) !important;
}

/* === EXPORT BUTTONS - Force consistent style === */
.btn-export-excel,
.btn-export-pdf,
.btn-export-global {
    background: var(--success) !important;
    background-image: none !important;
    color: white !important;
    border-color: var(--success) !important;
    box-shadow: none !important;
}

.btn-export-excel:hover,
.btn-export-pdf:hover {
    background: #059669 !important;
    color: white !important;
}
