body {
    background-color: var(--background-light);
    padding-bottom: 70px;
    min-height: 100vh;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;
    color: var(--text-dark);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Professional formal design - Color palette and variables */
:root {
    --primary: #215732;
    /* Deeper green for professionalism */
    --primary-dark: #174225;
    /* Darker shade */
    --primary-light: #e7efe9;
    /* Very light shade */
    --secondary: #545e56;
    /* Muted green-gray */
    --text-dark: #333333;
    /* Nearly black for text */
    --text-muted: #5c5c5c;
    /* Muted text */
    --border-color: #d4d9d5;
    /* Light border */
    --background-light: #f8f9f8;
    /* Very subtle green tint */
    --highlight: #edf3ef;
    /* Highlight background */
    --table-header: #e7efe9;
    /* Subtle header background */
    --success: #215732;
    --warning: #b4812d;
    --danger: #9e2a2b;
    --light: #f8f9f8;
    --white: #ffffff;
}

.card {
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.card-header {
    background-color: var(--primary);
    border-bottom: none;
    padding: 1rem 1.25rem;
}

.card-header h2 {
    color: white;
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 0;
}

.card-body {
    padding: 1.5rem;
}

.card-header.bg-primary {
    background-color: var(--primary) !important;
}

.table th,
.table td {
    vertical-align: middle;
}

#dataContainer {
    min-height: 200px;
    transition: opacity 0.3s ease;
}

#dataContainer.loading {
    opacity: 0.6;
}

/* Override Bootstrap table styles for leave header */
.table th[colspan="3"] {
    text-align: center;
}

/* Search input focus style */
#searchInput:focus {
    box-shadow: 0 0 0 0.25rem rgba(33, 87, 50, 0.25);
    border-color: var(--primary-light);
}

.navbar-brand {
    font-weight: 600;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-size: 1.4rem;
    color: white !important;
}

/* Improved table styling */
.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--background-light);
}

.table-hover>tbody>tr:hover {
    background-color: var(--highlight);
}

#searchStatus {
    font-size: 0.9rem;
    padding: 0.5rem 0;
    color: #6c757d;
}

.text-danger {
    color: #dc3545 !important;
}

.text-success {
    color: #198754 !important;
}

/* If you're overriding Bootstrap's th styling */
th {
    text-align: inherit;
    text-align: -webkit-match-parent;
    text-align: match-parent;
}

/* Add these styles to your CSS file */
.highlight {
    background-color: #d1e7dd;
    color: var(--primary-dark);
    font-weight: bold;
    padding: 0 2px;
    border-radius: 2px;
}

/* Loading spinner animations and styling - Removed */

/* Page loader styles - Removed */

/* Dark mode pagination styling */
[data-theme="dark"] .pagination .page-link {
    background-color: #2c2c2c;
    border-color: #444;
    color: #4dbd74;
    margin: 0 3px;
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: #1a5d3a;
    border-color: #1a5d3a;
}

[data-theme="dark"] .pagination .page-link:hover {
    background-color: #333;
    color: #65d48e;
}

body.loading {
    overflow: initial;
}

/* Override Bootstrap's primary color */
.bg-primary {
    background-color: var(--primary) !important;
}

.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
    font-weight: 500;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
}

.btn-outline-primary {
    color: var(--primary);
    border-color: var(--primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--primary);
    border-color: var(--primary);
}

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

/* Custom styling for table headers */
.table-dark {
    background-color: var(--primary-dark);
    color: white;
}

/* Custom styling for links */
a {
    color: var(--primary);
}

a:hover {
    color: var(--primary-dark);
}

/* Custom styling for form controls when focused */
.form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 0.25rem rgba(33, 87, 50, 0.25);
}

/* Custom styling for navbar */
.navbar {
    background-color: var(--primary);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 0.75rem 0;
}

.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--light);
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.navbar-nav .nav-link {
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.2s ease;
}

/* Custom footer styling */
footer.bg-dark {
    background-color: var(--primary-dark) !important;
}

