/* 
   Modern & Unique UI Stylesheet for HRMS 
   Created to modernise Bootstrap 3 legacy styles into a Premium SaaS Design
*/

:root {
    --primary-color: #4f46e5; /* Premium Indigo */
    --primary-hover: #4338ca;
    --bg-main: #f8fafc; /* Slate-50 */
    --bg-sidebar: linear-gradient(180deg, #09062b 0%, #151044 100%); /* Deep Violet Dark */
    --bg-sidebar-hover: rgba(255, 255, 255, 0.04);
    --border-color: #e2e8f0; /* Slate-200 */
    --text-main: #0f172a; /* Slate-900 */
    --text-muted: #64748b; /* Slate-500 */
    --card-bg: #ffffff;
    --card-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
    --card-hover-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 10px -5px rgba(0, 0, 0, 0.03);
    --border-radius: 12px;
    --border-radius-lg: 20px;
    --border-radius-sm: 8px;
}

/* Global Font Overrides - Excluding Icon Elements */
body, html, p, h1, h2, h3, h4, h5, h6, input, button, select, textarea, th, td, 
a:not(.fa):not([class^="pe-"]):not([class^="ti-"]):not([class*="fa-"]):not([class*="pe-"]):not([class*="ti-"]) {
    font-family: 'Plus Jakarta Sans', 'Segoe UI', -apple-system, BlinkMacSystemFont, Roboto, sans-serif !important;
}

body {
    background-color: var(--bg-main) !important;
    color: var(--text-main) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    -webkit-font-smoothing: antialiased;
}

/* EXPLICIT ICON FONT PRESERVATION (CRITICAL FIX) */
.fa, [class^="fa-"], [class*=" fa-"] {
    font-family: 'FontAwesome' !important;
}

[class^="pe-7s-"], [class*=" pe-7s-"] {
    font-family: 'Pe-icon-7-stroke' !important;
}

[class^="ti-"], [class*=" ti-"] {
    font-family: 'themify' !important;
}

/* Remove Legacy Green Triangle from Cards */
.panel-bd .panel-heading::before {
    display: none !important;
}

/* Site Wrapper & Main Content Layout */
.wrapper {
    background-color: var(--bg-main) !important;
}

.content-wrapper {
    background-color: var(--bg-main) !important;
    padding: 79px 30px 15px 30px !important; /* Push below absolute 64px header navbar */
}

.content-header {
    background-color: transparent !important;
    padding: 24px 0 16px 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important; /* Anchor absolute elements like breadcrumbs */
}

.content-header .header-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    background-color: rgba(99, 102, 241, 0.1) !important;
    color: var(--primary-color) !important;
    border-radius: var(--border-radius) !important;
    font-size: 22px !important;
    margin: 0 16px 0 0 !important; /* Override legacy margin-top: -4px */
    line-height: 1 !important; /* Override legacy line-height: 0 */
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08) !important;
}

.content-header .header-icon i {
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

.content-header .header-title {
    padding-left: 0 !important;
    margin-left: 0 !important; /* Clear legacy 68px left margin */
}

.content-header .header-title h1 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    margin: 0 !important;
    letter-spacing: -0.02em !important;
}

.content-header .header-title small {
    display: block !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    margin-top: 4px !important;
    font-weight: 400 !important;
}

/* Modern Breadcrumb Styling */
.header-title .breadcrumb {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    position: absolute !important;
    right: 0 !important;
    bottom: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.header-title .breadcrumb > li > a {
    color: var(--text-muted) !important;
    transition: color 0.15s ease !important;
}

.header-title .breadcrumb > li > a:hover {
    color: var(--primary-color) !important;
}

.header-title .breadcrumb > .active {
    color: var(--text-main) !important;
    font-weight: 600 !important;
}


.content {
    padding: 0 !important;
}

/* Navbar / Main Header Styling */
.main-header {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    height: 64px !important;
    max-height: 64px !important;
    position: absolute !important;
    width: 100% !important;
    z-index: 1030 !important;
    pointer-events: none !important; /* Allow clicks to pass through to elements underneath */
}

/* Hide brand logo from navbar since it renders inside the sidebar in modern design */
.main-header .logo {
    display: none !important;
}

.navbar-static-top {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8) !important; /* Slate-200 */
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.02) !important;
    min-height: 64px !important;
    height: 64px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-right: 24px !important;
    padding-left: 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    pointer-events: auto !important; /* Re-enable clicks for navbar interactive elements */
}

/* Navbar Left Elements Layout */
.navbar-left-elements {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    float: left !important;
    height: 100% !important;
}

.sidebar-toggle {
    color: var(--text-main) !important;
    background-color: transparent !important;
    font-size: 16px !important;
    padding: 0 !important;
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    border: 1px solid transparent !important;
}

@media (min-width: 768px) {
    .sidebar-toggle {
        display: none !important;
    }
}

.sidebar-toggle:hover {
    background-color: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: var(--primary-color) !important;
}

/* Rounded Search Bar Widget */
.header-search-bar {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.header-search-bar .search-icon {
    position: absolute !important;
    left: 12px !important;
    color: var(--text-muted) !important;
    font-size: 13px !important;
}

.form-control-search {
    width: 400px !important; /* Premium wide default */
    height: 42px !important; /* Premium height */
    padding: 6px 16px 6px 38px !important;
    border-radius: 10px !important; /* Rounded corners */
    border: 1px solid var(--border-color) !important;
    background-color: #f1f5f9 !important; /* Modern search input bg */
    font-size: 13.5px !important;
    color: var(--text-main) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: none !important;
}

.form-control-search:focus {
    width: 480px !important; /* Premium expand on focus */
    border-color: var(--primary-color) !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1) !important;
    outline: none !important;
}

/* Rounded Date Widget */
.header-date-widget {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    padding: 0 16px !important;
    height: 40px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}

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

/* Navbar Right Icons & Profile Badge */
.navbar-custom-menu {
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
    height: 100% !important;
}

.navbar-custom-menu .navbar-nav {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important; /* Consistent spacing */
    margin: 0 !important;
}

.navbar-custom-menu .navbar-nav > li {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 64px !important;
}

.navbar-custom-menu .navbar-nav > li > a {
    color: var(--text-main) !important;
    font-weight: 500 !important;
    height: 38px !important;
    width: 38px !important;
    padding: 0 !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.navbar-custom-menu .navbar-nav > li > a:hover,
.navbar-custom-menu .navbar-nav > li.open > a {
    background-color: #f1f5f9 !important;
    color: var(--primary-color) !important;
}

.navbar-custom-menu .navbar-nav > li > a > i {
    font-size: 16px !important;
}

/* Modern Notification Badge styling */
.navbar-custom-menu .label-success {
    background-color: #ef4444 !important; /* Crimson Red badge */
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    box-shadow: 0 0 0 2px #ffffff !important; /* Clean outer ring */
    border: none !important;
    line-height: 1 !important;
}

/* Profile Dropdown Chip styling */
.navbar-custom-menu .navbar-nav > li.dropdown-user > a {
    width: auto !important;
    height: auto !important;
    padding: 4px 12px 4px 4px !important;
    border-radius: 30px !important;
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.02) !important;
}

