@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
    --primary-color: #FFCF00;
    --dark-bg: #1a1a1a;
    --darker-bg: #121212;
    --card-bg: #2d2d2d;
    --text-color: #e0e0e0;
    --sidebar-bg: #000000;
    --dropdown-bg: #333333;
}

body {
    font-family: 'Poppins', sans-serif !important;
    background-color: var(--darker-bg) !important;
    color: var(--text-color);
}

/* Sidebar Styles */
#accordionSidebar {
    background-color: var(--sidebar-bg) !important;
    background-image: none !important;
}

.sidebar .nav-item .nav-link {
    color: #b0b0b0 !important;
}

.sidebar .nav-item .nav-link:hover {
    color: var(--primary-color) !important;
}

.sidebar .nav-item.active .nav-link {
    color: var(--primary-color) !important;
    font-weight: bold;
}

.sidebar .nav-item .nav-link i {
    color: inherit !important;
}

.sidebar-brand-icon img {
    filter: brightness(0.8) contrast(1.2);
}

/* Dashboard Styles */
#content-wrapper {
    background-color: var(--darker-bg) !important;
}

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

.text-gray-700, .text-gray-600, .text-gray-900 {
    color: var(--text-color) !important;
}

.text-gray-300, .text-gray-400 {
    color: #a0a0a0 !important;
}

/* Topbar */
.topbar {
    background-color: var(--card-bg) !important;
}
.topbar.bg-white {
    background-color: var(--card-bg) !important;
}

/* Cards */
.card {
    background-color: var(--card-bg) !important;
    border: 1px solid #404040;
    color: var(--text-color);
}

.card-header {
    background-color: var(--card-bg) !important;
    border-bottom: 1px solid #404040;
}

/* Ensure all titles including text-dark are yellow */
h1.text-dark, h2.text-dark, h3.text-dark, h4.text-dark, h5.text-dark, h6.text-dark,
.text-dark, .card-header .text-dark {
    color: var(--primary-color) !important;
}

/* Override bootstrap text colors for specific cards if needed, 
   or unify them to the theme */
.text-xs {
    color: #a0a0a0 !important;
}

/* Tables */
.table {
    color: var(--text-color) !important;
    background-color: var(--card-bg) !important;
    border-collapse: separate;
    border-spacing: 0;
}

.table thead {
    background-color: #000000; /* Distinct dark background for header */
}

.table thead th {
    color: var(--primary-color) !important;
    border-bottom: none;
    border-top: none;
    padding: 12px 15px;
    font-weight: 600;
}

/* Rounded corners for table header */
.table thead th:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 0;
}

.table thead th:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 0;
}

.table-bordered td, .table-bordered th {
    border: 1px solid #404040;
    border-top: none; /* Avoid double border with header */
}

/* Fix for table-bordered with separate collapse */
.table-bordered {
    border: none;
}
.table-bordered td {
    border-top: 1px solid #404040;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #000 !important;
}

.page-link {
    background-color: var(--card-bg) !important;
    border-color: #404040 !important;
    color: var(--text-color) !important;
}

.page-item.disabled .page-link {
    background-color: var(--darker-bg) !important;
    border-color: #404040 !important;
}

/* Scroll to top */
.scroll-to-top {
    background-color: var(--primary-color) !important;
}

.scroll-to-top:hover {
    background-color: #e6ba00 !important;
}

/* Dropdowns */
.dropdown-menu {
    background-color: var(--dropdown-bg) !important;
    border: 1px solid #404040;
}

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

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

/* Specific text overrides for dashboard cards to match the requested style */
.text-info, .text-warning, .text-secondary, .text-success, .text-dark, .text-danger {
    filter: brightness(1.5); /* Make them pop more on dark bg */
}

.text-muted {
    color: #888 !important;
}

/* Inputs / Selects */
.form-control {
    background-color: var(--darker-bg) !important;
    border: 1px solid #404040;
    color: var(--text-color) !important;
}

.form-control:focus {
    background-color: var(--darker-bg) !important;
    border-color: var(--primary-color);
    color: var(--text-color) !important;
}

/* Select2 Customization */
.select2-container--default .select2-selection--single {
    background-color: var(--darker-bg) !important;
    border: 1px solid #404040 !important;
    height: 38px !important; /* Match Bootstrap height */
    color: var(--text-color) !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-color) !important;
    line-height: 36px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #888 transparent transparent transparent !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #888 transparent !important;
}

.select2-dropdown {
    background-color: var(--dropdown-bg) !important;
    border: 1px solid #404040 !important;
    color: var(--text-color) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: var(--darker-bg) !important;
    border: 1px solid #404040 !important;
    color: var(--text-color) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--primary-color) !important;
    color: #000 !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #404040 !important;
    color: var(--text-color) !important;
}

/* Modal */
.modal-content {
    background-color: var(--card-bg);
    color: var(--text-color);
}
.modal-header {
    border-bottom: 1px solid #404040;
}
.modal-footer {
    border-top: 1px solid #404040;
}
.close {
    color: var(--text-color);
    text-shadow: none;
}

/* Custom Card Style for Principal Dashboard */
.card-custom-style {
    border-radius: 15px !important;
    border-top: 5px solid var(--primary-color) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.5) !important;
    overflow: hidden; /* Ensure content follows border radius */
}

.card-custom-style .card-header {
    background-color: #202020 !important; /* Slightly darker than card-bg */
    border-bottom: 1px solid #333;
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
}
