/* School Theme Override - Colors: #491e17 (Maroon), Black, White */
:root {
    --school-primary: #491e17;
    --school-primary-dark: #2d110d;
    --school-primary-light: #6b2a1f;
    --school-secondary: #000000;
    --school-accent: #ffffff;
    --school-background: #fafafa;
    --school-text: #333333;
    --school-border: #e0e0e0;
    --school-shadow: rgba(73, 30, 23, 0.15);
}

/* Override SB Admin Primary Colors */
.bg-primary,
.btn-primary,
.badge-primary,
.progress-bar,
.nav-pills .nav-link.active {
    background-color: var(--school-primary) !important;
    background-image: linear-gradient(180deg, var(--school-primary) 10%, var(--school-primary-dark) 100%) !important;
    border-color: var(--school-primary) !important;
    color: #ffffff !important; /* Force white text for visibility */
}

/* Fix conflicting sidebar styles from style.css */
.sidebar nav a.active, 
.sidebar nav a:hover {
    background: var(--school-accent) !important; /* White background */
    color: var(--school-primary) !important; /* Dark maroon text */
    font-weight: 600 !important;
}

/* Ensure no conflicting styles override our sidebar fix */
.sidebar.bg-gradient-primary .nav-item .nav-link:hover,
.sidebar.bg-gradient-primary .nav-item .nav-link:focus,
.sidebar.bg-gradient-primary .nav-item .nav-link.active {
    background-color: var(--school-accent) !important;
    color: var(--school-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--school-primary-dark) !important;
    border-color: var(--school-primary-dark) !important;
    color: #ffffff !important; /* Ensure white text on hover */
}

.btn-outline-primary {
    color: var(--school-primary) !important;
    border-color: var(--school-primary) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--school-primary) !important;
    border-color: var(--school-primary) !important;
    color: #ffffff !important; /* White text when filled */
}

/* Sidebar Styling */
.bg-gradient-primary {
    background: linear-gradient(180deg, var(--school-primary) 0%, var(--school-primary-dark) 100%) !important;
}

.sidebar {
    width: 14rem !important;
    background: linear-gradient(180deg, var(--school-primary) 0%, var(--school-primary-dark) 100%) !important;
}

.sidebar-dark .nav-item .nav-link {
    color: #ffffff !important; /* Bright white for better visibility */
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
    opacity: 1 !important; /* Full opacity for maximum visibility */
}

.sidebar-dark .nav-item .nav-link span {
    color: #ffffff !important; /* Ensure text spans are also white */
}

.sidebar-dark .nav-item .nav-link i {
    color: #ffffff !important; /* Ensure icons are also white */
}

.sidebar-dark .nav-item .nav-link:hover,
.sidebar-dark .nav-item .nav-link:focus,
.sidebar-dark .nav-item .nav-link.active {
    background-color: var(--school-accent) !important;
    color: var(--school-primary) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    box-shadow: 0 2px 8px var(--school-shadow) !important;
    opacity: 1 !important;
}

/* Ensure hover text elements are also visible */
.sidebar-dark .nav-item .nav-link:hover span,
.sidebar-dark .nav-item .nav-link:focus span,
.sidebar-dark .nav-item .nav-link.active span {
    color: var(--school-primary) !important; /* Dark maroon text on white background */
}

.sidebar-dark .nav-item .nav-link:hover i,
.sidebar-dark .nav-item .nav-link:focus i,
.sidebar-dark .nav-item .nav-link.active i {
    color: var(--school-primary) !important; /* Dark maroon icons on white background */
}

/* Fix for collapsed menu items */
.sidebar-dark .nav-item .collapse .collapse-inner .collapse-item:hover {
    background-color: var(--school-accent) !important;
    color: var(--school-primary) !important;
}

.sidebar-dark .nav-item .collapse .collapse-inner .collapse-item.active {
    background-color: var(--school-accent) !important;
    color: var(--school-primary) !important;
    font-weight: 600 !important;
}

.sidebar-dark .sidebar-brand {
    color: #ffffff !important; /* Bright white for brand */
    font-weight: 700 !important;
}

.sidebar-dark .sidebar-brand * {
    color: #ffffff !important; /* Ensure all brand elements are white */
}

.sidebar-dark hr.sidebar-divider {
    border-color: rgba(255, 255, 255, 0.4) !important; /* More visible dividers */
}