.navbar-custom-menu .navbar-nav > li.dropdown-user > a:hover {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

.header-user-profile {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.header-avatar {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: none !important;
}

.header-user-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    line-height: 1.15 !important;
}

.header-username {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
}

.header-userrole {
    font-size: 10px !important;
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

.header-chevron {
    font-size: 10px !important;
    color: var(--text-muted) !important;
    margin-left: 2px !important;
}

/* User Profile Dropdown Menu styling */
.dropdown-user .dropdown-menu {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
    padding: 6px 0 !important;
    margin-top: 8px !important;
    min-width: 160px !important;
    background-color: #ffffff !important;
}

.dropdown-user .dropdown-menu li a {
    padding: 8px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all 0.15s ease !important;
}

.dropdown-user .dropdown-menu li a:hover {
    background-color: #f8fafc !important;
    color: var(--primary-color) !important;
    text-decoration: none !important;
}

.dropdown-user .dropdown-menu .divider {
    margin: 6px 0 !important;
    border-color: #e2e8f0 !important;
}

/* Modern message/notifications dropdown card styling */
.messages-menu .dropdown-menu {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
    padding: 8px 0 !important;
    margin-top: 8px !important;
    width: 280px !important;
    background-color: #ffffff !important;
}

.messages-menu .dropdown-menu li.header {
    background-color: #f8fafc !important;
    padding: 8px 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.messages-menu .dropdown-menu ul.menu {
    max-height: 200px !important;
    overflow-y: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.messages-menu .dropdown-menu ul.menu li a {
    padding: 10px 16px !important;
    display: flex !important;
    gap: 12px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    transition: all 0.15s ease !important;
}

.messages-menu .dropdown-menu ul.menu li a:hover {
    background-color: #f8fafc !important;
    text-decoration: none !important;
}

.messages-menu .dropdown-menu ul.menu li a img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
}

.messages-menu .dropdown-menu ul.menu li a h4 {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
    margin: 0 0 2px 0 !important;
}

.messages-menu .dropdown-menu ul.menu li a h4 small {
    font-size: 10px !important;
    color: var(--text-muted) !important;
    float: right !important;
}

.messages-menu .dropdown-menu ul.menu li a p {
    font-size: 11px !important;
    color: var(--text-muted) !important;
    margin: 0 !important;
}

.messages-menu .dropdown-menu li.footer a {
    display: block !important;
    text-align: center !important;
    padding: 8px 0 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: var(--primary-color) !important;
    border-top: 1px solid #e2e8f0 !important;
    transition: all 0.15s ease !important;
}

.messages-menu .dropdown-menu li.footer a:hover {
    background-color: #f8fafc !important;
    text-decoration: none !important;
}

/* Layout Spacing Adjustments & Wrapper Constraint */
.wrapper {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    box-shadow: none !important;
}

@media (min-width: 768px) {
    /* Expanded State (Default) */
    body:not(.sidebar-collapse) .main-sidebar {
        width: 260px !important;
        transform: translate3d(0, 0, 0) !important;
        left: 0 !important;
    }
    body:not(.sidebar-collapse) .main-header .navbar,
    body:not(.sidebar-collapse) .content-wrapper,
    body:not(.sidebar-collapse) .main-footer {
        margin-left: 260px !important;
        transition: margin-left 0.3s ease-in-out !important;
    }

    /* Collapsed State (completely hidden offscreen, no 50px icon strip) */
    body.sidebar-collapse .main-sidebar {
        width: 260px !important; /* Keep width same so it doesn't shrink during translate */
        transform: translate3d(-260px, 0, 0) !important;
        left: 0 !important;
        transition: transform 0.3s ease-in-out !important;
    }
    body.sidebar-collapse .main-header .navbar,
    body.sidebar-collapse .content-wrapper,
    body.sidebar-collapse .main-footer {
        margin-left: 0 !important;
        transition: margin-left 0.3s ease-in-out !important;
    }
    
    /* Override AdminLTE's default hiding behavior for collapsed state, since we hide the entire sidebar */
    body.sidebar-collapse .main-sidebar .user-panel > .info,
    body.sidebar-collapse .main-sidebar .sidebar-menu > li > a > span,
    body.sidebar-collapse .main-sidebar .sidebar-menu > li > .treeview-menu,
    body.sidebar-collapse .main-sidebar .sidebar-menu li.header {
        display: block !important;
        opacity: 1 !important;
    }
}

/* Mobile & Tablet Overrides (Under 768px) */
@media (max-width: 767px) {
    .main-sidebar {
        width: 260px !important;
        transform: translate3d(-260px, 0, 0) !important;
        transition: transform 0.3s ease-in-out !important;
    }
    body.sidebar-open .main-sidebar {
        transform: translate3d(0, 0, 0) !important;
    }
    .main-header .navbar,
    .content-wrapper,
    .main-footer {
        margin-left: 0 !important;
    }
}

/* Dashboard Main Two-Column Layout */
.dashboard-main-layout {
    margin-top: 12px !important;
}
.kpi-cards-grid {
    margin-bottom: 8px !important;
}
.dashboard-right-sidebar {
    padding-left: 12px !important;
}
@media (max-width: 991px) {
    .dashboard-right-sidebar {
        padding-left: 15px !important;
        margin-top: 24px !important;
    }
}

/* Notifications Bell Dropdown Styles */
.navbar-custom-menu .label-warning {
    background-color: #f59e0b !important; /* Amber badge */
    color: #ffffff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    box-shadow: 0 0 0 2px #ffffff !important;
    border: none !important;
    line-height: 1 !important;
}
.notifications-menu .dropdown-menu {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
    padding: 8px 0 !important;
    margin-top: 8px !important;
    width: 280px !important;
    background-color: #ffffff !important;
}
.notifications-menu .dropdown-menu li.header {
    background-color: #f8fafc !important;
    padding: 8px 16px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-bottom: 1px solid #e2e8f0 !important;
}
.notifications-menu .dropdown-menu ul.menu {
    max-height: 200px !important;
    overflow-y: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.notifications-menu .dropdown-menu ul.menu li a {
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    transition: all 0.15s ease !important;
    color: var(--text-main) !important;
    font-size: 12.5px !important;
}
.notifications-menu .dropdown-menu ul.menu li a:hover {
    background-color: #f8fafc !important;
    text-decoration: none !important;
}
.notifications-menu .dropdown-menu ul.menu li a i {
    font-size: 14px !important;
}
.notifications-menu .dropdown-menu li.footer a {
    display: block !important;
    text-align: center !important;
    padding: 8px 0 !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: var(--primary-color) !important;
    border-top: 1px solid #e2e8f0 !important;
    transition: all 0.15s ease !important;
}
.notifications-menu .dropdown-menu li.footer a:hover {
    background-color: #f8fafc !important;
    text-decoration: none !important;
}

.content-wrapper {
    background-color: var(--bg-main) !important;
    padding: 79px 32px 24px 32px !important; /* Push below absolute 64px header navbar and balance layout margins */
}

/* Sidebar Menu Design (Deep Indigo/Slate Gradient) */
.main-sidebar {
    background: linear-gradient(180deg, #09062b 0%, #151044 100%) !important; /* Deep Indigo Gradient */
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: 1px 0 10px rgba(0, 0, 0, 0.05) !important;
    padding-top: 0 !important;
}

.sidebar {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Sidebar Brand Header: Logo, HRMS, and Subtitle vertical-stacked & centered */
.sidebar-brand-wrapper {
    padding: 24px 16px !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    text-align: center !important;
}

.sidebar-brand-logo-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-decoration: none !important;
}

.brand-logo-bg {
    background: #ffffff !important;
    padding: 8px 16px !important;
    border-radius: var(--border-radius-sm) !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 180px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05) !important;
}

.brand-logo-img {
    max-height: 32px !important;
    max-width: 100% !important;
    object-fit: contain !important;
}

.brand-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    letter-spacing: 0.05em !important;
    margin-bottom: 4px !important;
    text-transform: uppercase !important;
}

.brand-subtitle {
    font-size: 10px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-weight: 500 !important;
    max-width: 200px !important;
    line-height: 1.3 !important;
}

/* User Profile Section */
.user-panel {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-direction: row !important;
    text-align: left !important;
}

.user-panel .image img {
    width: 36px !important; /* Smaller cleaner size */
    height: 36px !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
    object-fit: cover !important;
    transition: all 0.2s ease !important;
}

.user-panel:hover .image img {
    border-color: #ffffff !important;
    transform: scale(1.05);
}

.user-panel .info {
    padding: 0 !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.user-fullname {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin: 0 0 1px 0 !important;
}

.user-role {
    font-size: 10.5px !important;
    color: #94a3b8 !important;
    margin: 0 0 4px 0 !important;
    font-weight: 500 !important;
}

/* Sidebar User Status Indicator Pill */
.user-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: rgba(16, 185, 129, 0.1) !important;
    border: 1px solid rgba(16, 185, 129, 0.15) !important;
    padding: 1px 6px !important;
    border-radius: 20px !important;
}

.status-dot {
    width: 5px !important;
    height: 5px !important;
    background-color: #10b981 !important;
    border-radius: 50% !important;
    display: inline-block !important;
}

.status-text {
    color: #10b981 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Sidebar Navigation Items */
.sidebar-menu {
    padding: 12px 8px !important;
}

.sidebar-menu > li.header {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    letter-spacing: 0.08em !important;
    padding: 16px 12px 6px 12px !important;
    background: transparent !important;
    text-transform: uppercase !important;
}

.sidebar-menu > li {
    margin-bottom: 4px !important;
}

.sidebar-menu > li > a {
    color: #94a3b8 !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    border-left: none !important;
    transition: all 0.15s ease-in-out !important;
}

.sidebar-menu > li > a i {
    font-size: 15px !important;
    margin-right: 12px !important;
    width: 20px !important;
    text-align: center !important;
    opacity: 0.8 !important;
    transition: all 0.15s ease-in-out !important;
}

.sidebar-menu > li:hover > a {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

.sidebar-menu > li:hover > a i {
    opacity: 1 !important;
}

.sidebar-menu > li.active > a {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    box-shadow: none !important; /* Clean active state highlight (no excessive glow) */
    font-weight: 600 !important;
}

.sidebar-menu > li.active > a i {
    opacity: 1 !important;
}

/* Custom Chevrons indicator */
.sidebar-menu .pull-right-container {
    right: 16px !important;
    margin-top: -6px !important;
}

.sidebar-menu .pull-right-container i {
    font-size: 11px !important;
    color: inherit !important;
    opacity: 0.6 !important;
    transition: transform 0.15s ease !important;
}

.sidebar-menu li.active > a > .pull-right-container i {
    transform: rotate(90deg) !important;
}

/* Treeview Submenu Indentation with elegant visual alignment line */
.sidebar-menu .treeview-menu {
    background: transparent !important;
    padding: 4px 0 4px 16px !important;
    margin: 4px 0 4px 20px !important;
    border-left: 1.5px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 0 !important;
}

.sidebar-menu .treeview-menu li {
    margin-bottom: 2px !important;
}

.sidebar-menu .treeview-menu li a {
    color: #94a3b8 !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    display: block !important;
    transition: all 0.15s ease-in-out !important;
}

.sidebar-menu .treeview-menu li a:hover {
    color: #ffffff !important;
    background: transparent !important;
}

.sidebar-menu .treeview-menu li.active a {
    color: #ffffff !important;
    background: transparent !important;
    font-weight: 600 !important;
}

.sidebar-menu .treeview-menu li.active a::before {
    content: "• " !important;
    color: var(--primary-color) !important;
    margin-right: 6px !important;
    font-size: 14px !important;
    display: inline-block !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

/* Sidebar Upgrade Banner Card */
.upgrade-banner {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 12px !important;
    margin: auto 12px 12px 12px !important; /* Positions upgrade banner clean at sidebar footer */
    padding: 12px !important;
    position: relative !important;
    overflow: hidden !important;
}

.upgrade-banner .banner-content {
    position: relative !important;
    z-index: 2 !important;
    text-align: left !important;
}

.upgrade-banner h5 {
    color: #ffffff !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    margin: 0 0 2px 0 !important;
}

.upgrade-banner p {
    color: #94a3b8 !important;
    font-size: 10.5px !important;
    margin: 0 0 10px 0 !important;
}

.btn-upgrade {
    display: inline-block !important;
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}

.btn-upgrade:hover {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

.banner-crown {
    position: absolute !important;
    bottom: -6px !important;
    right: -6px !important;
    z-index: 1 !important;
    opacity: 0.15 !important;
}

/* Greeting Banner Card */
.greeting-banner-card {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(99, 102, 241, 0.01) 100%) !important;
    border: 1px solid rgba(99, 102, 241, 0.1) !important;
    border-radius: var(--border-radius-lg) !important;
    padding: 24px 30px !important;
    margin-bottom: 24px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    overflow: hidden !important;
    position: relative !important;
}

.greeting-pretitle {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    display: block !important;
    margin-bottom: 6px !important;
}

.greeting-title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--text-main) !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.03em !important;
}

.greeting-desc {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    margin: 0 !important;
    max-width: 500px !important;
}

.greeting-banner-graphic {
    margin-right: -10px !important;
}

/* Metrics Cards & Dashboard stats */
.firstBlock {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
    padding: 28px 24px !important; /* Spacious padding */
    margin: 0 0 24px 0 !important; /* Spacing between cards */
    min-height: 160px !important; /* Increased KPI card height */
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    overflow: hidden !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.firstBlock::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: transparent;
    transition: all 0.3s ease !important;
}

.firstBlock:hover {
    transform: translateY(-6px) !important;
    box-shadow: var(--card-hover-shadow) !important;
    border-color: rgba(99, 102, 241, 0.15) !important;
}

.firstblocksecondlabel {
    margin-bottom: 18px !important;
    float: none !important;
    height: auto !important;
    padding: 0 !important;
    text-align: left !important;
}

.spnHead {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    display: block !important;
}

.counterdiv {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: auto !important;
    float: none !important;
}

.fistblockinfoCount {
    font-size: 42px !important; /* Larger metric numbers */
    font-weight: 800 !important;
    color: var(--text-main) !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.fistblockinfo {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    order: 2 !important;
    float: none !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}

.firstBlock:hover .fistblockinfo {
    transform: scale(1.1);
}

/* Card metrics sparklines row */
.card-bottom-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 16px !important;
    border-top: 1px solid var(--border-color) !important;
    padding-top: 10px !important;
}

.card-trend {
    font-size: 11px !important;
    font-weight: 700 !important;
}

.card-sparkline {
    display: flex !important;
    align-items: center !important;
}

.card-sparkline svg path {
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* Card metric colors mapping */
.totalemployee {
    color: #4f46e5 !important;
    background-color: #e0e7ff !important;
}
.firstBlock:has(.totalemployee)::before {
    background: #4f46e5 !important;
}

.totalpresent {
    color: #059669 !important;
    background-color: #d1fae5 !important;
}
.firstBlock:has(.totalpresent)::before {
    background: #059669 !important;
}

.absentcount {
    color: #dc2626 !important;
    background-color: #fee2e2 !important;
}
.firstBlock:has(.absentcount)::before {
    background: #dc2626 !important;
}

.malecount {
    color: #0d9488 !important;
    background-color: #ccfbf1 !important;
}
.firstBlock:has(.malecount)::before {
    background: #0d9488 !important;
}

.femalecount {
    color: #db2777 !important;
    background-color: #fce7f3 !important;
}
.firstBlock:has(.femalecount)::before {
    background: #db2777 !important;
}

.leavecount {
    color: #d97706 !important;
    background-color: #fef3c7 !important;
}
.firstBlock:has(.leavecount)::before {
    background: #d97706 !important;
}

/* Charts Card Containers */
.chartrow {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
    padding: 28px !important; /* Better padding */
    margin: 0 0 24px 0 !important; /* Spacing between charts and cards */
    height: 380px !important; /* Taller chart container height */
    transition: all 0.3s ease !important;
}

.chartrow:hover {
    transform: translateY(-4px) !important;
    box-shadow: var(--card-hover-shadow) !important;
}

.chartcontent {
    border-radius: var(--border-radius) !important;
    height: 310px !important; /* Taller chart height */
}

.loanpiechart {
    border-radius: var(--border-radius) !important;
    height: 300px !important; /* Taller pie chart height */
    width: 100% !important;
    margin: 10px 0 !important;
}

/* Notices Cards Item details */
.dbTopDiv {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
    padding: 20px !important;
    margin: 10px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
}

.db2ndDiv {
    border-bottom: 1px solid var(--border-color) !important;
    padding-bottom: 12px !important;
    margin-bottom: 16px !important;
    float: none !important;
    height: auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.noticehead {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.view-all-link {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.view-all-link:hover {
    color: var(--primary-hover) !important;
    text-decoration: none !important;
}

.divContinuedAbsent {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    height: 240px !important; /* Custom height with vertical scroll */
    float: none !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
}

/* Notice feeds item block */
.notice-item-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius) !important;
    padding: 12px 14px !important;
    transition: all 0.2s ease !important;
}

.notice-item-card:hover {
    border-color: rgba(99, 102, 241, 0.2) !important;
    transform: translateX(4px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.02) !important;
}

.notice-date-box {
    width: 44px !important;
    height: 44px !important;
    background-color: #f1f5f9 !important;
    border-radius: var(--border-radius-sm) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.15 !important;
    flex-shrink: 0 !important;
}

.notice-day {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: var(--text-main) !important;
}

.notice-month {
    font-size: 9px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
}

.notice-content-box {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-align: left !important;
}

.notice-title {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    text-decoration: none !important;
}

.notice-title:hover {
    color: var(--primary-color) !important;
    text-decoration: none !important;
}

.notice-time {
    font-size: 11px !important;
    color: var(--text-muted) !important;
    margin-top: 2px !important;
}

.notice-badge {
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
}

.badge-system {
    background-color: #e0e7ff !important;
    color: #4f46e5 !important;
}

.badge-holiday {
    background-color: #fee2e2 !important;
    color: #dc2626 !important;
}

.badge-notice {
    background-color: #d1fae5 !important;
    color: #069669 !important;
}

/* Recent Recruits list layout item */
.recruit-item-card {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius) !important;
    padding: 12px 14px !important;
    transition: all 0.2s ease !important;
}

.recruit-item-card:hover {
    border-color: rgba(99, 102, 241, 0.2) !important;
    transform: translateX(4px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.02) !important;
}

.recruit-avatar-circle {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    flex-shrink: 0 !important;
}

.initial-avatar-0 {
    background-color: #e0e7ff !important;
    color: #4f46e5 !important;
}

.initial-avatar-1 {
    background-color: #d1fae5 !important;
    color: #069669 !important;
}

.initial-avatar-2 {
    background-color: #fce7f3 !important;
    color: #db2777 !important;
}

.recruit-details-box {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    text-align: left !important;
}

.recruit-name {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
}

.recruit-date {
    font-size: 11px !important;
    color: var(--text-muted) !important;
    margin-top: 2px !important;
}

.recruit-status-pill {
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 12px !important;
}

.status-selected {
    background-color: #d1fae5 !important;
    color: #069669 !important;
}

.status-interview {
    background-color: #e0e7ff !important;
    color: #4f46e5 !important;
}

.status-pending {
    background-color: #fef3c7 !important;
    color: #d97706 !important;
}

/* Quick Actions Grid layout */
.quick-actions-container {
    height: auto !important;
    overflow-y: visible !important;
}

.quick-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
}

.action-btn-card {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius) !important;
    padding: 16px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.action-btn-card:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03) !important;
    border-color: rgba(99, 102, 241, 0.2) !important;
    text-decoration: none !important;
}

.action-icon-circle {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 15px !important;
    margin-bottom: 8px !important;
}

.action-btn-card span {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    text-align: center !important;
}

/* Quick action colors classes styling */
.purple .action-icon-circle { background-color: #e0e7ff !important; color: #4f46e5 !important; }
.green .action-icon-circle { background-color: #d1fae5 !important; color: #069669 !important; }
.orange .action-icon-circle { background-color: #ffedd5 !important; color: #ea580c !important; }
.pink .action-icon-circle { background-color: #fce7f3 !important; color: #db2777 !important; }
.blue .action-icon-circle { background-color: #e0f2fe !important; color: #0284c7 !important; }
.teal .action-icon-circle { background-color: #ccfbf1 !important; color: #0d9488 !important; }

/* Panels, Tables, and Forms Overrides */
.panel-bd {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
}

.panel-bd .panel-heading {
    background-color: transparent !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 18px 24px !important;
}

.panel-bd .panel-title h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    margin: 0 !important;
}

.panel-bd .panel-body {
    padding: 24px !important;
}

.table-responsive {
    border: none !important;
}

.table {
    margin-bottom: 0 !important;
}

.table > thead > tr > th {
    background-color: #f8fafc !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 14px 16px !important;
    border-bottom: 2px solid var(--border-color) !important;
    border-top: none !important;
}

.table > tbody > tr > td {
    padding: 16px !important;
    border-bottom: 1px solid var(--border-color) !important;
    border-top: none !important;
    color: var(--text-main) !important;
    font-size: 13.5px !important;
    vertical-align: middle !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #f8fafc !important;
}

.table-hover > tbody > tr:hover {
    background-color: #f1f5f9 !important;
}

/* Form Fields & Buttons Overrides */
.form-group {
    margin-bottom: 20px !important;
}

.control-label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

.form-control {
    height: auto !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    border-radius: var(--border-radius-sm) !important;
    border: 1px solid var(--border-color) !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    color: var(--text-main) !important;
    transition: all 0.2s ease-in-out !important;
}

.form-control:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12) !important;
    outline: none !important;
}

.btn {
    padding: 10px 20px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    border-radius: var(--border-radius-sm) !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    border: none !important;
}

.btn-success {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
}

.btn-success:hover, .btn-success:focus, .btn-success:active {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25) !important;
}

.btn-info {
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.btn-info:hover, .btn-info:focus {
    background-color: #e2e8f0 !important;
    color: #334155 !important;
    border-color: #cbd5e1 !important;
}

/* Modern Alerts */
.alert {
    border-radius: var(--border-radius) !important;
    border: none !important;
    padding: 16px 20px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
}

.alert-success {
    background-color: #e2fbe8 !important;
    color: #15803d !important;
}

.alert-info {
    background-color: #e0e7ff !important;
    color: #4f46e5 !important;
}

.alert-danger {
    background-color: #fee2e2 !important;
    color: #b91c1c !important;
}

/* Modern Login Screen */
.login-wrapper {
    background: radial-gradient(circle at center, #ffffff 0%, #cbd5e1 100%) !important; /* Premium Radial Background Glow */
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}

.container-center {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 !important;
    float: none !important;
}

.login-wrapper .panel-bd {
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.08) !important;
    border-radius: var(--border-radius-lg) !important;
}

.login-wrapper .panel-heading {
    border-bottom: none !important;
    padding: 40px 40px 16px 40px !important;
    text-align: center !important;
}

.login-wrapper .view-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
}

.login-wrapper .header-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    background: linear-gradient(135deg, var(--primary-color), #4f46e5) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    font-size: 22px !important;
    box-shadow: 0 8px 16px rgba(99, 102, 241, 0.3) !important;
    margin-bottom: 20px !important;
    float: none !important;
    border: none !important;
}

.login-wrapper .header-icon i {
    line-height: 1 !important;
}

.login-wrapper .header-title h3 {
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--text-main) !important;
    letter-spacing: -0.03em !important;
}

.login-wrapper .header-title small h3 {
    color: var(--text-muted) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-top: 8px !important;
}

.login-wrapper .panel-body {
    padding: 16px 40px 40px 40px !important;
}

.login-wrapper .form-group {
    margin-bottom: 18px !important;
}

.login-wrapper .form-control {
    padding: 11px 16px !important;
    border-radius: var(--border-radius-sm) !important;
    border-color: #cbd5e1 !important;
}

.login-wrapper .form-control:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12) !important;
}

/* Captcha label field spacing adjustments */
.login-wrapper label[for="captcha"] {
    margin-bottom: 12px !important;
    display: block !important;
}

.login-wrapper #captcha {
    margin-top: 4px !important;
}

