.box_dashboard {
    display: block;
    font-size: 15px;
    margin-top: 38px;
    white-space: nowrap;
    margin-left: 19px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* LCP Performance Optimizations for h3.box-title & Headings */
h3.box-title,
.box-title,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-display: swap !important;
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
}

/* Admin Header Logo Fit Fixes (Prominent Logo Display) */
.main-header .logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 65px !important;
    padding: 3px 0 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 1050 !important;
}

/* Sidebar Open (Default State): Show logo-lg, Hide logo-mini */
.main-header .logo .logo-lg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
    line-height: normal !important;
    overflow: visible !important;
}

.main-header .logo .logo-mini {
    display: none !important;
}

.main-header .logo .logo-lg img {
    max-width: 100% !important;
    max-height: 60px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.3)) !important;
    position: relative !important;
    z-index: 1055 !important;
}

/* Sidebar Collapsed State: Hide logo-lg, Show logo-mini */
body.sidebar-collapse .main-header .logo .logo-lg,
.sidebar-collapse .main-header .logo .logo-lg {
    display: none !important;
}

body.sidebar-collapse .main-header .logo .logo-mini,
.sidebar-collapse .main-header .logo .logo-mini {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
    overflow: visible !important;
}

.main-header .logo .logo-mini img {
    max-width: 46px !important;
    max-height: 46px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    filter: drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.3)) !important;
}

/* Push Sidebar Menu content down so it starts cleanly below the header logo area */
.main-sidebar .sidebar {
    padding-top: 25px !important;
}

/* ==========================================================================
   Admin Navigation (Navbar) & Sidebar Deep Purple / Violet Gradient Theme
   ========================================================================== */

/* Top Header & Navbar Gradient */
.main-header,
.main-header .navbar,
.main-header .logo,
.skin-blue .main-header .navbar,
.skin-blue .main-header .logo {
    background: linear-gradient(90deg, #6719b5 0%, #6324c2 35%, #5f169a 70%, #7115c1 100%) !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
}

.main-header .logo {
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.main-header .navbar .nav>li>a,
.main-header .navbar .sidebar-toggle,
.main-header .sidebar-session,
.main-header .navbar .nav>li>a>i {
    color: #ffffff !important;
}

.main-header .navbar .sidebar-toggle:hover,
.main-header .navbar .nav>li>a:hover {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* Sidebar Gradient - Smooth Top to Bottom Transition in Deep Purple / Violet Tones */
.main-sidebar,
.main-sidebar .sidebar,
.left-side,
.skin-blue .main-sidebar,
.skin-blue .sidebar,
.sidebar-menu {
    background: linear-gradient(180deg, #2e0854 0%, #3b0764 35%, #581c87 75%, #6b21a8 100%) !important;
}

/* Sidebar Search Form Input */
.main-sidebar .search-form2 .form-control,
.main-sidebar .search-form {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.main-sidebar .search-form2 .form-control::placeholder {
    color: rgba(255, 255, 255, 0.75) !important;
}

/* Sidebar Menu Items */
.sidebar-menu>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin-bottom: 2px !important;
}

.sidebar-menu>li>a {
    color: #f3e8ff !important;
    border-left: 3px solid transparent !important;
    transition: all 0.3s ease-in-out !important;
    font-weight: 500 !important;
    margin: 2px 6px !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    padding: 10px 15px !important;
}

.sidebar-menu>li>a i,
.sidebar-menu>li>a .fa,
.sidebar-menu>li>a .ion {
    color: #e9d5ff !important;
    transition: transform 0.3s ease !important;
}

/* Arrow flip / reversal (Pointing Right by default, Pointing Down when open) */
.sidebar-menu>li.treeview>a .fa-angle-left,
.sidebar-menu>li.treeview>a .pull-right-container .fa-angle-left,
.sidebar-menu>li.treeview>a .fa-chevron-left {
    transform: rotate(180deg) !important;
    /* Pointing Right by default */
    transition: transform 0.3s ease !important;
}

.sidebar-menu>li.treeview.menu-open>a .fa-angle-left,
.sidebar-menu>li.treeview.active>a .fa-angle-left,
.sidebar-menu>li.treeview.menu-open>a .pull-right-container .fa-angle-left,
.sidebar-menu>li.treeview.active>a .pull-right-container .fa-angle-left {
    transform: rotate(270deg) !important;
    /* Pointing Down when open */
}

/* Hover & Active States with Glassmorphism for Main Menu Items */
.sidebar-menu>li:hover>a,
.sidebar-menu>li.active>a,
.sidebar-menu>li.menu-open>a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.16) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    border-left: 3px solid #c084fc !important;
}

.sidebar-menu>li:hover>a i:not(.pull-right):not(.fa-angle-left),
.sidebar-menu>li.active>a i:not(.pull-right):not(.fa-angle-left) {
    color: #ffffff !important;
    transform: scale(1.1);
}

/* Submenu Dropdown Container */
.sidebar-menu .treeview-menu {
    background: rgba(24, 4, 46, 0.4) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    padding: 5px 0 !important;
    border-radius: 8px !important;
    margin: 2px 6px 8px 6px !important;
}

/* Submenu Dropdown Items */
.sidebar-menu .treeview-menu>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.sidebar-menu .treeview-menu>li:last-child {
    border-bottom: none !important;
}

.sidebar-menu .treeview-menu>li>a {
    color: #e9d5ff !important;
    transition: all 0.25s ease !important;
    padding-left: 30px !important;
    margin: 2px 6px !important;
    border-radius: 6px !important;
    border: 1px solid transparent !important;
}

.sidebar-menu .treeview-menu>li:hover>a,
.sidebar-menu .treeview-menu>li.active>a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.18) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12) !important;
}