/* Green theme search highlighting */
.highlight {
    background-color: #d1e7dd;
    color: var(--primary-dark);
    font-weight: bold;
    padding: 0 2px;
    border-radius: 2px;
}

/* Logo styling */
.navbar-logo {
    height: 32px;
    width: auto;
    margin-right: 10px;
}

/* Responsive adjustments for the logo */
@media (max-width: 576px) {
    .navbar-logo {
        height: 24px;
    }
}

/* Footer logo styling */
.footer-logo {
    height: 24px;
    width: auto;
    vertical-align: middle;
    margin-right: 8px;
}

/* Add these styles for sticky footer */
html,
body {
    height: 100%;
    margin: 0;
}

main {
    flex: 1 0 auto;
}

footer {
    flex-shrink: 0;
    margin-top: auto;
    background-color: var(--primary-light);
    color: rgba(0, 0, 0, 0.8);
    padding: 1.5rem 0;
    font-size: 0.9rem;
}

footer .footer-logo {
    height: 24px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Pagination styling */
.pagination .page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--light);
}

.pagination .page-link {
    color: var(--primary);
    border-color: var(--border-color);
    padding: 0.5rem 0.75rem;
    margin: 0 3px;
}

.pagination .page-link:hover {
    color: var(--primary-dark);
    background-color: var(--primary-light);
}

.pagination .page-item.disabled .page-link {
    color: #6c757d;
}

/* Mobile-responsive table styles */
@media (max-width: 767.98px) {

    /* Card layout on small screens */
    .mobile-responsive-table thead {
        display: none;
        /* Hide table headers on mobile */
    }

    .mobile-responsive-table tbody tr {
        display: block;
        margin-bottom: 1.5rem;
        border: 1px solid var(--border-color);
        border-radius: 0.375rem;
        background-color: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        position: relative;
        overflow: hidden;
    }

    .mobile-responsive-table tbody tr:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: 100%;
        background-color: var(--primary);
    }

    .mobile-responsive-table tbody td {
        display: flex;
        justify-content: space-between;
        padding: 0.875rem 1rem;
        border-bottom: 1px solid var(--border-color);
        text-align: right;
    }

    .mobile-responsive-table tbody td:first-child {
        background-color: var(--primary-light);
        font-weight: 600;
    }

    .mobile-responsive-table tbody td:last-child {
        border-bottom: none;
    }

    /* Show data labels */
    .mobile-responsive-table td:before {
        content: attr(data-label);
        font-weight: 600;
        margin-right: 1rem;
        color: var(--primary);
        text-align: left;
        flex-basis: 40%;
        font-family: Georgia, 'Times New Roman', Times, serif;
    }

    /* Hide certain columns on mobile that are shown differently */
    .mobile-responsive-table td.d-none-mobile {
        display: none;
    }

    /* Special styling for the leave section */
    .mobile-responsive-table td.leave-section {
        display: block;
        padding: 0.75rem 1rem;
        background-color: var(--primary-light);
        border-top: 1px solid var(--primary);
        border-bottom: 1px solid var(--primary);
    }

    .mobile-responsive-table td.leave-section:before {
        content: attr(data-label);
        display: block;
        width: 100%;
        font-weight: 600;
        color: var(--primary);
        margin-bottom: 0.75rem;
        text-align: left;
        font-family: Georgia, 'Times New Roman', Times, serif;
    }

    .leave-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.75rem;
        width: 100%;
    }

    .leave-item {
        background-color: var(--white);
        border-radius: 0.25rem;
        padding: 0.5rem;
        text-align: center;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
        border: 1px solid var(--border-color);
    }

    .leave-item span {
        display: block;
        font-size: 0.8rem;
        color: var(--primary);
        margin-bottom: 0.25rem;
        font-weight: 600;
    }

    .leave-item strong {
        font-size: 1.1rem;
        color: var(--text-dark);
    }

    /* Hide leave columns on mobile */
    .mobile-responsive-table td:nth-child(5),
    .mobile-responsive-table td:nth-child(6),
    .mobile-responsive-table td:nth-child(7) {
        display: none;
    }

    /* Show leave-section on mobile */
    .mobile-responsive-table td.leave-section.d-none {
        display: block !important;
        padding: 0.75rem 1rem;
    }
}