.login-wrapper form > div:last-child {
    display: flex !important;
    gap: 12px !important;
    margin-top: 28px !important;
}

.login-wrapper form > div:last-child .btn {
    flex: 1 !important;
    padding: 12px 20px !important;
    border-radius: var(--border-radius-sm) !important;
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}

.login-wrapper form > div:last-child .btn-success {
    background: linear-gradient(135deg, var(--primary-color) 0%, #4f46e5 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.25) !important;
}

.login-wrapper form > div:last-child .btn-success:hover {
    transform: translateY(-1.5px) !important;
    box-shadow: 0 6px 16px rgba(99, 102, 241, 0.35) !important;
}

.login-wrapper form > div:last-child .btn-info {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.login-wrapper form > div:last-child .btn-info:hover {
    background: #e2e8f0 !important;
    color: #334155 !important;
}

.login-wrapper #Imageid {
    border-radius: var(--border-radius-sm) !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

/* Thin Elegant Scrollbar */
::-webkit-scrollbar {
    width: 6px !important;
    height: 6px !important;
}
::-webkit-scrollbar-track {
    background: transparent !important;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 3px !important;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

/* ==========================================================================
   Employee List & Details (CV Profile) Overrides (Mantine style updates)
   ========================================================================== */

/* Employee Search Filter Panel */
.search-filter-panel {
    border-radius: var(--border-radius-lg) !important;
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: var(--card-shadow) !important;
    margin-bottom: 24px !important;
}

.search-inline-form {
    display: flex !important;
    align-items: center !important;
}

.search-form-group {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

.search-label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
    margin-bottom: 0 !important;
    white-space: nowrap !important;
}

.form-control-search-inline {
    flex-grow: 1 !important;
    max-width: 400px !important;
    border-radius: var(--border-radius-sm) !important;
    border: 1px solid var(--border-color) !important;
    height: 42px !important;
    padding: 8px 16px !important;
}

.btn-search-submit {
    height: 42px !important;
    padding: 0 24px !important;
    font-weight: 700 !important;
    border-radius: var(--border-radius-sm) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Datatable Panel styling */
.datatable-panel {
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
}

/* Employee Table Avatar */
.table-avatar-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
}

.employee-table-avatar {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 2px solid var(--border-color) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

/* State Badge */
.state-badge {
    display: inline-block !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--primary-color) !important;
    background-color: rgba(99, 102, 241, 0.1) !important;
    border-radius: 12px !important;
}

/* Table Actions Button Shortcuts */
.table-actions-container {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    justify-content: flex-start !important;
}

.btn-action-shortcut {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    border: none !important;
}

.btn-edit-action {
    background-color: rgba(99, 102, 241, 0.1) !important;
    color: var(--primary-color) !important;
}

.btn-edit-action:hover {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

.btn-delete-action {
    background-color: rgba(220, 38, 38, 0.1) !important;
    color: #dc2626 !important;
}

.btn-delete-action:hover {
    background-color: #dc2626 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

.btn-profile-action {
    background-color: rgba(5, 150, 105, 0.1) !important;
    color: #059669 !important;
}

.btn-profile-action:hover {
    background-color: #059669 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Semibold font helper */
.font-semibold {
    font-weight: 600 !important;
}

/* Profile CV/Details Styling */
.profile-actions-wrapper {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

.btn-action-print {
    background-color: #ffffff !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border-color) !important;
    font-weight: 600 !important;
    border-radius: var(--border-radius-sm) !important;
}

.btn-action-print:hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: var(--text-main) !important;
}

.btn-action-pdf {
    background-color: #ef4444 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    border-radius: var(--border-radius-sm) !important;
}

.btn-action-pdf:hover {
    background-color: #dc2626 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2) !important;
}

.profile-card {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-lg) !important;
    box-shadow: var(--card-shadow) !important;
    margin-bottom: 24px !important;
    padding: 24px !important;
    transition: all 0.3s ease !important;
}

.profile-card:hover {
    box-shadow: var(--card-hover-shadow) !important;
}

.profile-summary-card {
    text-align: center !important;
}

.profile-summary-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 12px 0 !important;
}

.profile-avatar-wrapper {
    position: relative !important;
    margin-bottom: 16px !important;
}

.profile-summary-avatar {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
}

.profile-name {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--text-main) !important;
    margin: 8px 0 4px 0 !important;
    letter-spacing: -0.03em !important;
}

.profile-badge-pos {
    display: inline-block !important;
    padding: 4px 12px !important;
    background-color: rgba(99, 102, 241, 0.1) !important;
    color: var(--primary-color) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    margin-bottom: 8px !important;
}

.profile-id-tag {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.profile-summary-divider {
    height: 1px !important;
    background-color: var(--border-color) !important;
    margin: 20px 0 !important;
}

.profile-summary-footer {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    text-align: left !important;
}

.footer-meta-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.meta-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.meta-val {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: var(--text-main) !important;
    word-break: break-all !important;
}

.card-header-styled {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding-bottom: 14px !important;
    margin-bottom: 20px !important;
}

.header-icon-styled {
    font-size: 20px !important;
    color: var(--primary-color) !important;
}

.card-header-styled h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--text-main) !important;
    margin: 0 !important;
    letter-spacing: -0.02em !important;
}

.profile-details-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.detail-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border-bottom: 1px dashed var(--border-color) !important;
    padding-bottom: 10px !important;
}

.detail-row:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.detail-label {
    font-size: 13px !important;
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

.detail-value {
    font-size: 13.5px !important;
    color: var(--text-main) !important;
    font-weight: 600 !important;
    text-align: right !important;
    max-width: 65% !important;
}

.table-profile-inner {
    border: 1px solid var(--border-color) !important;
    border-radius: var(--border-radius-sm) !important;
    overflow: hidden !important;
}

.table-profile-inner th {
    background-color: #f8fafc !important;
}

.result-badge {
    display: inline-block !important;
    padding: 3px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #059669 !important;
    background-color: #d1fae5 !important;
    border-radius: 12px !important;
}

/* Empty State Styling */
.profile-empty-state {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 32px 16px !important;
    text-align: center !important;
    background-color: #f8fafc !important;
    border: 1px dashed var(--border-color) !important;
    border-radius: var(--border-radius) !important;
}

.empty-icon {
    font-size: 32px !important;
    color: var(--text-muted) !important;
    margin-bottom: 12px !important;
    opacity: 0.6 !important;
}

.empty-text {
    font-size: 13px !important;
    color: var(--text-muted) !important;
    margin: 0 !important;
    font-weight: 500 !important;
}

.profile-empty-state-full {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 60px 40px !important;
    max-width: 600px !important;
    margin: 40px auto !important;
    text-align: center !important;
}

.empty-icon-large {
    font-size: 56px !important;
    color: #dc2626 !important;
    margin-bottom: 20px !important;
    opacity: 0.8 !important;
}

.profile-empty-state-full h2 {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--text-main) !important;
    margin: 0 0 10px 0 !important;
}

.profile-empty-state-full p {
    font-size: 14px !important;
    color: var(--text-muted) !important;
    max-width: 420px !important;
    margin: 0 auto 20px auto !important;
    line-height: 1.6 !important;
}

/* ==========================================================================
   Premium Split-Screen Login Page Overrides
   ========================================================================== */

.login-split-container {
    display: flex !important;
    min-height: 100vh !important;
    width: 100% !important;
    background-color: #ffffff !important;
    overflow-x: hidden !important;
}

.login-left-section {
    flex: 1.1 !important;
    background: linear-gradient(135deg, #f5f3ff 0%, #e0e7ff 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 60px 80px !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Subtle background circles for the left section */
.login-left-section::before {
    content: '' !important;
    position: absolute !important;
    top: -10% !important;
    right: -10% !important;
    width: 350px !important;
    height: 350px !important;
    border-radius: 50% !important;
    background: rgba(99, 102, 241, 0.06) !important;
    z-index: 0 !important;
}

.login-left-section::after {
    content: '' !important;
    position: absolute !important;
    bottom: -5% !important;
    left: -5% !important;
    width: 250px !important;
    height: 250px !important;
    border-radius: 50% !important;
    background: rgba(99, 102, 241, 0.06) !important;
    z-index: 0 !important;
}

.brand-logo-container {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    z-index: 1 !important;
}

.brand-logo-meta {
    display: flex !important;
    flex-direction: column !important;
    line-height: 1.25 !important;
}

.brand-logo-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.04em !important;
}

.brand-logo-subtitle {
    font-size: 11px !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

.left-content-wrapper {
    max-width: 540px !important;
    margin: auto 0 !important;
    z-index: 1 !important;
}

.left-hero-title {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 16px 0 !important;
}

.left-hero-title .highlight-text {
    color: #4f46e5 !important;
}

.left-hero-subtitle {
    font-size: 16px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 0 40px 0 !important;
}

.left-illustration-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
}

.left-illustration {
    max-width: 100% !important;
    height: auto !important;
    max-height: 380px !important;
    object-fit: contain !important;
    filter: drop-shadow(0 10px 20px rgba(99, 102, 241, 0.08)) !important;
}

.left-footer-copyright {
    font-size: 12px !important;
    color: #94a3b8 !important;
    z-index: 1 !important;
}

/* Right Section containing the Login card */
.login-right-section {
    flex: 0.9 !important;
    background-color: #f8fafc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 40px !important;
}

.login-card-container {
    width: 100% !important;
    max-width: 480px !important;
}

.login-card-container .panel-bd {
    background: #ffffff !important;
    border: 1px solid rgba(226, 232, 240, 0.8) !important;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06) !important;
    border-radius: 24px !important;
}

.login-card-container .panel-body {
    padding: 48px !important;
}

.welcome-badge-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 32px !important;
}

