/* ============================================
   DASHBOARD WIDGETS - DARK THEME
   Styling for all dashboard widget sections
   ============================================ */

/* Card Small - Generic widget card */
[data-theme="dark"] .card-small {
    background: rgba(30, 35, 58, 0.6) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
    margin-bottom: 24px;
}

[data-theme="dark"] .card-small .card-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 20px 24px;
}

[data-theme="dark"] .card-small .card-header h6 {
    color: var(--text-primary) !important;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

[data-theme="dark"] .card-small .card-header h6 i {
    color: var(--accent-purple);
    margin-right: 8px;
}

[data-theme="dark"] .card-small .card-body {
    background: transparent !important;
    padding: 20px 24px;
    color: var(--text-secondary) !important;
}

/* Generic card (fallback for any .card elements) */
[data-theme="dark"] .card {
    background: rgba(30, 35, 58, 0.6) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 16px;
}

[data-theme="dark"] .card .card-header {
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

[data-theme="dark"] .card .card-body {
    background: transparent !important;
    color: var(--text-secondary) !important;
}

/* Tables in dark theme */
[data-theme="dark"] .table {
    color: var(--text-secondary) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .table thead th {
    color: var(--text-primary) !important;
    border-bottom: 2px solid var(--border-medium) !important;
    font-weight: var(--font-weight-semibold);
    background-color: transparent !important;
    border-top: none !important;
}

[data-theme="dark"] .table tbody tr {
    border-bottom: 1px solid var(--border-subtle) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .table tbody td {
    color: var(--text-secondary) !important;
    border-top: 1px solid var(--border-subtle) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .table tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

[data-theme="dark"] .table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.03) !important;
}

/* Text muted - ensure visibility on dark backgrounds */
[data-theme="dark"] .text-muted {
    color: var(--text-muted) !important;
}

/* Card headers */
[data-theme="dark"] .card-header {
    background-color: transparent !important;
    border-bottom-color: var(--border-subtle) !important;
}

[data-theme="dark"] .card-header h6 {
    color: var(--text-primary) !important;
}

[data-theme="dark"] .card-header.border-bottom {
    border-bottom-color: var(--border-subtle) !important;
}

/* Card body */
[data-theme="dark"] .card-body {
    background-color: transparent !important;
    color: var(--text-secondary) !important;
}

/* Empty state messages */
[data-theme="dark"] .card-body p.text-muted {
    color: rgba(255, 255, 255, 0.5) !important;
}

/* Alert/notification boxes */
[data-theme="dark"] .alert {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text-primary) !important;
    border-radius: var(--radius-md);
}

[data-theme="dark"] .alert-success {
    background: rgba(16, 185, 129, 0.1) !important;
    border-color: var(--accent-green) !important;
    color: var(--accent-green) !important;
}

[data-theme="dark"] .alert-danger {
    background: rgba(239, 68, 68, 0.1) !important;
    border-color: var(--accent-red) !important;
    color: var(--accent-red) !important;
}

[data-theme="dark"] .alert-warning {
    background: rgba(245, 158, 11, 0.1) !important;
    border-color: var(--accent-orange) !important;
    color: var(--accent-orange) !important;
}

[data-theme="dark"] .alert-info {
    background: rgba(59, 130, 246, 0.1) !important;
    border-color: var(--accent-blue) !important;
    color: var(--accent-blue) !important;
}

/* List groups */
[data-theme="dark"] .list-group-item {
    background-color: var(--bg-card) !important;
    border-color: var(--border-subtle) !important;
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .list-group-item:hover {
    background-color: var(--bg-card-hover) !important;
}

/* Leave content items */
[data-theme="dark"] .leave-content {
    color: var(--text-secondary) !important;
    background-color: transparent !important;
}

[data-theme="dark"] .leave-content .leave-heading {
    color: var(--text-primary) !important;
    font-weight: var(--font-weight-medium);
}

[data-theme="dark"] .leave-content .leave-subheading {
    color: var(--text-muted) !important;
}

/* Timeline */
[data-theme="dark"] ul.timeline:before {
    background: var(--border-medium) !important;
}

[data-theme="dark"] li.timeline-item::before {
    background: var(--accent-blue) !important;
    border-color: var(--bg-primary) !important;
}

[data-theme="dark"] .timeline-arrow {
    border-right-color: rgba(30, 35, 58, 0.6) !important;
}

/* Buttons */
[data-theme="dark"] .btn-primary {
    background: var(--gradient-blue) !important;
    border: none !important;
    color: var(--text-primary) !important;
    font-weight: var(--font-weight-medium);
}

[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary:active {
    background: var(--accent-blue-dark) !important;
    border: none !important;
    box-shadow: var(--shadow-glow);
}

[data-theme="dark"] .btn-white {
    background-color: var(--bg-card) !important;
    border-color: var(--border-medium) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-white:hover {
    background-color: var(--bg-card-hover) !important;
    border-color: var(--border-strong) !important;
    box-shadow: var(--shadow-md);
}

/* Form controls */
[data-theme="dark"] .form-control {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-medium) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:focus {
    background-color: var(--bg-tertiary) !important;
    border-color: var(--accent-blue) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2) !important;
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--text-disabled) !important;
}

/* Stats info boxes */
[data-theme="dark"] .stats-info {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-medium) !important;
    border-radius: var(--radius-md);
    color: var(--text-primary) !important;
}

[data-theme="dark"] .stats-info h4,
[data-theme="dark"] .stats-info h6 {
    color: var(--text-primary) !important;
}

/* Employee cards */
[data-theme="dark"] .employee-info-list .employee-card {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-medium) !important;
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .employee-card:hover {
    background-color: var(--bg-card-hover) !important;
    border-color: var(--border-strong) !important;
}

/* Footer */
[data-theme="dark"] .footer {
    background: var(--bg-secondary) !important;
    border-top: 1px solid var(--border-subtle) !important;
    color: var(--text-muted) !important;
}

[data-theme="dark"] .footer .text-muted {
    color: var(--text-muted) !important;
}

/* Scrollbar styling for dark theme */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-secondary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--border-strong);
    border-radius: var(--radius-full);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

/* Holiday/Birthday calendar specific */
[data-theme="dark"] .table tbody tr.highlighted {
    background-color: rgba(16, 185, 129, 0.15) !important;
}

/* Badge/tag elements */
[data-theme="dark"] .badge {
    background-color: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-medium);
}

[data-theme="dark"] .badge-primary {
    background-color: var(--accent-blue) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .badge-success {
    background-color: var(--accent-green) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .badge-warning {
    background-color: var(--accent-orange) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .badge-danger {
    background-color: var(--accent-red) !important;
    color: var(--text-primary) !important;
}