/* Responsive adjustments for the navbar */
@media (max-width: 576px) {
    .navbar-logo {
        height: 24px;
    }

    .navbar-brand {
        font-size: 1.2rem;
    }

    .navbar {
        padding: 0.5rem 0;
    }

    .navbar-brand span {
        max-width: 230px;
        display: inline-block;
    }

    /* Mobile search form layout */
    .search-section .input-group {
        flex-direction: column;
    }

    .search-section .input-group input {
        border-radius: 0.25rem;
        margin-bottom: 0.75rem;
        min-height: 50px;
        font-size: 1.1rem;
        padding: 0.75rem 1rem;
    }

    .search-section .input-group .btn {
        border-radius: 0.25rem;
        margin-bottom: 0.5rem;
        width: 100%;
        min-height: 45px;
        font-size: 1rem;
    }

    /* Expanded search field container */
    .search-section .col-12 {
        padding: 0 0.5rem;
    }

    /* Fix search status text */
    #searchStatus {
        font-size: 0.85rem;
        padding: 0 0.5rem;
    }

    /* Make the search heading more compact */
    .search-section h4 {
        font-size: 1.1rem;
        margin-bottom: 0.8rem;
    }
}

/* General improvements for the table */
.table {
    vertical-align: middle;
    border-collapse: separate;
    border-spacing: 0;
}

.table-responsive {
    border-radius: 0.375rem;
    overflow: hidden;
}

.table thead th {
    background-color: var(--primary);
    color: var(--white);
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    vertical-align: middle;
    padding: 0.75rem 1rem;
    border-bottom: 2px solid var(--primary-dark);
}

.table tbody tr {
    border-bottom: 1px solid var(--border-color);
}

.table tbody tr:last-child {
    border-bottom: none;
}

.table td {
    padding: 1rem;
    vertical-align: middle;
    color: var(--text-dark);
}

/* Highlight row on hover */
.table-hover tbody tr:hover {
    background-color: var(--highlight);
}

/* Heading styles */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

h1 {
    font-size: 1.9rem;
}

h2 {
    font-size: 1.7rem;
}

h3 {
    font-size: 1.5rem;
}

h4 {
    font-size: 1.3rem;
}

h5 {
    font-size: 1.1rem;
}

/* Search section styling */
.search-section {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    border-radius: 0.375rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.search-section h4 {
    font-size: 1.15rem;
    margin-bottom: 1rem;
    color: var(--primary-dark);
}

#searchInput {
    border: 1px solid var(--border-color);
    padding: 0.75rem 1rem;
    font-size: 1rem;
    width: 100%;
    min-height: 45px;
}

/* Print styles for formal reports */
@media print {
    body {
        background: white;
        font-size: 12pt;
    }

    .navbar,
    .search-section,
    .pagination,
    .btn-group,
    footer {
        display: none !important;
    }

    .card {
        border: none;
        box-shadow: none;
    }

    .card-header {
        background: white !important;
        color: black !important;
        text-align: center;
        border-bottom: 2pt solid black;
        padding: 10pt 0;
    }

    .card-header h2 {
        color: black !important;
        font-size: 16pt;
    }

    .table {
        width: 100%;
        border-collapse: collapse;
    }

    .table th {
        background: white !important;
        color: black !important;
        border-bottom: 1pt solid black;
    }

    .table td {
        border-bottom: 0.5pt solid #ddd;
    }
}

/* Employee link styling */
.employee-link {
    color: var(--primary);
    text-decoration: none;
    position: relative;
    font-weight: 600;
    transition: all 0.2s ease;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    margin: -0.25rem -0.5rem;
    display: inline-block;
}