.welcome-user-icon {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%) !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 24px !important;
    box-shadow: 0 8px 20px rgba(79, 70, 229, 0.25) !important;
    margin-bottom: 20px !important;
}

.welcome-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 6px 0 !important;
    letter-spacing: -0.03em !important;
}

.welcome-subtitle {
    font-size: 14px !important;
    color: #64748b !important;
    margin: 0 !important;
}

/* Modern inputs with prefix icons */
.modern-input-group {
    margin-bottom: 24px !important;
}

.modern-input-group label {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    margin-bottom: 8px !important;
    display: inline-block !important;
}

.input-with-icon {
    position: relative !important;
}

.input-field-icon {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #94a3b8 !important;
    font-size: 16px !important;
    pointer-events: none !important;
}

.password-toggle-icon {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #94a3b8 !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}

.password-toggle-icon:hover {
    color: #4f46e5 !important;
}

.modern-input-group .form-control {
    height: 48px !important;
    padding: 10px 16px 10px 44px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    font-size: 14px !important;
    color: #0f172a !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    width: 100% !important;
    transition: all 0.2s ease-in-out !important;
}

.modern-input-group .form-control:focus {
    border-color: #4f46e5 !important;
    box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.12) !important;
}

/* Captcha styling alignment */
.captcha-group .captcha-flex-row {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
    align-items: stretch !important;
}

