/* Custom CSS to improve contrast and readability while maintaining Tabler design */
/* Author: Qoder Assistant */
/* Date: 2025-10-30 */

/* Improve table text contrast */
.table th,
.table td {
    color: #111827; /* Darker text for better readability */
}

/* Improve card content contrast */
.card-body,
.card-title {
    color: #111827;
}

/* Improve form control contrast */
.form-control,
.form-select {
    color: #111827;
    background-color: #ffffff;
    border-color: #d1d5db;
}

.form-control:focus,
.form-select:focus {
    border-color: #066fd1;
    box-shadow: 0 0 0 0.25rem rgba(6, 111, 209, 0.25);
}

.form-control::placeholder {
    color: #6b7280;
}

/* Improve text contrast in general */
.text-muted {
    color: #4b5563;
}

.text-dark {
    color: #111827;
}

/* Improve contrast for badges */
.badge {
    color: #111827;
}

.badge.bg-secondary,
.badge.bg-light {
    color: #111827;
}

/* Improve contrast for alerts */
.alert {
    color: #111827;
}

.alert-secondary,
.alert-light {
    color: #111827;
}

/* Improve contrast for buttons */
.btn-light {
    color: #111827;
    background-color: #f3f4f6;
    border-color: #d1d5db;
}

.btn-light:hover {
    background-color: #e5e7eb;
    border-color: #9ca3af;
}

/* Improve contrast for dropdowns */
.dropdown-menu {
    color: #111827;
    background-color: #ffffff;
}

.dropdown-item {
    color: #111827;
}

.dropdown-item:hover {
    background-color: #f3f4f6;
}

/* Improve contrast for modals */
.modal-content {
    color: #111827;
    background-color: #ffffff;
}

.modal-header,
.modal-body,
.modal-footer {
    color: #111827;
}

/* Improve contrast for pagination */
.page-link {
    color: #066fd1;
    background-color: #ffffff;
    border-color: #d1d5db;
}

.page-link:hover {
    color: #111827;
    background-color: #f3f4f6;
    border-color: #9ca3af;
}

.page-item.active .page-link {
    color: #ffffff;
    background-color: #066fd1;
    border-color: #066fd1;
}

/* Improve contrast for list groups */
.list-group-item {
    color: #111827;
    background-color: #ffffff;
    border-color: #e5e7eb;
}

.list-group-item:hover {
    background-color: #f9fafb;
}

/* Improve contrast for nav tabs */
.nav-tabs .nav-link {
    color: #4b5563;
}

.nav-tabs .nav-link:hover {
    color: #111827;
    border-color: #d1d5db;
}

.nav-tabs .nav-link.active {
    color: #111827;
    background-color: #ffffff;
    border-color: #d1d5db #d1d5db #ffffff;
}

/* Improve contrast for breadcrumbs */
.breadcrumb-item {
    color: #4b5563;
}

.breadcrumb-item.active {
    color: #111827;
}

/* Improve contrast for tooltips */
.tooltip-inner {
    color: #ffffff;
    background-color: #111827;
}

/* Improve contrast for popovers */
.popover {
    background-color: #ffffff;
    border-color: #d1d5db;
}

.popover-header {
    color: #111827;
    background-color: #f9fafb;
    border-bottom-color: #e5e7eb;
}

.popover-body {
    color: #111827;
}

/* Improve contrast for code blocks */
code {
    color: #d63939;
    background-color: #f3f4f6;
}

pre {
    color: #111827;
    background-color: #f9fafb;
    border-color: #e5e7eb;
}

/* Improve contrast for blockquotes */
.blockquote {
    color: #111827;
    border-left-color: #d1d5db;
}

.blockquote-footer {
    color: #4b5563;
}

/* Improve contrast for progress bars */
.progress {
    background-color: #e5e7eb;
}

.progress-bar {
    color: #ffffff;
}

/* Improve contrast for input groups */
.input-group-text {
    color: #111827;
    background-color: #f3f4f6;
    border-color: #d1d5db;
}

/* ✅ FIXED: Ensure tenant logo visibility in both light and dark modes */
.navbar-brand-image {
    /* Default drop shadow for better visibility */
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    /* Ensure the logo is visible in dark mode */
    background: transparent;
    border: none;
    /* Add transition for smooth theme switching */
    transition: all 0.3s ease;
}

/* Special handling for dark mode logo visibility */
[data-bs-theme="dark"] .navbar-brand-image {
    /* Remove Tabler's default filter */
    filter: none !important;
    /* Add a subtle white border to make logo visible on dark background */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    /* Add a slight background to ensure visibility */
    background: rgba(255, 255, 255, 0.05) !important;
    /* Add a more pronounced drop shadow for dark mode */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) !important;
    /* Add rounded corners to match Tabler's design */
    border-radius: 4px !important;
}

/* ✅ FIXED: Improve login page styling */
.page.page-center {
    display: flex;
    align-items: center;
    min-height: 100vh;
}

/* Ensure proper spacing in login form */
.container.container-tight {
    max-width: 30rem;
}