.employee-link:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--primary);
    transition: width 0.3s ease;
}

.employee-link:hover {
    color: var(--primary-dark);
    background-color: rgba(33, 87, 50, 0.08);
    text-decoration: none;
}

.employee-link:hover:after {
    width: 100%;
}

/* Employee detail page styling */
.breadcrumb {
    background-color: transparent;
    padding: 0.5rem 0;
    margin-bottom: 1rem;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "›";
    color: var(--primary);
}

.breadcrumb-item.active {
    color: var(--primary-dark);
    font-weight: 500;
}

/* Add spacing between search input and buttons */
.search-section .input-group {
    gap: 10px;
}

.search-section .input-group .btn {
    margin-left: 5px;
}

.search-section .input-group .form-control {
    flex: 1;
}

/* Make sure the button group has appropriate spacing */
.search-section .btn-group {
    margin-left: 10px;
}

/* For mobile view, maintain spacing */
@media (max-width: 576px) {
    .search-section .input-group {
        gap: 8px;
    }

    .search-section .input-group .btn {
        margin-bottom: 0.5rem;
        margin-left: 0;
    }
}

/* Mobile-first responsive design */
@media (max-width: 991.98px) {

    /* Base elements */
    body {
        font-size: 0.95rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h4 {
        font-size: 1.2rem;
    }

    /* Navigation */
    .modern-navbar {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

    .modern-navbar .navbar-brand {
        font-size: 1.2rem;
    }

    .modern-navbar .navbar-logo {
        width: 30px;
        height: 30px;
    }

    /* Containers and cards */
    .container.my-5 {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
        padding: 1rem !important;
    }

    .rounded-4 {
        border-radius: 0.5rem !important;
    }

    .card {
        margin-bottom: 1rem !important;
    }

    /* Card header responsive layout */
    .card-header {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
        padding: 1rem;
    }

    .search-input-container {
        width: 100%;
        margin-bottom: 10px;
        margin-right: 0 !important;
    }

    .search-and-refresh-container {
        flex-direction: column;
    }

    .card-header .btn-outline-primary {
        align-self: flex-end;
    }

    /* Spacing and layout */
    .p-4 {
        padding: 1rem !important;
    }

    .mb-4 {
        margin-bottom: 1rem !important;
    }

    .gap-2 {
        gap: 0.5rem !important;
    }

    /* Forms and inputs */
    .form-control-lg,
    .input-group-lg>.form-control {
        height: calc(1.5em + 1rem + 2px);
        padding: 0.5rem 1rem;
        font-size: 1rem;
    }

    .btn-lg {
        padding: 0.5rem 1rem;
        font-size: 1rem;
    }

    /* Toast positioning - closer to bottom on mobile */
    .position-fixed.bottom-0.end-0.p-3 {
        padding: 0.5rem !important;
    }
}

/* Extra small devices (portrait phones) */
@media (max-width: 575.98px) {
    .card-body {
        padding: 0.75rem !important;
    }

    .row {
        margin-right: -5px;
        margin-left: -5px;
    }

    .col,
    .col-1,
    .col-2,
    .col-3,
    .col-4,
    .col-5,
    .col-6,
    .col-7,
    .col-8,
    .col-9,
    .col-10,
    .col-11,
    .col-12,
    .col-sm,
    .col-md,
    .col-lg,
    .col-xl {
        padding-right: 5px;
        padding-left: 5px;
    }
}

/* Additional Dark Mode Styles */
[data-theme="dark"] {
    --primary: #2a9d5a;
    --primary-dark: #1e8c4c;
    --primary-light: #1a2e1d;
    --background-light: #121212;
    --text-dark: #e0e0e0;
    --text-light: #e0e0e0;
    --card-bg: #1e1e1e;
    --border-color: #333333;
    --table-header: #1e3d2c;
    --table-row-odd: #1a1a1a;
    --table-row-even: #242424;
    --table-row-hover: #2a2a2a;
}

/* Table styles for dark mode */
[data-theme="dark"] .table {
    color: var(--text-light);
    border-color: #333;
}

[data-theme="dark"] .table th {
    background-color: var(--table-header) !important;
    color: #e0e0e0;
    border-color: #444;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--table-row-odd);
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(even) {
    background-color: var(--table-row-even);
}

[data-theme="dark"] .table-hover tbody tr:hover {
    background-color: var(--table-row-hover);
}

[data-theme="dark"] .table td {
    border-color: #333;
    color: #ffffff;
}

[data-theme="dark"] .table td.text-center {
    color: #ffffff;
}

[data-theme="dark"] .text-secondary-emphasis,
[data-theme="dark"] td[data-label="ID"],
[data-theme="dark"] td[data-label="Position"] {
    color: #ffffff !important;
}

/* Make monetary values stand out in both light and dark mode */
[data-theme="dark"] .text-success-emphasis,
[data-theme="dark"] .text-info-emphasis {
    color: #56c783 !important;
    font-weight: 500;
}

/* Ensure vacation, sick and total values are visible */
[data-theme="dark"] .table td[data-label="Vacation"],
[data-theme="dark"] .table td[data-label="Sick"],
[data-theme="dark"] .table td[data-label="Total"] {
    color: #ffffff;
}

/* Fix any green elements to use a more appropriate shade in dark mode */
[data-theme="dark"] .bg-success,
[data-theme="dark"] .btn-success {
    background-color: #1a5d3a !important;
    border-color: #1a5d3a !important;
}

/* Employee records table specific styles for dark mode */
[data-theme="dark"] .employee-table th {
    background-color: #1e3d2c !important;
    color: #ffffff;
}

[data-theme="dark"] .table-container {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

/* Search input field in dark mode */
[data-theme="dark"] .form-control {
    background-color: #2c2c2c;
    border-color: #444;
    color: #e0e0e0;
}

[data-theme="dark"] .form-control:focus {
    background-color: #333;
    border-color: #4d4d4d;
    color: #e0e0e0;
    box-shadow: 0 0 0 0.25rem rgba(42, 157, 90, 0.25);
}

/* Pagination in dark mode */
[data-theme="dark"] .pagination .page-link {
    background-color: #2c2c2c;
    border-color: #444;
    color: #4dbd74;
    margin: 0 3px;
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: #1a5d3a;
    border-color: #1a5d3a;
}

[data-theme="dark"] .pagination .page-link:hover {
    background-color: #333;
    color: #65d48e;
}

/* Card styling for dark mode */
[data-theme="dark"] .card {
    background-color: var(--card-bg);
    border-color: var(--border-color);
}

[data-theme="dark"] .card-header {
    background-color: #1e1e1e !important;
    border-bottom-color: #333;
}

/* Year separator styling for dark mode */
[data-theme="dark"] .year-separator td {
    background-color: #1a5d3a !important;
    color: #ffffff !important;
}

/* Fix employee link colors in dark mode */
[data-theme="dark"] .employee-link {
    color: #4dbd74;
}

[data-theme="dark"] .employee-link:hover {
    color: #65d48e;
    background-color: rgba(77, 189, 116, 0.1);
}

[data-theme="dark"] .employee-link:after {
    background-color: #4dbd74;
}

[data-theme="dark"] .employee-table tbody tr {
    border-bottom: 1px solid #2c2c2c;
}

[data-theme="dark"] .employee-table tbody tr:hover {
    background-color: rgba(77, 189, 116, 0.05);
    border-bottom: 1px solid #2c2c2c;
}

/* Dark mode toast styles */
[data-theme="dark"] .toast {
    background-color: #1e1e1e;
    border-color: #333;
}

[data-theme="dark"] .toast-body {
    color: #e0e0e0;
}

/* Adjust card header and text colors for dark mode */
[data-theme="dark"] .card-header h2.text-primary {
    color: #4dbd74 !important;
}

[data-theme="dark"] .text-primary {
    color: #4dbd74 !important;
}

[data-theme="dark"] .text-success-emphasis {
    color: #56c783 !important;
}

[data-theme="dark"] .text-info-emphasis {
    color: #6ea8fe !important;
}

/* Fix pagination in dark mode */
[data-theme="dark"] .page-link {
    background-color: #2c2c2c;
    border-color: #444;
    color: #4dbd74;
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: #1a5d3a;
    border-color: #1a5d3a;
    color: #ffffff;
}

[data-theme="dark"] .page-link:hover {
    background-color: #333;
    color: #65d48e;
}

/* Header search bar styling */
.search-input-container {
    max-width: 800px;
    display: flex;
    align-items: center;
}

.card-header .input-group-lg .form-control {
    border: 1px solid #dee2e6;
    height: 38px;
    padding: 0.375rem 1rem;
    font-size: 0.9rem;
}

/* Add spacing between search input and button */
.card-header .input-group-lg .btn {
    height: 38px;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 0.9rem;
}

/* Align the refresh button with search bar */
.search-and-refresh-container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

/* Make the refresh button align with search input */
.btn-refresh {
    padding: 0.375rem 1rem;
    font-size: 0.9rem;
    height: 38px;
    display: flex;
    align-items: center;
}

/* Fine-tune search bar spacing */
.input-group.input-group-lg {
    gap: 10px;
}

/* Ensure the search button has proper spacing */
.input-group-lg .btn {
    margin-left: 8px;
}

/* Keep compact width for search form */
@media (min-width: 992px) {
    .search-input-container {
        max-width: 700px;
    }
}

/* Dark mode styles for header search */
[data-theme="dark"] .card-header .input-group-lg .form-control {
    background-color: #2c2c2c;
    border-color: #444;
    color: #e0e0e0;
}

[data-theme="dark"] .card-header .input-group-lg .form-control:focus {
    background-color: #333;
    border-color: #4d4d4d;
    box-shadow: 0 0 0 0.25rem rgba(42, 157, 90, 0.25);
}

[data-theme="dark"] #searchStatus {
    color: #adb5bd;
}

[data-theme="dark"] .card-header.bg-white {
    background-color: var(--card-bg) !important;
}

/* Fix placeholder visibility in dark mode with higher contrast */
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder,
[data-theme="dark"] select::placeholder {
    color: #bbc6d0 !important;
    opacity: 1 !important;
}

/* Make search button more compact while keeping it visible */
#searchButton {
    padding: 0.375rem 1.25rem;
    font-size: 0.9rem;
}

/* Improve records display text visibility in dark mode */
[data-theme="dark"] #dataContainer .fw-semibold {
    color: #ffffff;
}

[data-theme="dark"] #dataContainer strong {
    color: #ffffff;
    font-weight: 600;
}