.captcha-group .captcha-img-box {
    flex-grow: 1 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    border: 1px solid #cbd5e1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #ffffff !important;
    height: 52px !important;
}

.captcha-group .captcha-img-box img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
}

.btn-captcha-refresh {
    width: 52px !important;
    height: 52px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.btn-captcha-refresh:hover {
    background-color: #f1f5f9 !important;
    color: #4f46e5 !important;
    border-color: #cbd5e1 !important;
}

.captcha-word-input {
    padding-left: 16px !important; /* No icon inside captcha text field */
}

/* Remember me & Forgot Password Row */
.remember-forgot-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 20px !important;
    margin-bottom: 28px !important;
}

.checkbox-container {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    cursor: pointer !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
}

.checkbox-container input {
    display: none !important;
}

.checkbox-checkmark {
    width: 18px !important;
    height: 18px !important;
    border: 2px solid #cbd5e1 !important;
    border-radius: 4px !important;
    display: inline-block !important;
    position: relative !important;
    transition: all 0.2s ease !important;
}

.checkbox-container input:checked + .checkbox-checkmark {
    background-color: #4f46e5 !important;
    border-color: #4f46e5 !important;
}

.checkbox-container input:checked + .checkbox-checkmark::after {
    content: '' !important;
    position: absolute !important;
    left: 5px !important;
    top: 2px !important;
    width: 5px !important;
    height: 8px !important;
    border: solid #ffffff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

.checkbox-text {
    font-size: 13.5px !important;
    color: #475569 !important;
    user-select: none !important;
}

.forgot-link {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #4f46e5 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.forgot-link:hover {
    color: #4338ca !important;
    text-decoration: none !important;
}

/* Submit Button styling */
.btn-login-submit {
    width: 100% !important;
    height: 48px !important;
    background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%) !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.2) !important;
    transition: all 0.2s ease !important;
}

