/* Official Purdue University Color Palette */
:root {
    --purdue-gold: #CFB991;
    --purdue-gold-dark: #8E6F3E;
    --purdue-black: #000000;
    --purdue-steel: #555960;
}

/* ------------------------- */
/* UNIVERSAL ELEMENTS        */
/* ------------------------- */
.navbar, .footer { 
    background-color: var(--purdue-steel) !important; 
}
.navbar-brand { font-weight: bold; letter-spacing: 1px; color: #fff !important;}

#endpointsTable td, #endpointsTable th {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.badge-admin { background-color: var(--purdue-gold); color: #000; }

/* Screen Share Gold Button */
.btn-purdue-gold {
    background-color: var(--purdue-gold);
    color: var(--purdue-black) !important;
    border-color: var(--purdue-gold-dark);
    font-weight: 500;
}
.btn-purdue-gold:hover {
    background-color: var(--purdue-gold-dark);
    border-color: var(--purdue-gold-dark);
    color: #fff !important;
}

/* Custom Pagination Active Colors */
.pagination .page-item.active .page-link {
    background-color: var(--purdue-gold) !important;
    border-color: var(--purdue-gold) !important;
    color: var(--purdue-black) !important;
    font-weight: bold;
}
.pagination .page-link:focus {
    box-shadow: 0 0 0 0.25rem rgba(207, 185, 145, 0.5);
}

/* Ensure focus rings are highly visible and brand-colored for keyboard navigation */
a:focus, button:focus, input:focus, select:focus {
    outline: 3px solid var(--purdue-gold) !important;
    outline-offset: 2px;
}

/* Clean up the DataTables filter search box layout */
.dataTables_filter label {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-weight: 500;
}
.dataTables_filter input {
    margin-left: 0.5rem;
}

/* ------------------------- */
/* LIGHT MODE SPECIFIC       */
/* ------------------------- */
[data-bs-theme="light"] body { background-color: #edece8; color: var(--purdue-black); }
[data-bs-theme="light"] .card { background-color: #ffffff; border: 1px solid #d1d5db !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important; }
[data-bs-theme="light"] .navbar { border-bottom: 2px solid var(--purdue-black); }
[data-bs-theme="light"] .footer { border-top: 2px solid var(--purdue-black); }
[data-bs-theme="light"] .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #f8f9fa !important; }
[data-bs-theme="light"] .table-hover > tbody > tr:hover > td { background-color: #e2e6ea !important; } 
[data-bs-theme="light"] .badge-endpoint { background-color: var(--purdue-black); color: #fff; }
[data-bs-theme="light"] .btn-purdue-solid { background-color: var(--purdue-black); color: #fff; border-color: var(--purdue-black); }
[data-bs-theme="light"] .btn-purdue-solid:hover { background-color: #333; color: #fff; }
[data-bs-theme="light"] .pagination .page-link { color: var(--purdue-black); }

/* ------------------------- */
/* DARK MODE SPECIFIC        */
/* ------------------------- */
[data-bs-theme="dark"] body { background-color: #121212; color: #e0e0e0; }
[data-bs-theme="dark"] .card { background-color: #1e1e1e; border-color: #333 !important; }
[data-bs-theme="dark"] .card-header { background-color: #2b3035 !important; border-bottom: 1px solid #333 !important; }
[data-bs-theme="dark"] .navbar { border-bottom: 2px solid var(--purdue-gold); } /* Striking gold accent in dark mode! */
[data-bs-theme="dark"] .footer { border-top: 2px solid var(--purdue-gold); }
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select { background-color: #2b3035; color: #fff; border-color: #444; }
[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus { background-color: #2b3035; color: #fff; border-color: var(--purdue-gold); box-shadow: 0 0 0 0.25rem rgba(207, 185, 145, 0.25); }

/* Dark mode table adjustments */
[data-bs-theme="dark"] .table-light th { background-color: #1a1d20 !important; color: #dee2e6 !important; border-color: #373b3e !important; }
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #222529 !important; color: #edece8 !important; border-color: #333; }
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > td { background-color: #2c3034 !important; color: #fff !important; border-color: #333; }
[data-bs-theme="dark"] #endpointsTable td, [data-bs-theme="dark"] #endpointsTable th { border-color: #333; color: #edece8; }

[data-bs-theme="dark"] .badge-endpoint { background-color: var(--purdue-steel); color: #fff; }
[data-bs-theme="dark"] .btn-purdue-solid { background-color: var(--purdue-steel); color: #fff; border-color: var(--purdue-steel); }
[data-bs-theme="dark"] .btn-purdue-solid:hover { background-color: #6c757d; color: #fff; }

/* Dark Mode DataTables Form Elements */
[data-bs-theme="dark"] .dataTables_filter input, [data-bs-theme="dark"] .dataTables_length select { 
    background-color: #2b3035; color: #fff; border-color: #444; 
}
[data-bs-theme="dark"] .pagination .page-link { background-color: #212529; border-color: #333; color: #e0e0e0; }
[data-bs-theme="dark"] .pagination .page-item.disabled .page-link { background-color: #1a1d20; border-color: #333; color: #6c757d; }