/* Also fix the "records per page" dropdown text in dark mode */
[data-theme="dark"] .dropdown-toggle {
    color: #e0e0e0;
}

/* Fix the page counter "Displaying X-Y of Z records" in dark mode */
[data-theme="dark"] .d-flex.justify-content-between.align-items-center .fw-semibold {
    color: #ffffff;
}

/* Dark mode footer styling */
[data-theme="dark"] footer {
    background-color: #1a1a1a;
    border-top: 1px solid #333;
    color: rgba(255, 255, 255, 0.7);
    box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] footer .footer-logo {
    filter: brightness(1.2);
}

[data-theme="dark"] footer small {
    color: rgba(255, 255, 255, 0.5);
}

/* Pagination styling */
.pagination .page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--light);
}

.pagination .page-link {
    color: var(--primary);
    border-color: var(--border-color);
    padding: 0.5rem 0.75rem;
    margin: 0 3px;
}

.pagination .page-link:hover {
    color: var(--primary-dark);
    background-color: var(--primary-light);
}

.pagination .page-item.disabled .page-link {
    color: #6c757d;
}

/* Modern spinner with pulse effect - Removed */

/* Dark green table header styling - More specific selectors to override Bootstrap */
.table-dark-green,
.table-dark-green tr,
.table-dark-green th,
tr.table-dark-green,
tr.table-dark-green th,
thead.table-dark-green,
thead.table-dark-green tr,
thead.table-dark-green tr th {
    background-color: #1e3d2c !important;
    color: #ffffff !important;
}