.sidebar-dark .sidebar-heading {
    color: #ffffff !important; /* Bright white for headings */
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 0.8rem !important;
    opacity: 1 !important; /* Full opacity for headings */
}

/* Ensure ALL sidebar text is white when not hovered */
 .sidebar-dark,
 .sidebar-dark *:not(:hover) {
    color: red !important;
}

/* Override any potential conflicting text colors in sidebar */
.sidebar-dark .nav-link:not(:hover),
.sidebar-dark .nav-link:not(:hover) *,
.sidebar-dark .sidebar-brand,
.sidebar-dark .sidebar-brand *,
.sidebar-dark .sidebar-heading {
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important; /* Add text shadow for better readability */
}

/* Topbar/Navigation Bar Styling */
.topbar {
    background: var(--school-accent) !important;
    border-bottom: 2px solid var(--school-primary) !important;
    box-shadow: 0 2px 8px var(--school-shadow) !important;
}

.topbar .navbar-nav .nav-link {
    color: var(--school-primary) !important;
}

.topbar .navbar-nav .nav-link:hover {
    color: var(--school-primary-dark) !important;
}

.topbar .dropdown-menu {
    border: 1px solid var(--school-border) !important;
    box-shadow: 0 4px 20px var(--school-shadow) !important;
}

.topbar .dropdown-item:hover {
    background-color: rgba(73, 30, 23, 0.1) !important;
    color: var(--school-primary) !important;
}

.text-gray-600 {
    color: var(--school-primary) !important;
}

/* Sidebar toggle button */
#sidebarToggleTop {
    color: var(--school-primary) !important;
}

#sidebarToggleTop:hover {
    color: var(--school-primary-dark) !important;
    background-color: rgba(73, 30, 23, 0.1) !important;
}

/* Content Wrapper and Main Content Area */
#content-wrapper {
    background-color: var(--school-background) !important;
    margin-left: 0 !important;
}

#content {
    background-color: var(--school-background) !important;
}

.container-fluid {
    background-color: var(--school-background) !important;
    padding: 1.5rem !important;
}

/* Ensure proper spacing from sidebar */
@media (min-width: 768px) {
    #content-wrapper {
        margin-left: 14rem !important;
    }
}

/* Critical Layout Fix - Prevent Sidebar Overlap */
@media (min-width: 768px) {
    #wrapper {
        display: flex !important;
    }
    
    .sidebar {
        flex: 0 0 14rem !important;
        width: 14rem !important;
        min-height: 100vh !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        z-index: 1000 !important;
    }
    
    #content-wrapper {
        flex: 1 !important;
        margin-left: 14rem !important;
        min-height: 100vh !important;
        background-color: var(--school-background) !important;
    }
    
    #content {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .container-fluid {
        padding: 1.5rem !important;
        max-width: none !important;
    }
}

/* Collapsed sidebar state */
.sidebar.toggled {
    margin-left: -14rem !important;
}

.sidebar.toggled ~ #content-wrapper {
    margin-left: 0 !important;
}

/* Cards and Content */
.card {
    border: 1px solid var(--school-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px var(--school-shadow) !important;
    transition: all 0.3s ease !important;
}

.card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px var(--school-shadow) !important;
}

/* Enhanced card header styling */
.card-header {
    background: linear-gradient(135deg, var(--school-primary) 0%, var(--school-primary-dark) 100%) !important;
    color: #ffffff !important;
    border-bottom: 1px solid var(--school-primary-light) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 1rem 1.5rem !important;
    border-radius: 12px 12px 0 0 !important;
}

/* Dashboard Statistics Cards */
.text-primary {
    color: var(--school-primary) !important;
}

.border-left-primary {
    border-left: 4px solid var(--school-primary) !important;
}

.border-left-success {
    border-left: 4px solid #28a745 !important;
}

.border-left-info {
    border-left: 4px solid #36b9cc !important;
}

.border-left-warning {
    border-left: 4px solid #f6c23e !important;
}

/* Navigation and Dropdowns */
.navbar-nav .nav-item .nav-link {
    color: var(--school-text) !important;
}

