/* IMPROVED TEXT VISIBILITY AND COLOR SCHEME */
/* Ultimate fix for text visibility issues across all pages */

:root {
    --primary-dark: #191A1F;
    --secondary-dark: #222328;
    --accent-green: #3AD783;
    --success-green: #28a745;
    --warning-orange: #ffc107;
    --danger-red: #dc3545;
    --info-blue: #17a2b8;
    --text-light: #ffffff;
    --text-muted: #adb5bd;
    --text-secondary: #e9ecef;
    --border-color: #444;
    --card-bg: #2a2d35;
}

/* GLOBAL TEXT VISIBILITY FIXES */
/* Force all text to be visible with proper contrast */
*, *::before, *::after {
    color: var(--text-light) !important;
}

/* Body and HTML */
html, body {
    background-color: var(--primary-dark) !important;
    color: var(--text-light) !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: var(--text-light) !important;
    font-weight: 600 !important;
}

/* Text elements */
p, span, div, label, a, li, small, strong, em, b, i, u {
    color: var(--text-light) !important;
}

/* Muted text - lighter but still visible */
.text-muted {
    color: var(--text-muted) !important;
}

/* Secondary text */
.text-secondary {
    color: var(--text-secondary) !important;
}

/* White text */
.text-white, .text-white-50 {
    color: var(--text-light) !important;
}

/* Dark text should be light on dark background */
.text-dark {
    color: var(--text-light) !important;
}

/* CARD IMPROVEMENTS */
.card {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-light) !important;
    border-radius: 12px !important;
}

.card-header {
    background-color: rgba(58, 215, 131, 0.1) !important;
    border-bottom: 1px solid var(--accent-green) !important;
    color: var(--text-light) !important;
}

.card-body {
    background-color: var(--card-bg) !important;
    color: var(--text-light) !important;
}

.card-title, .card-text {
    color: var(--text-light) !important;
}

/* TABLE IMPROVEMENTS */
.table {
    color: var(--text-light) !important;
    background-color: var(--card-bg) !important;
}

.table td, .table th {
    color: var(--text-light) !important;
    border-color: var(--border-color) !important;
    background-color: transparent !important;
    padding: 0.75rem !important;
}

.table-dark {
    background-color: var(--card-bg) !important;
    color: var(--text-light) !important;
}

.table-dark td, .table-dark th {
    color: var(--text-light) !important;
    border-color: var(--border-color) !important;
    background-color: transparent !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > td,
.table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-light) !important;
}

.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
    background-color: rgba(58, 215, 131, 0.1) !important;
    color: var(--text-light) !important;
}

/* BADGE IMPROVEMENTS */
.badge {
    color: var(--text-light) !important;
    font-weight: 500 !important;
}

.badge.bg-light, .badge.bg-warning {
    color: #000000 !important;
}

.badge.bg-success {
    background-color: var(--success-green) !important;
    color: var(--text-light) !important;
}

.badge.bg-danger {
    background-color: var(--danger-red) !important;
    color: var(--text-light) !important;
}

.badge.bg-warning {
    background-color: var(--warning-orange) !important;
    color: #000000 !important;
}

.badge.bg-info {
    background-color: var(--info-blue) !important;
    color: var(--text-light) !important;
}

.badge.bg-primary {
    background-color: var(--accent-green) !important;
    color: var(--text-light) !important;
}

.badge.bg-secondary {
    background-color: #6c757d !important;
    color: var(--text-light) !important;
}

/* BUTTON IMPROVEMENTS */
.btn {
    color: var(--text-light) !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
}

.btn-primary {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
}

.btn-primary:hover {
    background-color: #32c374 !important;
    border-color: #32c374 !important;
    color: var(--text-light) !important;
}

.btn-outline-primary {
    color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
}

.btn-outline-light {
    color: var(--text-light) !important;
    border-color: var(--text-light) !important;
}

.btn-outline-light:hover {
    background-color: var(--text-light) !important;
    color: var(--primary-dark) !important;
}

.btn-success {
    background-color: var(--success-green) !important;
    border-color: var(--success-green) !important;
    color: var(--text-light) !important;
}

.btn-danger {
    background-color: var(--danger-red) !important;
    border-color: var(--danger-red) !important;
    color: var(--text-light) !important;
}

.btn-warning {
    background-color: var(--warning-orange) !important;
    border-color: var(--warning-orange) !important;
    color: #000000 !important;
}

.btn-info {
    background-color: var(--info-blue) !important;
    border-color: var(--info-blue) !important;
    color: var(--text-light) !important;
}

/* FORM IMPROVEMENTS */
.form-label {
    color: var(--text-light) !important;
    font-weight: 500 !important;
}

.form-control {
    background-color: var(--secondary-dark) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-light) !important;
    border-radius: 8px !important;
}

.form-control:focus {
    background-color: var(--secondary-dark) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
    box-shadow: 0 0 0 0.2rem rgba(58, 215, 131, 0.25) !important;
}

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

.form-select {
    background-color: var(--secondary-dark) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-light) !important;
}

.form-select:focus {
    background-color: var(--secondary-dark) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
    box-shadow: 0 0 0 0.2rem rgba(58, 215, 131, 0.25) !important;
}

/* NAVIGATION IMPROVEMENTS */
.navbar {
    background-color: var(--secondary-dark) !important;
}

.navbar-brand {
    color: var(--accent-green) !important;
    font-weight: 600 !important;
}