.table-dark-green th,
thead.table-dark-green th,
tr.table-dark-green th {
    color: #ffffff !important;
    font-weight: 600;
    border: none !important;
    text-align: inherit;
    padding: 0.75rem 1rem;
}

/* Ensure consistent header styling in pagination */
.table-dark-green th.border-0,
thead.table-dark-green th.border-0,
tr.table-dark-green th.border-0 {
    border: none !important;
}

/* Fix for second page headers */
thead.table-dark-green tr,
.table-dark-green tr {
    background-color: #1e3d2c !important;
}

/* Employee link color */
.employee-link {
    color: #17633a !important;
}

.employee-link:hover {
    color: #174225 !important;
}

/* Dark mode styling for the dark green table */
[data-theme="dark"] .table-dark-green,
[data-theme="dark"] .table-dark-green tr,
[data-theme="dark"] .table-dark-green th,
[data-theme="dark"] tr.table-dark-green,
[data-theme="dark"] tr.table-dark-green th,
[data-theme="dark"] thead.table-dark-green,
[data-theme="dark"] thead.table-dark-green tr,
[data-theme="dark"] thead.table-dark-green tr th {
    background-color: #1e3d2c !important;
}

[data-theme="dark"] thead.table-dark-green tr {
    background-color: #1e3d2c !important;
}

