/* Theme Contrast Improvements for WCAG Compliance */

/* Light Theme Contrast Fixes */
[data-bs-theme="light"] {
    /* Improve text contrast on light backgrounds */
    --bs-primary: #0056b3;
    --bs-secondary: #495057;
    --bs-success: #198754;
    --bs-info: #0c63e4;
    --bs-warning: #fd7e14;
    --bs-danger: #dc3545;
}

/* Dark Theme Contrast Fixes */
[data-bs-theme="dark"] {
    /* Improve text contrast on dark backgrounds */
    --bs-primary: #6ea8fe;
    --bs-secondary: #adb5bd;
    --bs-success: #75b798;
    --bs-info: #6ea8fe;
    --bs-warning: #ffda6a;
    --bs-danger: #ea868f;
    
    /* Fix button text visibility */
    .btn-primary {
        color: #000000 !important;
        background-color: #6ea8fe !important;
        border-color: #6ea8fe !important;
    }
    
    .btn-secondary {
        color: #000000 !important;
        background-color: #adb5bd !important;
        border-color: #adb5bd !important;
    }
    
    .btn-success {
        color: #000000 !important;
        background-color: #75b798 !important;
        border-color: #75b798 !important;
    }
    
    .btn-warning {
        color: #000000 !important;
        background-color: #ffda6a !important;
        border-color: #ffda6a !important;
    }
    
    .btn-info {
        color: #000000 !important;
        background-color: #6ea8fe !important;
        border-color: #6ea8fe !important;
    }
    
    .btn-danger {
        color: #ffffff !important;
        background-color: #dc3545 !important;
        border-color: #dc3545 !important;
    }
}

/* Universal button text improvements */
.btn {
    font-weight: 500 !important;
    text-shadow: none !important;
}

.btn-primary:hover {
    filter: brightness(0.9);
}

.btn-secondary:hover {
    filter: brightness(0.9);
}

.btn-success:hover {
    filter: brightness(0.9);
}

.btn-warning:hover {
    filter: brightness(0.9);
}

.btn-info:hover {
    filter: brightness(0.9);
}

.btn-danger:hover {
    filter: brightness(1.1);
}

/* Form control improvements */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25) !important;
}

/* Table improvements */
.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: rgba(var(--bs-primary-rgb), 0.05) !important;
}

/* Badge improvements */
.badge {
    font-weight: 600 !important;
    font-size: 0.75em !important;
}

/* Card improvements */
.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.card-header {
    font-weight: 600 !important;
}

/* Modal improvements */
.modal-content {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Dropdown improvements */
.dropdown-menu {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bs-primary) !important;
    color: white !important;
}

/* Navigation improvements */
.navbar-brand {
    font-weight: 700 !important;
}

.nav-link {
    font-weight: 500 !important;
}

/* Text improvements */
.text-muted {
    opacity: 0.75 !important;
}

/* Alert improvements */
.alert {
    border: none !important;
    font-weight: 500 !important;
}

.alert-primary {
    color: #084298 !important;
    background-color: #cfe2ff !important;
}

.alert-success {
    color: #0a3622 !important;
    background-color: #d1e7dd !important;
}

.alert-warning {
    color: #664d03 !important;
    background-color: #fff3cd !important;
}

.alert-danger {
    color: #721c24 !important;
    background-color: #f8d7da !important;
}

.alert-info {
    color: #055160 !important;
    background-color: #d1ecf1 !important;
}

/* Dark theme alert improvements */
[data-bs-theme="dark"] .alert-primary {
    color: #9ec5fe !important;
    background-color: #031633 !important;
}

[data-bs-theme="dark"] .alert-success {
    color: #75b798 !important;
    background-color: #051b11 !important;
}

[data-bs-theme="dark"] .alert-warning {
    color: #ffda6a !important;
    background-color: #332701 !important;
}

[data-bs-theme="dark"] .alert-danger {
    color: #ea868f !important;
    background-color: #2c0b0e !important;
}

[data-bs-theme="dark"] .alert-info {
    color: #6ea8fe !important;
    background-color: #055160 !important;
}

/* Force visible text for critical elements */
.force-visible {
    color: #1e3a8a !important;
    font-weight: 600 !important;
}

[data-bs-theme="dark"] .force-visible {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Force visible text for call notes and content */
.force-visible-text {
    color: #1e3a8a !important;
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

[data-bs-theme="dark"] .force-visible-text {
    color: #ffffff !important;
    background-color: #343a40 !important;
    border: 1px solid #495057 !important;
}

/* Professional typography improvements */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    letter-spacing: -0.01em !important;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600 !important;
    letter-spacing: -0.02em !important;
}

/* Focus improvements for accessibility */
*:focus {
    outline: 2px solid var(--bs-primary) !important;
    outline-offset: 2px !important;
}

.btn:focus {
    outline: 2px solid var(--bs-primary) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .btn {
        border-width: 2px !important;
    }
    
    .form-control,
    .form-select {
        border-width: 2px !important;
    }
    
    .card {
        border-width: 2px !important;
    }
}

/* Print styles */
@media print {
    .btn,
    .dropdown-toggle,
    .navbar,
    .modal {
        display: none !important;
    }
    
    body {
        color: #000000 !important;
        background: white !important;
    }
}