.sidebar-menu .treeview-menu>li>a i {
    color: #d8b4fe !important;
}

/* User Header / Section Labels */
.sidebar-menu li.header {
    color: #d8b4fe !important;
    background: rgba(0, 0, 0, 0.2) !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    border-radius: 4px !important;
    margin: 4px 6px !important;
}

/* ==========================================================================
   Academic Year & Quick Links (Top Sidebar Menu) Transparent & Glassmorphism
   ========================================================================== */
.fixedmenu,
.sessionul {
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.sessionul li a {
    color: #f3e8ff !important;
    font-weight: 500 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    display: block !important;
    border: 1px solid transparent !important;
    margin: 2px 6px !important;
}

.sessionul li a:hover,
.sessionul li.open>a,
.sessionul li.dropdown.open>a {
    background: rgba(255, 255, 255, 0.16) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
    color: #ffffff !important;
}

.sessionul li a i {
    color: #e9d5ff !important;
    transition: transform 0.2s ease !important;
}

.sessionul li a:hover i {
    color: #ffffff !important;
    transform: scale(1.1);
}

/* ==========================================================================
   Frontend Header Scroll & Sticky Affix Fix
   When scrolling down past toparea/announcement bar, attach header to top:0
   ========================================================================== */
#alert.affix,
header.affix,
.affix#alert,
.affix header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2) !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Eliminate empty gap above container when header is affixed */
#alert.affix+.container,
#alert.affix+#bootstrap-touch-slider,
#alert.affix+div,
.affix+.container,
.affix+#bootstrap-touch-slider,
.affix+div {
    margin-top: 0 !important;
}

/* ==========================================================================
   Login Page Logo & Background Layout Fixes
   ========================================================================== */
.form-top-left.logowidth,
.logowidth {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 10px 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.form-top-left.logowidth img,
.logowidth img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 280px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Background image scaling behind announcements right column */
.nopadding-2 .text-wrap {
    background-size: 70% auto !important;
    background-position: center center !important;
}

/* Welcome to Title Styling */
.welcome-title {
    font-family: "Doppio One", sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #065EC2 !important;
    line-height: 30px !important;
    text-align: center !important;
    margin: 0 auto 12px auto !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
}

.form-top-left.logowidth,
.logowidth {
    flex-direction: column !important;
}