.btn-login-submit:hover {
    transform: translateY(-1.5px) !important;
    box-shadow: 0 6px 16px rgba(79, 70, 229, 0.3) !important;
    color: #ffffff !important;
}

/* Or separator lines */
.login-or-separator {
    display: flex !important;
    align-items: center !important;
    text-align: center !important;
    margin: 24px 0 !important;
    color: #94a3b8 !important;
}

.login-or-separator::before,
.login-or-separator::after {
    content: '' !important;
    flex: 1 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.login-or-separator::before {
    margin-right: .5em !important;
}

.login-or-separator::after {
    margin-left: .5em !important;
}

.or-text {
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* Card footer text help */
.login-card-footer {
    text-align: center !important;
    font-size: 13.5px !important;
    color: #64748b !important;
}

.footer-link {
    color: #4f46e5 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.footer-link:hover {
    color: #4338ca !important;
    text-decoration: underline !important;
}

/* Alert Boxes Styling Overrides inside Login Card */
.login-alerts-box {
    margin-bottom: 24px !important;
}

.login-alerts-box .alert {
    padding: 12px 16px !important;
    margin-bottom: 10px !important;
    border-radius: 8px !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .login-split-container {
        flex-direction: column !important;
    }

    .login-left-section {
        display: none !important; /* Hide left side on smaller screens */
    }
    
    .login-right-section {
        padding: 24px !important;
    }
}

/* ==========================================================================
   Global Modern Table & jQuery DataTable Redesign (Mockup style alignment)
   ========================================================================== */

/* Global Modern Table & jQuery DataTable Redesign (Consolidated in Premium SaaS Section Below) */

/* Global Table cell styling overrides */
table.dataTable,
.table-modern-styled,
.table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    margin: 8px 0 !important;
}

/* Thead headers design */
table.dataTable > thead > tr > th,
.table-modern-styled > thead > tr > th,
.table > thead > tr > th {
    background-color: #f1f3f9 !important; /* Tinted lavender-gray header background */
    color: #1e1b4b !important; /* Dark violet/indigo text */
    font-weight: 700 !important;
    font-size: 12.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 16px 20px !important;
    border-bottom: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: middle !important;
    transition: all 0.2s ease !important;
}

/* Rounded top corners for table headers */
table.dataTable > thead > tr > th:first-child,
.table-modern-styled > thead > tr > th:first-child,
.table > thead > tr > th:first-child {
    border-top-left-radius: 12px !important;
    border-bottom-left-radius: 12px !important;
}

table.dataTable > thead > tr > th:last-child,
.table-modern-styled > thead > tr > th:last-child,
.table > thead > tr > th:last-child {
    border-top-right-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

/* Tbody columns cell data design */
table.dataTable > tbody > tr > td,
.table-modern-styled > tbody > tr > td,
.table > tbody > tr > td {
    padding: 18px 20px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #1e293b !important; /* Slate 800 */
    font-size: 13.5px !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    background-color: #ffffff !important;
}

/* Row hover colors */
table.dataTable > tbody > tr:hover > td,
.table-modern-styled > tbody > tr:hover > td,
.table > tbody > tr:hover > td {
    background-color: #f8fafc !important;
}

/* Alternating Row styles (extremely subtle) */
table.dataTable > tbody > tr.odd > td,
.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: #fafafa !important;
}

table.dataTable > tbody > tr.odd:hover > td,
.table-striped > tbody > tr:nth-of-type(odd):hover > td {
    background-color: #f8fafc !important;
}

/* Chevron Sorting indicator layout */
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after,
table.dataTable thead .sorting::before,
table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_desc::before {
    display: none !important; /* Hide standard ugly indicators */
}

table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    cursor: pointer !important;
    position: relative !important;
    padding-right: 30px !important;
}