.dropdown-menu {
    border: 1px solid var(--school-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px var(--school-shadow) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(73, 30, 23, 0.1) !important;
    color: var(--school-primary) !important;
}

/* Tables */
.table thead th {
    background-color: var(--school-primary) !important;
    color: var(--school-accent) !important;
    border-color: var(--school-primary-light) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.table-hover tbody tr:hover {
    background-color: rgba(73, 30, 23, 0.05) !important;
}

/* Form Controls */
.form-control:focus {
    border-color: var(--school-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(73, 30, 23, 0.25) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--school-primary) !important;
    border-color: var(--school-primary) !important;
}

/* Alerts */
.alert-primary {
    color: #2d110d !important;
    background-color: rgba(73, 30, 23, 0.1) !important;
    border-color: var(--school-primary-light) !important;
}

/* Pagination */
.page-item.active .page-link {
    background-color: var(--school-primary) !important;
    border-color: var(--school-primary) !important;
}

.page-link {
    color: var(--school-primary) !important;
}

.page-link:hover {
    color: var(--school-primary-dark) !important;
    background-color: rgba(73, 30, 23, 0.1) !important;
    border-color: var(--school-primary-light) !important;
}

/* Progress Bars */
.progress-bar {
    background-color: var(--school-primary) !important;
}

/* Badges */
.badge-primary {
    background-color: var(--school-primary) !important;
}

.badge-secondary {
    background-color: var(--school-secondary) !important;
}

/* Links */
a {
    color: var(--school-primary) !important;
    transition: color 0.3s ease !important;
}

a:hover {
    color: var(--school-primary-dark) !important;
    text-decoration: none !important;
}

/* Enhanced Dashboard Statistics Cards */
.dashboard-stat-card {
    transition: all 0.3s ease !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    border: none !important;
    position: relative !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
}

.dashboard-stat-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25) !important;
}

.dashboard-stat-card .card-body {
    padding: 2rem 1.5rem !important;
    position: relative !important;
    z-index: 2 !important;
}

.dashboard-stat-icon {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.5rem !important;
    color: #ffffff !important;
    margin: 0 auto 1.5rem auto !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3) !important;
    border: 3px solid rgba(255, 255, 255, 0.3) !important;
}

.dashboard-stat-number {
    font-size: 2.8rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 0.5rem !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    line-height: 1 !important;
}

.dashboard-stat-label {
    font-size: 1rem !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 0 !important;
}

/* Dashboard Quick Action Buttons */
.dashboard-stat-card .btn {
    background: rgba(255, 255, 255, 0.2) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    color: #ffffff !important;
    font-size: 0.8rem !important;
    padding: 0.4rem 1rem !important;
    border-radius: 20px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-top: 0.5rem !important;
    transition: all 0.3s ease !important;
}

.dashboard-stat-card .btn:hover {
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--school-primary) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(255, 255, 255, 0.3) !important;
}