[data-theme="dark"] .employee-link {
    color: #2a9d5a !important;
}

[data-theme="dark"] .employee-link:hover {
    color: #3cb371 !important;
}

/* Table row styling */
.employee-table tbody tr {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.2s ease;
}

.employee-table tbody tr:hover {
    background-color: rgba(33, 87, 50, 0.04);
    border-bottom: 1px solid var(--border-color);
}

/* Dark mode table styling */
[data-theme="dark"] .employee-table tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

[data-theme="dark"] .employee-table tbody tr:hover {
    background-color: rgba(42, 157, 90, 0.1) !important;
}

/* Ensure all text is properly visible in both modes */
[data-theme="dark"] .employee-table td,
[data-theme="dark"] .employee-table .text-secondary-emphasis {
    color: #e0e0e0 !important;
}

/* Monetary values */
.text-success-emphasis {
    color: #198754 !important;
}

.text-info-emphasis {
    color: #0d6efd !important;
}

[data-theme="dark"] .text-success-emphasis {
    color: #2a9d5a !important;
}

[data-theme="dark"] .text-info-emphasis {
    color: #6ea8fe !important;
}

/* Refresh button spin animation */
@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.fa-spin {
    animation: fa-spin 1s linear infinite;
}

/* Refresh button styling */
.btn-refresh {
    transition: all 0.3s ease;
}

.btn-refresh:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* Mobile responsive search input */
@media (max-width: 767.98px) {
    #searchInput {
        font-size: 0.9rem;
        height: auto;
        padding: 0.6rem 1rem;
    }

    #searchButton {
        padding: 0.6rem 1.25rem;
        font-size: 0.85rem;
    }

    .search-input-container {
        width: 100%;
    }

    .search-and-refresh-container {
        flex-direction: column;
        gap: 10px;
    }

    .btn-refresh {
        width: 100%;
        margin-top: 10px;
    }
}

/* Additional dark mode improvements for mobile */
@media (max-width: 767.98px) {
    [data-theme="dark"] #searchInput {
        background-color: #2c2c2c;
        border-color: #444;
        color: #e0e0e0;
    }

    [data-theme="dark"] #searchButton {
        background-color: var(--primary);
        border-color: var(--primary);
    }

    [data-theme="dark"] .table-responsive-lg {
        border-color: #333;
    }

    [data-theme="dark"] .employee-link {
        color: #2a9d5a !important;
    }
}