.nav-link {
    color: var(--text-light) !important;
    font-weight: 500 !important;
}

.nav-link:hover {
    color: var(--accent-green) !important;
}

.nav-link.active {
    color: var(--accent-green) !important;
}

/* BREADCRUMB IMPROVEMENTS */
.breadcrumb {
    background-color: transparent !important;
}

.breadcrumb-item {
    color: var(--text-muted) !important;
}

.breadcrumb-item.active {
    color: var(--text-light) !important;
}

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

.breadcrumb-item a:hover {
    color: #32c374 !important;
}

/* ALERT IMPROVEMENTS */
.alert {
    color: var(--text-light) !important;
    border-radius: 8px !important;
}

.alert-success {
    background-color: rgba(40, 167, 69, 0.2) !important;
    border-color: var(--success-green) !important;
    color: var(--text-light) !important;
}

.alert-danger {
    background-color: rgba(220, 53, 69, 0.2) !important;
    border-color: var(--danger-red) !important;
    color: var(--text-light) !important;
}

.alert-warning {
    background-color: rgba(255, 193, 7, 0.2) !important;
    border-color: var(--warning-orange) !important;
    color: var(--text-light) !important;
}

.alert-info {
    background-color: rgba(23, 162, 184, 0.2) !important;
    border-color: var(--info-blue) !important;
    color: var(--text-light) !important;
}

/* PAGINATION IMPROVEMENTS */
.page-link {
    background-color: var(--secondary-dark) !important;
    border-color: var(--border-color) !important;
    color: var(--text-light) !important;
}

.page-link:hover {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
}

.page-item.active .page-link {
    background-color: var(--accent-green) !important;
    border-color: var(--accent-green) !important;
    color: var(--text-light) !important;
}

/* MODAL IMPROVEMENTS */
.modal-content {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-light) !important;
}

.modal-header {
    background-color: rgba(58, 215, 131, 0.1) !important;
    border-bottom: 1px solid var(--accent-green) !important;
    color: var(--text-light) !important;
}

.modal-body {
    color: var(--text-light) !important;
}

.modal-footer {
    border-top: 1px solid var(--border-color) !important;
}

/* DROPDOWN IMPROVEMENTS */
.dropdown-menu {
    background-color: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
}

.dropdown-item {
    color: var(--text-light) !important;
}

.dropdown-item:hover {
    background-color: rgba(58, 215, 131, 0.1) !important;
    color: var(--text-light) !important;
}

/* PROGRESS BAR IMPROVEMENTS */
.progress {
    background-color: var(--border-color) !important;
}

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

.progress-bar.bg-success {
    background-color: var(--success-green) !important;
}

.progress-bar.bg-danger {
    background-color: var(--danger-red) !important;
}

/* LIST GROUP IMPROVEMENTS */
.list-group-item {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-light) !important;
}

.list-group-item:hover {
    background-color: rgba(58, 215, 131, 0.1) !important;
}

/* SPECIFIC PAGE IMPROVEMENTS */

/* Trade show page improvements */
.bg-gradient-primary {
    background: linear-gradient(135deg, var(--accent-green), #32c374) !important;
}

.bg-light {
    background-color: var(--secondary-dark) !important;
    color: var(--text-light) !important;
}

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

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

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

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

.bg-opacity-10 {
    background-color: rgba(58, 215, 131, 0.1) !important;
}

/* Text color utilities */
.text-success {
    color: var(--success-green) !important;
}

.text-danger {
    color: var(--danger-red) !important;
}

.text-warning {
    color: var(--warning-orange) !important;
}

.text-info {
    color: var(--info-blue) !important;
}

.text-accent {
    color: var(--accent-green) !important;
}

/* Trader profile improvements */
.trader-card {
    background-color: var(--card-bg) !important;
    color: var(--text-light) !important;
}

/* Random trade improvements */
.random-icon-large {
    color: var(--info-blue) !important;
}

/* Ensure all links are visible */
a {
    color: var(--accent-green) !important;
    text-decoration: none !important;
}

a:hover {
    color: #32c374 !important;
    text-decoration: underline !important;
}

/* Footer improvements */
.footer {
    background-color: var(--secondary-dark) !important;
    color: var(--text-light) !important;
}

/* Sidebar improvements */
.sidebar {
    background-color: var(--secondary-dark) !important;
    color: var(--text-light) !important;
}

.sidebar * {
    color: var(--text-light) !important;
}

.sidebar a {
    color: var(--text-light) !important;
}

.sidebar a:hover {
    color: var(--accent-green) !important;
    background-color: rgba(58, 215, 131, 0.1) !important;
}

/* Ensure small text is visible */
small, .small {
    color: var(--text-muted) !important;
}

/* Ensure all form text is visible */
.form-text {
    color: var(--text-muted) !important;
}

/* Ensure all help text is visible */
.help-text {
    color: var(--text-muted) !important;
}

/* Override any remaining invisible text */
.invisible-text-fix {
    color: var(--text-light) !important;
}

/* Media queries for responsive text */
@media (max-width: 768px) {
    h1, h2, h3, h4, h5, h6 {
        font-size: calc(1rem + 0.5vw) !important;
    }
    
    .card-body {
        padding: 1rem !important;
    }
    
    .btn {
        padding: 0.5rem 1rem !important;
        font-size: 0.9rem !important;
    }
}

/* Print styles */
@media print {
    *, *::before, *::after {
        color: #000000 !important;
        background-color: #ffffff !important;
    }
}