/* Enhanced background gradients for better visual hierarchy */
.bg-primary.dashboard-stat-card {
    background: linear-gradient(135deg, var(--school-primary) 0%, var(--school-primary-dark) 50%, #1a0b08 100%) !important;
}

.bg-success.dashboard-stat-card {
    background: linear-gradient(135deg, #28a745 0%, #1e7e34 50%, #155724 100%) !important;
}

.bg-info.dashboard-stat-card {
    background: linear-gradient(135deg, #17a2b8 0%, #117a8b 50%, #0c5460 100%) !important;
}

.bg-warning.dashboard-stat-card {
    background: linear-gradient(135deg, #ffc107 0%, #e0a800 50%, #b8860b 100%) !important;
}

.bg-danger.dashboard-stat-card {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 50%, #721c24 100%) !important;
}

.bg-secondary.dashboard-stat-card {
    background: linear-gradient(135deg, #6c757d 0%, #495057 50%, #212529 100%) !important;
}

/* Add decorative elements */
.dashboard-stat-card::before {
    content: '';
    position: absolute !important;
    top: -50% !important;
    right: -50% !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 50% !important;
    z-index: 1 !important;
    transition: all 0.3s ease !important;
}

.dashboard-stat-card:hover::before {
    transform: scale(1.2) !important;
    opacity: 0.5 !important;
}

/* Ensure text stays on top */
.dashboard-stat-card .card-body * {
    position: relative !important;
    z-index: 3 !important;
}

/* Enhanced List Groups */
.list-group-item {
    border: 1px solid var(--school-border) !important;
    transition: all 0.3s ease !important;
}

.list-group-item:hover {
    background-color: rgba(73, 30, 23, 0.05) !important;
    border-color: var(--school-primary-light) !important;
    transform: translateX(3px) !important;
}

/* Login Page Styling */
.login-card {
    border: none !important;
    border-radius: 15px !important;
    box-shadow: 0 15px 50px var(--school-shadow) !important;
}

.login-form .form-control {
    border-radius: 10px !important;
    border: 2px solid var(--school-border) !important;
    padding: 0.8rem 1rem !important;
    font-size: 1rem !important;
}

.login-form .form-control:focus {
    border-color: var(--school-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(73, 30, 23, 0.25) !important;
}

/* Body and HTML base styling */
html, body {
    height: 100%;
    overflow-x: hidden;
}

body {
    background: var(--school-background) !important;
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' !important;
}

/* Page wrapper and content layout */
#page-top {
    height: 100%;
    overflow-x: hidden;
}

#wrapper {
    display: flex;
    width: 100%;
    min-height: 100vh;
}

/* Ensure content doesn't overlap with sidebar */
.sidebar + #content-wrapper {
    flex: 1;
    overflow-x: hidden;
}

/* Print Styles */
@media print {
    .sidebar,
    .navbar,
    .btn,
    .dropdown {
        display: none !important;
    }
    
    .main-content {
        margin-left: 0 !important;
        padding: 0 !important;
    }
    
    .card {
        box-shadow: none !important;
        border: 1px solid #ddd !important;
    }
}

/* FINAL SIDEBAR HOVER FIX - Highest Priority */
.sidebar-dark .nav-item .nav-link:hover,
.sidebar-dark .nav-item .nav-link:focus,
.sidebar-dark .nav-item .nav-link:active,
.sidebar-dark .nav-item .nav-link.active,
.sidebar .nav-item .nav-link:hover,
.sidebar .nav-item .nav-link:focus,
.sidebar .nav-item .nav-link:active,
.sidebar .nav-item .nav-link.active {
    background-color: #ffffff !important; /* White background */
    color: #491e17 !important; /* Dark maroon text */
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
    box-shadow: 0 2px 8px rgba(73, 30, 23, 0.15) !important;
}

/* Ensure all child elements also have correct colors */
.sidebar-dark .nav-item .nav-link:hover *,
.sidebar-dark .nav-item .nav-link:focus *,
.sidebar-dark .nav-item .nav-link:active *,
.sidebar-dark .nav-item .nav-link.active *,
.sidebar .nav-item .nav-link:hover *,
.sidebar .nav-item .nav-link:focus *,
.sidebar .nav-item .nav-link:active *,
.sidebar .nav-item .nav-link.active * {
    color: #491e17 !important; /* Dark maroon for all nested elements */
}

/* Override style.css yellow background conflict */
.sidebar nav a.active,
.sidebar nav a:hover {
    background: #ffffff !important; /* White background instead of yellow */
    color: #491e17 !important; /* Dark maroon text instead of dark blue */
    font-weight: 600 !important;
    border-radius: 8px !important;
}

/* Additional specificity for SB Admin template overrides */
ul.navbar-nav.bg-gradient-primary.sidebar.sidebar-dark.accordion .nav-item .nav-link:hover,
ul.navbar-nav.bg-gradient-primary.sidebar.sidebar-dark.accordion .nav-item .nav-link:focus,
ul.navbar-nav.bg-gradient-primary.sidebar.sidebar-dark.accordion .nav-item .nav-link.active {
    background-color: #ffffff !important;
    color: #491e17 !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin: 2px 8px !important;
}

/* Force sidebar submenu (dropdown-menu) and its links to have dark text and light background, overriding all other styles */
.sidebar .dropdown-menu, .sidebar .dropdown-menu a {
    color: #222 !important;
    background: #f4f7fa !important;
}

.sidebar .dropdown-menu a:hover, .sidebar .dropdown-menu a.active {
    background: #e3eaf2 !important;
    color: #00509e !important;
}

/* Force sidebar submenu to be visible and readable even in .sidebar-dark */
.sidebar-dark .dropdown-menu, .sidebar-dark .dropdown-menu a {
    color: #222 !important;
    background: #f4f7fa !important;
    text-shadow: none !important;
}

.sidebar-dark .dropdown-menu a:hover, .sidebar-dark .dropdown-menu a.active {
    background: #e3eaf2 !important;
    color: #00509e !important;
}