table.dataTable thead th.sorting::after,
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::after {
    font-family: "FontAwesome" !important;
    position: absolute !important;
    right: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    opacity: 0.3 !important;
}

table.dataTable thead th.sorting::after {
    content: "\f0dc" !important; /* Up-down arrow */
}

table.dataTable thead th.sorting_asc::after {
    content: "\f0de" !important; /* Up arrow */
    opacity: 0.8 !important;
    color: var(--primary-color) !important;
}

table.dataTable thead th.sorting_desc::after {
    content: "\f0dd" !important; /* Down arrow */
    opacity: 0.8 !important;
    color: var(--primary-color) !important;
}

/* Vertical Ellipsis Action Button Circle */
.btn-ellipsis-action,
.table-ellipsis-action {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
}

.btn-ellipsis-action:hover,
.table-ellipsis-action:hover {
    background-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: scale(1.05) !important;
}

/* Replace default generic action elements with ellipsis style automatically if matched */
.table td .btn-action-ellipsis-menu {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background-color: #f1f5f9 !important;
    color: #475569 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.table td .btn-action-ellipsis-menu:hover {
    background-color: #cbd5e1 !important;
    color: #0f172a !important;
}

/* Add/Deduct Benefit Pills styling */
.pill-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 12px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    border-radius: 16px !important;
    border: none !important;
}

.pill-badge-add, 
.badge-add,
.benefit-add {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
}

.pill-badge-deduct, 
.badge-deduct,
.benefit-deduct {
    background-color: #fee2e2 !important;
    color: #991b1b !important;
}

/* Bottom Pagination & info alignment row */
.dataTables_wrapper .row:last-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 20px !important;
    width: 100% !important;
    padding: 0 4px !important;
}

.dataTables_wrapper .row:last-child > div {
    width: auto !important;
    float: none !important;
    padding: 0 !important;
}

.dataTables_info {
    font-size: 13.5px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    padding-top: 0 !important;
}

/* Custom Paging buttons structure override */
.dataTables_paginate, 
.pagination {
    display: inline-flex !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
}

.dataTables_paginate .paginate_button,
.pagination > li > a,
.pagination > li > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 16px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

.dataTables_paginate .paginate_button:hover,
.pagination > li > a:hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.dataTables_paginate .paginate_button.current,
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.25) !important;
    pointer-events: none !important;
}

.dataTables_paginate .paginate_button.disabled,
.pagination > .disabled > a,
.pagination > .disabled > span,
.dataTables_paginate .paginate_button.disabled:hover {
    color: #94a3b8 !important;
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    pointer-events: none !important;
}

/* ==========================================================================
   Premium SaaS DataTable & Data Grid Overrides
   ========================================================================== */

/* Page background color */
body {
    background-color: #F8FAFC !important;
}

/* Panel card wrapper for tables */
.panel-bd, .datatable-panel {
    background-color: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
    padding: 24px !important;
}

.panel-bd .panel-body,
.datatable-panel .panel-body {
    padding: 0 !important;
}

/* Dedicated Toolbar Card above the table */
.dataTables_wrapper .row:first-child {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important; /* Soft border */
    border-radius: 12px !important; /* Premium rounded corner for toolbar */
    padding: 14px 20px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 2px 4px -1px rgba(0, 0, 0, 0.02) !important; /* Premium soft shadow */
    margin: 0 0 20px 0 !important; /* Clean margins */
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Three equal flex divisions for left, center, right to perfectly center items */
.dataTables_wrapper .row:first-child > div {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
    flex: 1 1 0% !important;
}

/* Force order and alignment using modern CSS selectors */
.dataTables_wrapper .row:first-child > div:has(.dataTables_length) {
    order: 1 !important;
    justify-content: flex-start !important;
}

.dataTables_wrapper .row:first-child > div:has(.dt-buttons) {
    order: 2 !important;
    justify-content: center !important;
}

.dataTables_wrapper .row:first-child > div:has(.dataTables_filter) {
    order: 3 !important;
    justify-content: flex-end !important;
}

/* Ensure length, buttons, and filter wrappers align to horizontal baseline with exact 40px height */
.dataTables_length,
.dt-buttons,
.dataTables_filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important; /* Height is exactly 40px */
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

/* Show entries dropdown rounded input styling */
.dataTables_length {
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.dataTables_length label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    height: 40px !important;
    line-height: 40px !important;
    vertical-align: middle !important;
    font-family: 'Inter', sans-serif !important;
}

.dataTables_length select {
    height: 40px !important; /* Enforced 40px */
    padding: 8px 32px 8px 12px !important;
    border-radius: 10px !important; /* Border radius 10px */
    border: 1px solid #cbd5e1 !important; /* Soft border */
    background-color: #ffffff !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: 12px !important;
    min-width: 70px !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
}

.dataTables_length select:hover {
    border-color: #94a3b8 !important;
    background-color: #f8fafc !important;
}

.dataTables_length select:focus {
    border-color: #4F46E5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
    outline: none !important;
}

/* Style Select2 inside dataTables_length to match native modern select */
.dataTables_length .select2-container {
    width: auto !important;
    min-width: 80px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
}

.dataTables_length .select2-container--default .select2-selection--single {
    height: 40px !important;
    border-radius: 10px !important;
    border: 1px solid #E2E8F0 !important;
    background-color: #ffffff !important;
    color: #334155 !important;
    display: flex !important;
    align-items: center !important;
    padding-right: 28px !important;
    box-shadow: none !important;
    transition: all 0.2s ease !important;
}

.dataTables_length .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #334155 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    padding-left: 12px !important;
    padding-right: 0 !important;
}

.dataTables_length .select2-container--default .select2-selection--single .select2-selection__arrow {
    background-color: transparent !important; /* Remove legacy green bg */
    color: #475569 !important;
    width: 24px !important;
    height: 38px !important;
    top: 0 !important;
    right: 4px !important;
}

.dataTables_length .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none !important; /* Hide old b arrow symbol */
}

/* Custom modern SVG arrow inside select2 dropdown arrow container */
.dataTables_length .select2-container--default .select2-selection--single .select2-selection__arrow::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 12px !important;
    height: 12px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23475569' stroke-width='2.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    pointer-events: none !important;
}

.dataTables_length .select2-container--default .select2-selection--single:hover {
    border-color: #94a3b8 !important;
    background-color: #f8fafc !important;
}

.dataTables_length .select2-container--default.select2-container--focus .select2-selection--single,
.dataTables_length .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #4F46E5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
    outline: none !important;
}

