/* Dashboard UX Improvements - Better Contrast & Readability */

/* Badge Improvements - Better visibility */
.badge {
    font-weight: 600;
    padding: 0.45em 0.85em;
    font-size: 0.875em;
}

/* Ensure all badges have proper text color */
.badge.bg-info,
.badge.bg-primary,
.badge.bg-success,
.badge.bg-danger,
.badge.bg-secondary,
.badge.bg-dark {
    color: #fff !important;
}

.badge.bg-warning {
    color: #000 !important;
    background-color: #ffc107 !important;
}

.badge.bg-light {
    color: #212529 !important;
    border: 1px solid #dee2e6;
}

/* Soft badge variants for better contrast */
.badge.bg-success-soft {
    background-color: #d1f4e0 !important;
    color: #0a6832 !important;
}

.badge.bg-danger-soft {
    background-color: #f8d7da !important;
    color: #a71d2a !important;
}

.badge.bg-primary-soft {
    background-color: #cfe2ff !important;
    color: #084298 !important;
}

.badge.bg-warning-soft {
    background-color: #fff3cd !important;
    color: #664d03 !important;
}

.badge.bg-info-soft {
    background-color: #cff4fc !important;
    color: #055160 !important;
}

/* Table Improvements */
.table thead th {
    background-color: #495057;
    color: #fff;
    font-weight: 600;
    border-color: #495057;
}

.table tbody td {
    color: #212529;
    vertical-align: middle;
}

.table-hover tbody tr:hover {
    background-color: #f8f9fa;
}

/* Card Text Improvements */
.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6 {
    color: #212529;
}

.card-body .text-muted {
    color: #6c757d !important;
}

/* Stats Card Improvements */
.stats-card h2,
.stats-card h3 {
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.stats-card.bg-primary h2,
.stats-card.bg-primary h3,
.stats-card.bg-primary small {
    color: #fff !important;
}

/* Icon Box Improvements */
.icon-lg {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* Better contrast for colored backgrounds */
.bg-primary.text-white small,
.bg-success.text-white small,
.bg-danger.text-white small,
.bg-info.text-white small {
    opacity: 0.95;
    font-weight: 500;
}

/* Link Colors in Tables */
.table a {
    color: #0d6efd;
    text-decoration: none;
}

.table a:hover {
    color: #0a58ca;
    text-decoration: underline;
}

/* Progress Bar Improvements */
.progress {
    background-color: #e9ecef;
    border-radius: 0.375rem;
}

.progress-bar {
    font-weight: 600;
    font-size: 0.75rem;
}

/* Button Soft Variants */
.btn-primary-soft {
    background-color: rgba(13, 110, 253, 0.1);
    color: #0d6efd;
    border: 1px solid rgba(13, 110, 253, 0.2);
}

.btn-primary-soft:hover {
    background-color: rgba(13, 110, 253, 0.2);
    color: #0a58ca;
}

.btn-success-soft {
    background-color: rgba(25, 135, 84, 0.1);
    color: #198754;
    border: 1px solid rgba(25, 135, 84, 0.2);
}

.btn-success-soft:hover {
    background-color: rgba(25, 135, 84, 0.2);
    color: #146c43;
}

.btn-danger-soft {
    background-color: rgba(220, 53, 69, 0.1);
    color: #dc3545;
    border: 1px solid rgba(220, 53, 69, 0.2);
}

.btn-danger-soft:hover {
    background-color: rgba(220, 53, 69, 0.2);
    color: #b02a37;
}

/* Alert Improvements */
.alert {
    border-left: 4px solid;
}

.alert-success {
    border-left-color: #198754;
}

.alert-danger {
    border-left-color: #dc3545;
}

.alert-warning {
    border-left-color: #ffc107;
    color: #664d03;
}

.alert-info {
    border-left-color: #0dcaf0;
}

/* Dashboard Card Hover Effect */
.dashboard-stat-card {
    transition: all 0.3s ease;
}

.dashboard-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* Better visibility for form elements */
.form-control:focus,
.form-select:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* Pagination Improvements */
.pagination .page-link {
    color: #0d6efd;
}

.pagination .page-item.active .page-link {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.pagination .page-link:hover {
    background-color: #e9ecef;
    color: #0a58ca;
}

/* Text Color Utilities with Better Contrast */
.text-success {
    color: #0a6832 !important;
}

.text-danger {
    color: #a71d2a !important;
}

.text-warning {
    color: #856404 !important;
}

.text-info {
    color: #055160 !important;
}

/* Ensure dark text on light backgrounds */
.bg-light,
.bg-white {
    color: #212529 !important;
}

.bg-light *:not(.text-muted):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary),
.bg-white *:not(.text-muted):not(.text-success):not(.text-danger):not(.text-warning):not(.text-info):not(.text-primary) {
    color: inherit;
}

/* Small text improvements */
small, .small {
    font-size: 0.875em;
    font-weight: 500;
}

/* Breadcrumb improvements */
.breadcrumb-item a {
    color: #0d6efd;
    text-decoration: none;
}

.breadcrumb-item a:hover {
    color: #0a58ca;
    text-decoration: underline;
}

.breadcrumb-item.active {
    color: #6c757d;
}