/* === DARK MODE SPECIFIC STYLES === */
/* Improve text contrast in dark mode */
[data-bs-theme="dark"] {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table td {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .card-body,
[data-bs-theme="dark"] .card-title {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    color: #e5e7eb;
    background-color: #1f2937;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 0.25rem rgba(96, 165, 250, 0.25);
}

[data-bs-theme="dark"] .form-control::placeholder {
    color: #9ca3af;
}

[data-bs-theme="dark"] .text-muted {
    color: #9ca3af !important;
}

[data-bs-theme="dark"] .text-dark {
    color: #f3f4f6 !important;
}

[data-bs-theme="dark"] .badge {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .badge.bg-secondary,
[data-bs-theme="dark"] .badge.bg-light {
    color: #111827;
}

[data-bs-theme="dark"] .alert {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .alert-secondary,
[data-bs-theme="dark"] .alert-light {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .btn-light {
    color: #e5e7eb;
    background-color: #374151;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .btn-light:hover {
    background-color: #4b5563;
    border-color: #6b7280;
}

[data-bs-theme="dark"] .dropdown-menu {
    color: #e5e7eb;
    background-color: #1f2937;
}

[data-bs-theme="dark"] .dropdown-item {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .dropdown-item:hover {
    background-color: #374151;
}

[data-bs-theme="dark"] .modal-content {
    color: #e5e7eb;
    background-color: #1f2937;
}

[data-bs-theme="dark"] .modal-header,
[data-bs-theme="dark"] .modal-body,
[data-bs-theme="dark"] .modal-footer {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .page-link {
    color: #60a5fa;
    background-color: #1f2937;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .page-link:hover {
    color: #e5e7eb;
    background-color: #374151;
    border-color: #6b7280;
}

[data-bs-theme="dark"] .page-item.active .page-link {
    color: #ffffff;
    background-color: #60a5fa;
    border-color: #60a5fa;
}

[data-bs-theme="dark"] .list-group-item {
    color: #e5e7eb;
    background-color: #1f2937;
    border-color: #374151;
}

[data-bs-theme="dark"] .list-group-item:hover {
    background-color: #374151;
}

[data-bs-theme="dark"] .nav-tabs .nav-link {
    color: #9ca3af;
}

[data-bs-theme="dark"] .nav-tabs .nav-link:hover {
    color: #e5e7eb;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .nav-tabs .nav-link.active {
    color: #e5e7eb;
    background-color: #1f2937;
    border-color: #4b5563 #4b5563 #1f2937;
}

[data-bs-theme="dark"] .breadcrumb-item {
    color: #9ca3af;
}

[data-bs-theme="dark"] .breadcrumb-item.active {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .popover {
    background-color: #1f2937;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .popover-header {
    color: #e5e7eb;
    background-color: #374151;
    border-bottom-color: #4b5563;
}

[data-bs-theme="dark"] .popover-body {
    color: #e5e7eb;
}

[data-bs-theme="dark"] code {
    color: #f87171;
    background-color: #374151;
}

[data-bs-theme="dark"] pre {
    color: #e5e7eb;
    background-color: #374151;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .blockquote {
    color: #e5e7eb;
    border-left-color: #4b5563;
}

[data-bs-theme="dark"] .blockquote-footer {
    color: #9ca3af;
}

[data-bs-theme="dark"] .progress {
    background-color: #374151;
}

[data-bs-theme="dark"] .input-group-text {
    color: #e5e7eb;
    background-color: #374151;
    border-color: #4b5563;
}

/* ✅ ADDED: Ensure consistent dark mode styles for dashboard elements */
[data-bs-theme="dark"] .card {
    background-color: #1f2937;
    border-color: #374151;
}

[data-bs-theme="dark"] .card-header {
    background-color: #374151;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .card-footer {
    background-color: #374151;
    border-color: #4b5563;
}

[data-bs-theme="dark"] .bg-blue {
    background-color: #3b82f6 !important;
}

[data-bs-theme="dark"] .bg-green {
    background-color: #10b981 !important;
}

[data-bs-theme="dark"] .bg-indigo {
    background-color: #6366f1 !important;
}

[data-bs-theme="dark"] .bg-purple {
    background-color: #8b5cf6 !important;
}

[data-bs-theme="dark"] .bg-cyan {
    background-color: #06b6d4 !important;
}

[data-bs-theme="dark"] .bg-red {
    background-color: #ef4444 !important;
}

[data-bs-theme="dark"] .bg-orange {
    background-color: #f97316 !important;
}

[data-bs-theme="dark"] .bg-teal {
    background-color: #14b8a6 !important;
}

[data-bs-theme="dark"] .text-blue {
    color: #93c5fd !important;
}

[data-bs-theme="dark"] .text-green {
    color: #6ee7b7 !important;
}

[data-bs-theme="dark"] .text-indigo {
    color: #a5b4fc !important;
}

[data-bs-theme="dark"] .text-purple {
    color: #c4b5fd !important;
}

[data-bs-theme="dark"] .text-cyan {
    color: #67e8f9 !important;
}

[data-bs-theme="dark"] .text-red {
    color: #fca5a5 !important;
}

[data-bs-theme="dark"] .text-orange {
    color: #fdba74 !important;
}

[data-bs-theme="dark"] .text-teal {
    color: #5eead4 !important;
}

/* ✅ ADDED: Improve contrast for dashboard cards in dark mode */
[data-bs-theme="dark"] .card-link {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .card-link:hover {
    color: #f3f4f6;
}

/* ✅ ADDED: Ensure proper contrast for page titles and subtitles */
[data-bs-theme="dark"] .page-title {
    color: #f3f4f6;
}

[data-bs-theme="dark"] .page-pretitle {
    color: #d1d5db;
}

/* ✅ ADDED: Improve contrast for avatar elements */
[data-bs-theme="dark"] .avatar {
    color: #ffffff;
}

/* ✅ ADDED: Standardize text contrast for all tenant dashboards */
[data-bs-theme="dark"] .font-weight-medium {
    color: #f3f4f6;
}

[data-bs-theme="dark"] .text-muted {
    color: #9ca3af !important;
}

/* ✅ ADDED: Ensure consistent text visibility in all tenant contexts */
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
    color: #f3f4f6;
}

[data-bs-theme="dark"] p {
    color: #e5e7eb;
}

/* ✅ ADDED: Fix for tenant-specific dashboard elements */
[data-bs-theme="dark"] .card.card-sm .card-body {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .card.card-sm .font-weight-medium {
    color: #f3f4f6;
}

/* ✅ ADDED: Ensure proper text contrast on colored backgrounds in dark mode */
[data-bs-theme="dark"] .badge[class*="bg-"] {
    color: #000000 !important; /* Black */
    font-weight: 600 !important;
}

/* ✅ ADDED: Specific rules for light variant backgrounds */
[data-bs-theme="dark"] [class*="bg-"] {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] [class*="bg-"][class*="-lt"] {
    color: #000000 !important; /* Black */
}

/* ✅ ADDED: Ensure text inside colored backgrounds is readable */
[data-bs-theme="dark"] .bg-success,
[data-bs-theme="dark"] .bg-success-lt,
[data-bs-theme="dark"] .bg-green {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-warning,
[data-bs-theme="dark"] .bg-warning-lt,
[data-bs-theme="dark"] .bg-yellow {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-danger,
[data-bs-theme="dark"] .bg-danger-lt,
[data-bs-theme="dark"] .bg-red {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-info,
[data-bs-theme="dark"] .bg-info-lt,
[data-bs-theme="dark"] .bg-cyan {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-primary,
[data-bs-theme="dark"] .bg-primary-lt,
[data-bs-theme="dark"] .bg-blue {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-secondary,
[data-bs-theme="dark"] .bg-secondary-lt {
    color: #000000 !important; /* Black */
}

/* ✅ ADDED: Additional color classes */
[data-bs-theme="dark"] .bg-purple {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-orange {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-pink {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-teal {
    color: #000000 !important; /* Black */
}

[data-bs-theme="dark"] .bg-azure,
[data-bs-theme="dark"] .bg-azure-lt {
    color: #000000 !important; /* Black */
}

/* ✅ ADDED: Ensure text inside avatars with colored backgrounds is readable */
[data-bs-theme="dark"] .avatar[class*="bg-"] {
    color: #000000 !important; /* Black */
    font-weight: 600 !important;
}

/* ✅ ADDED: Ensure text inside card footers with colored backgrounds is readable */
[data-bs-theme="dark"] .card-footer[class*="bg-"] {
    color: #000000 !important; /* Black */
    font-weight: 500 !important;
}

/* ✅ ADDED: Improve contrast for cost fields in invoice tables */
[data-bs-theme="dark"] .table .font-weight-medium {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* ✅ ADDED: Improve contrast for currency symbols in dark mode */
[data-bs-theme="dark"] .table td div.font-weight-medium::before {
    color: #ffffff !important;
}

/* ✅ ADDED: Ensure strong contrast for financial data */
[data-bs-theme="dark"] .table td > div:first-child.font-weight-medium {
    color: #ffffff !important;
    text-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

/* ✅ ADDED: Improve contrast for table row hover states */
[data-bs-theme="dark"] .table-hover tbody tr:hover .font-weight-medium {
    color: #ffffff !important;
    text-shadow: 0 0 2px rgba(255, 255, 255, 0.7);
}

/* ✅ ADDED: Standardize text contrast for all tenant dashboards */
[data-bs-theme="dark"] .font-weight-medium {
    color: #f3f4f6;
}

[data-bs-theme="dark"] .text-muted {
    color: #9ca3af !important;
}

/* ✅ ADDED: Ensure consistent text visibility in all tenant contexts */
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6 {
    color: #f3f4f6;
}

[data-bs-theme="dark"] p {
    color: #e5e7eb;
}

/* ✅ ADDED: Fix for tenant-specific dashboard elements */
[data-bs-theme="dark"] .card.card-sm .card-body {
    color: #e5e7eb;
}

[data-bs-theme="dark"] .card.card-sm .font-weight-medium {
    color: #f3f4f6;
}