/* Center aligned Export buttons with icons */
.dt-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.dt-button, 
a.dt-button, 
button.dt-button {
    height: 40px !important; /* Enforced 40px */
    padding: 0 16px !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important; /* Soft border */
    border-radius: 10px !important; /* Border radius 10px */
    color: #475569 !important; /* Slate 600 text */
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin: 0 !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.dt-button:hover, 
a.dt-button:hover {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #4F46E5 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}

.dt-button:active, 
a.dt-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

/* Hide standard FontAwesome pseudo-icons when emojis are used */
.dt-button.buttons-copy::before,
.dt-button.buttons-csv::before,
.dt-button.buttons-excel::before,
.dt-button.buttons-pdf::before,
.dt-button.buttons-print::before {
    display: none !important;
}

/* Right side Search box with search icon */
.dataTables_filter {
    margin: 0 !important;
}

.dataTables_filter label {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    vertical-align: middle !important;
}

.dataTables_filter input {
    height: 40px !important; /* Enforced 40px */
    width: 250px !important; /* Width 250px */
    padding: 8px 36px 8px 16px !important;
    border-radius: 10px !important; /* Border radius 10px */
    border: 1px solid #cbd5e1 !important; /* Soft border */
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #0f172a !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    margin: 0 !important;
    vertical-align: middle !important;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.dataTables_filter input:focus {
    width: 280px !important;
    border-color: #4F46E5 !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12) !important;
    outline: none !important;
}

.dataTables_filter input::placeholder {
    color: #94a3b8 !important;
}

/* Tablet & Mobile responsive card adjustments */
@media (max-width: 991px) {
    .dataTables_wrapper .row:first-child {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
        padding: 16px 20px !important;
    }
    
    .dataTables_wrapper .row:first-child > div {
        flex: 1 1 auto !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .dataTables_wrapper .row:first-child > div:has(.dataTables_length) {
        order: 1 !important;
        justify-content: center !important;
    }
    .dataTables_wrapper .row:first-child > div:has(.dt-buttons) {
        order: 2 !important;
        justify-content: center !important;
    }
    .dataTables_wrapper .row:first-child > div:has(.dataTables_filter) {
        order: 3 !important;
        justify-content: center !important;
    }
    
    .dataTables_filter input {
        width: 100% !important;
    }
    
    .dataTables_filter input:focus {
        width: 100% !important;
    }
}

/* Table container styling */
.table-responsive {
    border-radius: 16px !important;
    border: 1px solid #E2E8F0 !important;
    background-color: #ffffff !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    max-height: 650px !important;
}

table.dataTable,
.table-modern-styled,
.table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    margin: 0 !important;
    table-layout: auto !important;
}

/* Table Header sticky styling with stronger background and clean borders */
table.dataTable > thead > tr > th,
.table-modern-styled > thead > tr > th,
.table > thead > tr > th {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
    background-color: #f1f5f9 !important; /* Stronger gray header background */
    color: #1e293b !important; /* Slate 800 text */
    font-weight: 700 !important;
    font-size: 12px !important; /* 12px header typography */
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 16px 20px !important;
    border-bottom: 2px solid #cbd5e1 !important; /* Solid accent header border */
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: middle !important;
    box-shadow: inset 0 -2px 0 #cbd5e1 !important; /* Prevents visual gaps when scrolled */
}

/* Rounded top corners for headers */
table.dataTable > thead > tr > th:first-child,
.table-modern-styled > thead > tr > th:first-child,
.table > thead > tr > th:first-child {
    border-top-left-radius: 12px !important;
}

table.dataTable > thead > tr > th:last-child,
.table-modern-styled > thead > tr > th:last-child,
.table > thead > tr > th:last-child {
    border-top-right-radius: 12px !important;
}

/* Table Body cell sizing & vertical middle - compact spacing */
table.dataTable > tbody > tr > td,
.table-modern-styled > tbody > tr > td,
.table > tbody > tr > td {
    padding: 0 20px !important;
    height: 56px !important; /* Compact Row height exactly 56px */
    border-bottom: 1px solid #e2e8f0 !important; /* Soft separators only */
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #334155 !important; /* Slate 700 body text */
    font-size: 13.5px !important;
    font-weight: 500 !important;
    vertical-align: middle !important;
    background-color: #ffffff !important;
    transition: background-color 0.15s ease !important;
}

table.dataTable > tbody > tr,
.table-modern-styled > tbody > tr,
.table > tbody > tr {
    height: 56px !important;
}

/* Row Hover & Alternating Stripe colors */
table.dataTable > tbody > tr:hover > td,
.table-modern-styled > tbody > tr:hover > td,
.table > tbody > tr:hover > td {
    background-color: #f8fafc !important; /* Smooth hover effect */
}

table.dataTable > tbody > tr.odd > td,
.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: #fafbfd !important; /* Subtle alternating stripe */
}

table.dataTable > tbody > tr.odd:hover > td,
.table-striped > tbody > tr:nth-of-type(odd):hover > td {
    background-color: #f8fafc !important;
}

/* Action column center-aligned rounded square button */
.table-dropdown-actions {
    position: relative !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.btn-ellipsis-action {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important; /* Rounded square button */
    background-color: #f1f5f9 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin: 0 auto !important;
}

.btn-ellipsis-action:hover,
.table-dropdown-actions.open .btn-ellipsis-action {
    background-color: #cbd5e1 !important;
    color: #0f172a !important;
    transform: scale(1.02) !important;
}

.modern-dropdown-menu {
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
    padding: 8px 0 !important;
    min-width: 170px !important;
    background-color: #ffffff !important;
    z-index: 1050 !important;
}

.modern-dropdown-menu li a {
    padding: 10px 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #475569 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: all 0.15s ease !important;
}

.modern-dropdown-menu li a:hover {
    background-color: #f8fafc !important;
    color: #4F46E5 !important;
    text-decoration: none !important;
}

/* Mantine-like status badges */
.label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 12px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 20px !important; /* Mantine-style pill badges */
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    line-height: 1 !important;
}

.pill-badge-add, .badge-add, .benefit-add, .label-success, .state-badge {
    background-color: #d1fae5 !important;
    color: #065f46 !important;
}

.pill-badge-deduct, .badge-deduct, .benefit-deduct, .label-danger {
    background-color: #fee2e2 !important;
    color: #991b1b !important;
}

/* Modern Pill-Style Pagination aligned bottom right */
.dataTables_wrapper .row:last-child {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-top: 24px !important;
    width: 100% !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.dataTables_wrapper .row:last-child > div {
    float: none !important;
    width: auto !important;
    padding: 0 !important;
}

.dataTables_paginate {
    display: inline-flex !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    justify-content: flex-end !important;
}

/* Circular/Pill shape pagination */
.dataTables_paginate .paginate_button,
.pagination > li > a,
.pagination > li > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    width: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #475569 !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
}

/* Prev/Next buttons rounded pill style */
.dataTables_paginate .paginate_button.next,
.dataTables_paginate .paginate_button.previous,
.pagination > li:first-child > a,
.pagination > li:last-child > a,
.pagination > li:first-child > span,
.pagination > li:last-child > span {
    width: auto !important;
    padding: 0 16px !important;
    border-radius: 30px !important;
}

.dataTables_paginate .paginate_button:hover,
.pagination > li > a:hover {
    background-color: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.dataTables_paginate .paginate_button.current,
.pagination > .active > a,
.pagination > .active > span {
    background-color: #4F46E5 !important; /* Active page in Indigo */
    border-color: #4F46E5 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.25) !important;
    pointer-events: none !important;
}

.dataTables_paginate .paginate_button.disabled,
.pagination > .disabled > a,
.pagination > .disabled > span {
    color: #94a3b8 !important;
    background-color: #f8fafc !important;
    border-color: #e2e8f0 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    pointer-events: none !important;
}

/* Tablet & Mobile responsive card adjustments */
@media (max-width: 767px) {
    .dataTables_wrapper .row:first-child {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 16px !important;
    }
    
    .dataTables_wrapper .row:first-child > div {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }
    
    .dataTables_filter input {
        width: 100% !important;
    }
    
    .dataTables_filter input:focus {
        width: 100% !important;
    }
    
    .dt-buttons {
        justify-content: center !important;
        width: 100% !important;
    }
}

/* Scroll-to-Top Button Overrides */
#toTop,
#toTop.btn,
#toTop.back-top,
div#toTop.btn.back-top {
    z-index: 1040 !important;
    background-color: #4F46E5 !important;
    background: #4F46E5 !important;
    border: 1px solid #4F46E5 !important;
    padding: 0 !important;
    height: 42px !important;
    width: 42px !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    box-shadow: 0 4px 14px rgba(79, 70, 229, 0.3) !important;
    transition: all 0.25s ease !important;
    outline: none !important;
}

#toTop span,
#toTop.back-top span,
div#toTop.btn.back-top span {
    line-height: 1 !important;
    font-family: 'themify' !important;
}

#toTop:hover,
#toTop.btn:hover,
#toTop.back-top:hover,
div#toTop.btn.back-top:hover {
    color: #ffffff !important;
    background-color: #4338CA !important;
    background: #4338CA !important;
    border-color: #4338CA !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45) !important;
}

