/* ============================================================================
 * LEGACY UPGRADE CSS
 * Bootstrap 5 Compatibility + Inspinia Theme Custom Styles
 * Merged from: bootstrap5-compat.css + custom-extended.css
 * ============================================================================ */


/* ============================================================================
 * SECTION 1: BASE FIXES
 * ============================================================================ */

/* Remove default link underlines */
a {
    text-decoration: none;
}

/* Hidden utility */
.hidden {
    display: none !important;
}

/* Screen reader only (for accessibility) */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

/* Form elements base styling */
button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font: inherit;
    color: inherit;
    border-width: thin;
    border-radius: 3px;
}

/* Bootstrap 5 compatibility for disabled/readonly form controls */
.form-control:disabled,
.form-control[disabled],
.form-control:read-only,
.form-control[readonly],
fieldset:disabled .form-control {
    background-color: #eee;
    opacity: 1;
}


/* ============================================================================
 * SECTION 2: BOOTSTRAP 3/4 -> 5 UTILITIES
 * ============================================================================ */




.text-black {
    color: #000000 !important;
}

/* col-xs-* grid (removed in BS5) */
.col-xs-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
}

.col-xs-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
}

.col-xs-3 {
    flex: 0 0 auto;
    width: 25%;
}

.col-xs-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

.col-xs-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
}

.col-xs-6 {
    flex: 0 0 auto;
    width: 50%;
}

.col-xs-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
}

.col-xs-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
}

.col-xs-9 {
    flex: 0 0 auto;
    width: 75%;
}

.col-xs-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
}

.col-xs-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
}

.col-xs-12 {
    flex: 0 0 auto;
    width: 100%;
}

/* btn-block - full width button (removed in BS5) */
.btn-block {
    display: block;
    width: 100%;
}

/* Caret for dropdowns */
.caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

/* Divider in dropdown */
.divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.2);
}


/* ============================================================================
 * SECTION 3: CLOSE BUTTON (BS3/4 style)
 * ============================================================================ */

.close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: 0.5;
    padding: 0;
    background-color: transparent;
    border: 0;
    appearance: none;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
    opacity: 0.75;
}

.close:not(:disabled):not(.disabled):hover,
.close:not(:disabled):not(.disabled):focus {
    opacity: 0.75;
}


/* ============================================================================
 * SECTION 4: MODAL STYLING
 * ============================================================================ */

/* Modal header layout */
.modal-header {
    display: flex !important;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between !important;
    padding: 15px;
    border-bottom: 1px solid #e7eaec;
    background-color: #f3f3f4;
}

.modal-header .modal-title {
    flex-grow: 1;
    text-align: left;
    margin: 0;
    font-weight: 600;
    color: #676a6c;
}

.modal-header .close,
.modal-header .btn-close {
    order: 2;
    margin-left: auto;
    padding: 0.5rem;
}

.modal-header .close {
    padding: 1rem;
    margin: -1rem -1rem -1rem auto;
}

/* Modal dialog width */
.modal-dialog {
    max-width: 800px !important;
    width: 90% !important;
    margin: 1.75rem auto;
}

.modal-lg,
.modal-xl {
    max-width: 1140px !important;
}

.modal-md {
    max-width: 800px !important;
}

.modal-sm {
    max-width: 500px !important;
}

/* Modal body */
.modal-body {
    padding: 20px 25px;
}

/* Modal footer */
.modal-footer {
    padding: 15px 20px;
    border-top: 1px solid #e7eaec;
    background-color: #f5f5f5;
}


/* ============================================================================
 * SECTION 5: FORM STYLING
 * ============================================================================ */

/* Form group spacing */
.form-group {
    margin-bottom: 20px !important;
}

/* Form row spacing */
.form-row,
.row.form-row {
    margin-bottom: 15px;
}

.form-row>[class*="col-"] {
    padding-right: 10px;
    padding-left: 10px;
}

/* Form control */
.form-control {
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    border: 1px solid #e5e6e7;
    border-radius: 1px;
}

.form-control:focus {
    border-color: #00ADEF !important;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 173, 239, 0.25) !important;
}

/* Textarea */
textarea.form-control {
    height: auto;
    min-height: 80px;
}

/* Form label */
.form-label,
.control-label,
.col-form-label {
    font-weight: 600;
    margin-bottom: 8px;
    color: #676a6c;
}

/* Horizontal form layout */
.form-horizontal .form-group {
    margin-left: -15px;
    margin-right: -15px;
    margin-bottom: 20px !important;
}

.form-horizontal .control-label {
    padding-top: 7px;
    text-align: right;
}

/* Input group spacing */
.input-group {
    margin-bottom: 10px;
}

/* HR line dashed for form sections */
.hr-line-dashed {
    border-top: 1px dashed #e7eaec;
    color: #ffffff;
    background-color: #ffffff;
    height: 1px;
    margin: 20px 0;
}

/* Ibox form content */
.ibox-content .form-group:last-child {
    margin-bottom: 0;
}

/* Chosen select focus */
.chosen-container .chosen-single:focus,
.chosen-container-active .chosen-single,
.chosen-container-active.chosen-with-drop .chosen-single {
    border-color: #00ADEF !important;
}

.text-right{
    text-align: right !important;
}
/* ============================================================================
 * SECTION 6: BUTTON STYLING
 * ============================================================================ */

/* Button base */

/* DT Buttons Container */
.dt-buttons.btn-group {
    gap: 8px;
}

/* DT Button Base - Corporate Style */


.dt-buttons .btn:hover,
.dt-button:hover,
.dataTables_wrapper .dt-buttons .btn:hover {
    background-color: #0095cc;
    border-color: #0095cc;
    color: #ffffff;
}

.dt-buttons .btn:focus,
.dt-button:focus,
.dataTables_wrapper .dt-buttons .btn:focus {
    background-color: #0095cc;
    border-color: #0095cc;
    color: #ffffff;
    box-shadow: 0 0 0 0.2rem rgba(0, 173, 239, 0.25);
    outline: none;
}

.dt-buttons .btn:active,
.dt-button:active,
.dataTables_wrapper .dt-buttons .btn:active {
    background-color: #007fb3;
    border-color: #007fb3;
}

/* Danger Button */
.dt-buttons .btn.danger,
.dt-buttons .btn.btn-danger,
.dt-button.danger {
    background-color: #ec4758;
    border-color: #ec4758;
    color: #ffffff;
}

.dt-buttons .btn.danger:hover,
.dt-buttons .btn.btn-danger:hover,
.dt-button.danger:hover {
    background-color: #d63848;
    border-color: #d63848;
    color: #ffffff;
}

.dt-buttons .btn.danger:focus,
.dt-buttons .btn.btn-danger:focus,
.dt-button.danger:focus {
    box-shadow: 0 0 0 0.2rem rgba(236, 71, 88, 0.25);
}

/* Warning Button */
.dt-buttons .btn.warning,
.dt-buttons .btn.btn-warning,
.dt-button.warning {
    background-color: #f9b66d;
    border-color: #f9b66d;
    color: #ffffff;
}

.dt-buttons .btn.warning:hover,
.dt-buttons .btn.btn-warning:hover,
.dt-button.warning:hover {
    background-color: #e8a45c;
    border-color: #e8a45c;
    color: #ffffff;
}

/* Success Button */
.dt-buttons .btn.success,
.dt-buttons .btn.btn-success,
.dt-button.success {
    background-color: #28a745;
    border-color: #28a745;
    color: #ffffff;
}

.dt-buttons .btn.success:hover,
.dt-buttons .btn.btn-success:hover,
.dt-button.success:hover {
    background-color: #218838;
    border-color: #218838;
    color: #ffffff;
}

/* Button with icon */
.dt-buttons .btn i,
.dt-button i {
    margin-right: 6px;
}



.dropdown-menu>li>a,
.dropdown-menu .dropdown-item {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 25px;
    color: inherit;
    white-space: nowrap;
    text-decoration: none;
    border-radius: 3px;
    margin: 4px;
}

.dropdown-menu>li>a:hover,
.dropdown-menu>li>a:focus,
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    color: #262626;
    background-color: #f5f5f5;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:focus,
.dropdown-menu>.active>a:hover {
    color: #fff;
    background-color: #00ADEF;
}

.dropdown-menu .divider,
.dropdown-menu .dropdown-divider {
    height: 1px;
    margin: 9px 0;
    overflow: hidden;
    background-color: #e5e5e5;
    border: none;
}

/* DASBOARD */
.dashboard-header {
    margin: 0px !important;
}

.col-md-12 {
    padding: 0px 20px !important;
}

/* ============================================================================
 * SECTION 8: NAVBAR / TOPBAR
 * ============================================================================ */


/* Navbar right float */
@media (min-width: 768px) {
    .navbar-right {
        float: right !important;
        margin-right: -15px;
    }
}




/* Navbar header */
.navbar.navbar-static-top .navbar-header {
    float: left;
    display: flex;
    align-items: center;
}

/* Navbar top links */
.navbar.navbar-static-top .navbar-top-links {
    float: right;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.navbar.navbar-static-top .navbar-top-links>li {
    display: flex;
    align-items: center;
}

/* Page wrapper */
#page-wrapper {
    padding: 0;
}


/* ============================================================================
 * SECTION 9: SIDE MENU & NAVIGATION
 * ============================================================================ */

/* Side menu display */
ul#side-menu {
    display: block;
}



.nav>li>a {
    position: relative;
    display: block;
}

.dropdown-toggle::after {
    width: 0;
    height: 0;
    margin-left: 90px !important;
    margin-top: -10px !important;
}

/* Nav header text color */
.nav-header .text-muted {
    color: #8095a8 !important;
}

/* Nav active states */
.nav>li.active>a {
    color: white;
    font-weight: 600;
}

/* Sidebar link hover */
.nav>li>a:hover {
    background-color: #293846;
}

/* Nav tabs */
ul.nav.nav-tabs.navs-3 {
    display: flex;
}

ul.nav.nav-tabs.navs-3>li {
    flex: 1;
    min-width: 120px;
    text-align: center;
}

.nav-tabs>li>a.active,
.nav-tabs>li>a.active:focus,
.nav-tabs>li>a.active:hover {
    background-color: #fff;
    color: #676a6c;
}

/* Profile section */
.nav-header .profile-element {
    text-align: left !important;
}

.nav-header .profile-element .dropdown-toggle {
    text-align: left;
}



/* Logo element in collapsed mode */
.logo-element {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    padding: 18px 0;
}


/* ============================================================================
 * SECTION 10: BOOTSTRAP COLLAPSE MENU - Sidebar Collapse/Expand
 * ============================================================================ */

/* Sidebar navigation menu base */
#side-menu {
    padding: 0;
    margin: 0;
    list-style: none;
}

#side-menu li {
    display: block;
    width: 100%;
}

/* Main level menu items */
#side-menu>li>a {
    color: #a7b1c2;
    font-weight: 600;
    padding: 14px 20px 14px 25px;
    display: block;
    text-decoration: none;
    border-left: 4px solid transparent;
    transition: all 0.2s ease;
}

#side-menu>li>a:hover,
#side-menu>li>a:focus {
    background-color: #293846;
    color: #ffffff;
}

#side-menu>li.active>a {
    background-color: #293846;
    color: #ffffff;
}

/* Collapse base */
#side-menu .collapse,
.nav-second-level.collapse,
.nav-third-level.collapse {
    display: none;
}

/* Collapse expanded */
#side-menu .collapse.in,
#side-menu .collapse.show,
.nav-second-level.collapse.in,
.nav-second-level.collapse.show,
.nav-third-level.collapse.in,
.nav-third-level.collapse.show {
    display: block !important;
}

/* Bootstrap 5 Collapse compatibility */
#side-menu .mm-collapse {
    display: none;
}

#side-menu .mm-collapse.mm-show {
    display: block !important;
}

/* Arrow indicator */
#side-menu .fa.arrow,
#side-menu .arrow {
    float: right;
    line-height: 1.42857143;
    margin-top: 2px;
}

#side-menu .fa.arrow:before {
    content: "\f104";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

#side-menu li.active>a>.fa.arrow:before,
#side-menu .mm-active>a>.fa.arrow:before {
    content: "\f107";
}

/* Second level - sub menu */
.nav-second-level {
    background-color: #2f4050;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nav-second-level>li>a {
    color: #a7b1c2;
    padding: 10px 10px 10px 52px;
    display: block;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}

.nav-second-level>li>a:hover,
.nav-second-level>li>a:focus {
    background-color: #293846;
    color: #ffffff;
}

.nav-second-level>li.active>a {
    color: #ffffff;
}

/* Third level - sub-sub menu */
.nav-third-level {
    background-color: #2f4050;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nav-third-level>li>a {
    color: #a7b1c2;
    padding: 10px 10px 10px 72px;
    display: block;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
}

.nav-third-level>li>a:hover,
.nav-third-level>li>a:focus {
    background-color: #293846;
    color: #ffffff;
}

.nav-third-level>li.active>a {
    color: #ffffff;
}

/* Menu icon spacing */
#side-menu li a i {
    width: 20px;
    font-size: 14px;
    margin-right: 6px;
}

/* Nav label */
.nav-label {
    font-weight: 600;
}

/* ============================================================================
 * MINI-NAVBAR SUBMENU FIX
 * When sidebar is collapsed, submenus should appear on hover ONLY
 * ============================================================================ */

/* Parent li must be relative for absolute submenu positioning */
body.mini-navbar .navbar-default .nav>li,
body.mini-navbar #side-menu>li {
    position: relative;
}

/* Force hide ALL submenus in mini-navbar mode by default */
/* Override Bootstrap's .show, .in classes for collapsed sidebar */
body.mini-navbar .nav-second-level,
body.mini-navbar .nav-second-level.show,
body.mini-navbar .nav-second-level.in,
body.mini-navbar .nav-second-level.mm-show,
body.mini-navbar .nav-second-level.collapse.show,
body.mini-navbar .navbar-default .nav>li>.nav-second-level {
    position: absolute !important;
    left: 70px !important;
    top: 0 !important;
    min-width: 200px;
    background-color: #2f4050;
    border-radius: 0 3px 3px 0;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    z-index: 9999 !important;
    padding: 10px 0;
    display: none !important;
    /* Force hidden by default */
}

/* Show submenu ONLY on parent hover in mini-navbar mode */
body.mini-navbar .nav>li:hover>.nav-second-level,
body.mini-navbar .nav>li:hover>.nav-second-level.show,
body.mini-navbar .nav>li:hover>.nav-second-level.in,
body.mini-navbar #side-menu>li:hover>.nav-second-level,
body.mini-navbar .navbar-default .nav>li:hover>.nav-second-level {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Adjust submenu item padding for mini mode */
body.mini-navbar .nav-second-level>li>a {
    padding: 8px 20px !important;
    color: #a7b1c2;
    white-space: nowrap;
}

body.mini-navbar .nav-second-level>li>a:hover {
    background-color: #293846;
    color: #ffffff;
}

/* Ensure pointer events work on submenu */
body.mini-navbar .nav-second-level,
body.mini-navbar .nav-second-level li,
body.mini-navbar .nav-second-level li a {
    pointer-events: auto !important;
}

/* Ensure sidebar doesn't clip overflow */
body.mini-navbar .navbar-static-side,
body.mini-navbar .sidebar-collapse,
body.mini-navbar #side-menu {
    overflow: visible !important;
}


/* ============================================================================
 * SECTION 11: RIGHT SIDEBAR
 * ============================================================================ */

#right-sidebar {
    background-color: #fff;
    border-left: 1px solid #e7eaec;
    overflow: hidden;
    position: fixed;
    top: 60px;
    width: 260px;
    max-width: 100%;
    z-index: 1009;
    bottom: 0;
    right: -260px;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
}

#right-sidebar.sidebar-open {
    right: 0;
}

#right-sidebar .sidebar-container {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    height: 100%;
    padding: 0;
}

/* SlimScroll wrapper fix */
#right-sidebar .slimScrollDiv {
    width: 100% !important;
    height: 100% !important;
}

/* Settings dropdown */
#right-sidebar .setings-item .dropdown-toggle {
    display: flex;
    align-items: center;
}

/* Tabs in right sidebar */
#right-sidebar .nav-tabs,
#right-sidebar .navs-3,
.sidebar-container .nav-tabs,
.sidebar-container .navs-3 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: 100%;
    overflow: hidden;
    border: none !important;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent;
}

/* Equal width tabs */
#right-sidebar .nav-tabs>li,
#right-sidebar ul.nav-tabs.navs-3>li,
.sidebar-container .nav-tabs>li,
.sidebar-container ul.nav-tabs.navs-3>li {
    flex: 1 1 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    flex-basis: 0 !important;
    width: 33.3333% !important;
    max-width: 33.3333% !important;
    min-width: 0 !important;
    overflow: hidden;
    list-style: none;
    border: none !important;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* INACTIVE Tab links */
#right-sidebar .nav-tabs .nav-link:not(.active),
#right-sidebar .nav-tabs>li>a:not(.active),
.sidebar-container .nav-tabs .nav-link:not(.active),
.sidebar-container .nav-tabs>li>a:not(.active) {
    display: block !important;
    text-align: center !important;
    padding: 12px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #2f4050 !important;
    color: #fff !important;
    border: none !important;
    border-right: 1px solid #334556 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease;
}

#right-sidebar .nav-tabs>li:last-child .nav-link:not(.active),
.sidebar-container .nav-tabs>li:last-child .nav-link:not(.active) {
    border-right: none !important;
}

#right-sidebar .nav-tabs .nav-link:not(.active):hover,
.sidebar-container .nav-tabs .nav-link:not(.active):hover {
    background: #293846 !important;
    color: #fff !important;
}

/* ACTIVE Tab */
#right-sidebar .nav-tabs .nav-link.active,
#right-sidebar .nav-tabs .nav-link.active.show,
#right-sidebar .nav-tabs>li>a.active,
.sidebar-container .nav-tabs .nav-link.active,
.sidebar-container .nav-tabs>li>a.active {
    display: block !important;
    text-align: center !important;
    padding: 12px 10px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: #f9f9f9 !important;
    color: #676a6c !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
}

#right-sidebar .nav-tabs .nav-link.active:hover,
#right-sidebar .nav-tabs .nav-link.active:focus,
.sidebar-container .nav-tabs .nav-link.active:hover,
.sidebar-container .nav-tabs .nav-link.active:focus {
    background: #f9f9f9 !important;
    color: #676a6c !important;
    border: none !important;
}

/* Tab content */
#right-sidebar .tab-content {
    padding: 0;
}

#right-sidebar .tab-pane {
    padding: 0;
}

/* Sidebar title */
#right-sidebar .sidebar-title,
.sidebar-title {
    background: #f3f3f4;
    padding: 15px 20px;
    border-bottom: 1px solid #e7eaec;
}

#right-sidebar .sidebar-title h3,
.sidebar-title h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #676a6c;
}

#right-sidebar .sidebar-title h3 i {
    margin-right: 8px;
    color: #00ADEF;
}

/* Sidebar message */
#right-sidebar .sidebar-message {
    padding: 15px 20px;
    border-bottom: 1px solid #e7eaec;
}

#right-sidebar .sidebar-message a {
    color: inherit;
    text-decoration: none;
}

#right-sidebar .sidebar-message .media-body {
    font-size: 13px;
    color: #676a6c;
}

/* Sidebar list */
#right-sidebar .sidebar-list,
.sidebar-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#right-sidebar .sidebar-list li,
.sidebar-list li {
    border-bottom: 1px solid #e7eaec;
}

#right-sidebar .sidebar-list li a,
.sidebar-list li a {
    padding: 12px 20px;
    display: block;
    color: inherit;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

#right-sidebar .sidebar-list li a:hover,
.sidebar-list li a:hover {
    background-color: #f3f3f4;
}

/* Settings items */
#right-sidebar .setings-item {
    padding: 15px 20px;
    border-bottom: 1px solid #e7eaec;
}

#right-sidebar .setings-item span {
    font-size: 13px;
    color: #676a6c;
}

#right-sidebar .setings-item .dropdown {
    margin-top: 10px;
}

#right-sidebar .setings-item .dropdown-toggle {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    color: #676a6c;
}

#right-sidebar .setings-item .dropdown-toggle i {
    color: #00ADEF;
}


/* ============================================================================
 * SECTION 12: DATATABLES STYLING
 * ============================================================================ */

/* Pagination container */
.dataTables_paginate {
    float: right;
    text-align: right;
    padding-top: 10px;
}

.dataTables_paginate .pagination {
    margin: 0;
    display: inline-flex;
    padding-left: 0;
    list-style: none;
    gap: 3px;
}

/* Page links */
.dataTables_paginate .paginate_button,
.dataTables_paginate .page-link {
    display: inline-block;
    padding: 5px 10px;
    margin: 0;
    line-height: 1.4;
    color: #676a6c;
    text-decoration: none;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* Hover state */
.dataTables_paginate .paginate_button:hover:not(.current):not(.disabled),
.dataTables_paginate .page-link:hover:not(.active) {
    color: #00ADEF;
    background-color: #e9f7fd;
    border-color: #00ADEF;
    text-decoration: none;
}

/* Active/Current state */
.dataTables_paginate .paginate_button.current,
.dataTables_paginate .paginate_button.active,
.dataTables_paginate .page-item.active .page-link {
    color: #FFFFFF !important;
    background-color: #00ADEF !important;
    border-color: #00ADEF !important;
    border-radius: 4px !important;
    cursor: default;
}

/* Disabled state */
.dataTables_paginate .paginate_button.disabled,
.dataTables_paginate .page-item.disabled .page-link {
    color: #adb5bd;
    cursor: not-allowed;
    background-color: #f8f9fa;
    border-color: #dee2e6;
    pointer-events: none;
    opacity: 0.5;
}

/* Previous/Next buttons with icons */
.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next {
    font-size: 0;
    padding: 5px 8px;
}

.dataTables_paginate .paginate_button.previous::before {
    content: '\f053';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 11px;
    color: #00ADEF;
}

.dataTables_paginate .paginate_button.next::before {
    content: '\f054';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-size: 11px;
    color: #00ADEF;
}

.dataTables_paginate .paginate_button.previous:hover:not(.disabled)::before,
.dataTables_paginate .paginate_button.next:hover:not(.disabled)::before {
    color: #FFFFFF;
}

.dataTables_paginate .paginate_button.previous:hover:not(.disabled),
.dataTables_paginate .paginate_button.next:hover:not(.disabled) {
    background-color: #00ADEF;
    border-color: #00ADEF;
}

.dataTables_paginate .paginate_button.previous.disabled::before,
.dataTables_paginate .paginate_button.next.disabled::before {
    color: #adb5bd;
}

/* DataTable info */
.dataTables_info {
    float: left;
    padding-top: 12px;
    color: #676a6c;
    font-size: 12px;
}

/* DataTable wrapper */
.dataTables_wrapper {
    padding-bottom: 15px;
    position: relative;
}

/* DataTable length and filter */
.dataTables_length,
.dataTables_filter {
    margin-bottom: 15px;
}

.dataTables_length select {
    padding: 5px 8px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    font-size: 12px;
}

.dataTables_filter input {
    padding: 5px 10px;
    border-radius: 4px;
    border: 1px solid #dee2e6;
    margin-left: 5px;
    font-size: 12px;
}

.dataTables_filter input:focus {
    border-color: #00ADEF;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 173, 239, 0.15);
}

/* DataTable empty row */
.dataTables_empty {
    padding: 30px !important;
    text-align: center !important;
    font-size: 13px !important;
    color: #888 !important;
}


/* ============================================================================
 * SECTION 13: LOGIN PAGE
 * ============================================================================ */

/* Gray background */
body.gray-bg {
    background-color: #f3f3f4 !important;
}

/* Centered login box */
.middle-box {
    max-width: 400px !important;
    width: 100%;
    z-index: 100;
    margin: 0 auto;
    padding: 40px 20px;
}

.middle-box.loginscreen {
    width: 100%;
    max-width: 400px;
}

.loginscreen>div {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}

.loginscreen form {
    width: 100%;
}

.loginscreen .form-group {
    margin-bottom: 15px;
    width: 100%;
}

/* Login form inputs */
.loginscreen .form-control {
    background-color: #FFFFFF;
    background-image: none;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    color: #333;
    display: block;
    padding: 12px 15px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    width: 100%;
    font-size: 14px;
    height: auto;
    box-sizing: border-box;
}

.loginscreen .form-control::placeholder {
    color: #999;
}

.loginscreen .form-control:focus {
    border-color: #00ADEF !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 173, 239, 0.1);
}

/* Login button */
.loginscreen .btn.block,
.btn.block {
    display: block;
    width: 100%;
}

.loginscreen .full-width {
    width: 100% !important;
}

.loginscreen .btn-primary,
.loginscreen button[type="submit"] {
    background-color: #00ADEF !important;
    border-color: #00ADEF !important;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 15px;
    width: 100%;
    display: block;
    box-sizing: border-box;
    margin-top: 10px;
    line-height: 1.5;
}

.loginscreen .btn-primary:hover {
    background-color: #0099d6 !important;
    border-color: #0099d6 !important;
}

/* Top logo */
.loginscreen .text-center>div:first-child img,
.loginscreen>div>div:first-child img {
    max-width: 280px;
    height: auto;
    margin: 0 auto 25px auto;
    display: block;
}

/* Message text */
.loginscreen p {
    color: #676a6c;
    font-size: 14px;
    margin-bottom: 20px;
    text-align: center;
}

/* Bottom logo */
.loginscreen .m-t img,
.loginscreen p.m-t img {
    max-width: 100px;
    height: auto;
    margin: 20px auto 0 auto;
    display: block;
}

/* Login spinner */
.spinner-login {
    display: none;
    text-align: center;
    margin-top: 15px;
    padding: 10px 0;
}

/* Three bouncing dots */
.sk-spinner-three-bounce {
    margin: 0 auto;
    width: 80px;
    text-align: center;
}

.sk-spinner-three-bounce .sk-bounce1,
.sk-spinner-three-bounce .sk-bounce2,
.sk-spinner-three-bounce .sk-bounce3 {
    width: 12px;
    height: 12px;
    background-color: #00ADEF;
    border-radius: 100%;
    display: inline-block;
    margin: 0 3px;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.sk-spinner-three-bounce .sk-bounce1 {
    animation-delay: -0.32s;
}

.sk-spinner-three-bounce .sk-bounce2 {
    animation-delay: -0.16s;
}

/* Password field disabled */
.loginscreen .form-control:disabled,
.loginscreen .form-control[readonly] {
    background-color: #f5f5f5;
    cursor: not-allowed;
    opacity: 0.7;
}

/* SSO checking message */
.sso-checking-text {
    color: #00ADEF;
    font-size: 13px;
    margin-top: 10px;
    text-align: center;
}


/* ============================================================================
 * SECTION 14: WIDGET CARDS
 * ============================================================================ */

/* Widget base */
.widget {
    border-radius: 5px;
    padding: 15px 20px;
    margin-bottom: 10px;
    margin-top: 10px;
}


/* Widget row layout */
.widget .row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

/* col-xs-* fixes for widget */
.widget .col-xs-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.widget .col-xs-8 {
    flex: 0 0 66.666%;
    max-width: 66.666%;
}

/* Navy background */
.navy-bg {
    background-color: #00ADEF !important;
    color: #ffffff !important;
}

.navy-black {
    background-color: #2f4050 !important;
}

.navy-bg h2,
.navy-bg span,
.navy-bg i {
    color: #ffffff !important;
}

/* BU Summary layout */
.bu-summary {
    width: 100%;
}

.bu-summary>.col-12 {
    display: flex;
    flex-wrap: wrap;
}

.bu-summary .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 0 7.5px;
    box-sizing: border-box;
}

/* Font Awesome sizes */
.fa-3x {
    font-size: 3em;
}

.fa-1-0x {
    font-size: 1em;
}


/* ============================================================================
 * SECTION 15: CUSTOM COMPONENTS
 * ============================================================================ */

/* Preferences */
.preferences {
    margin: 2em 1em;
    color: gray;
}

/* Settings panel */
.settings {
    max-height: 75vh;
    padding: 2em 3em;
    border-radius: 0.5em;
    border: 1px solid lightgray;
    background-color: white;
}

/* Tool-tip */
.tool-tip {
    display: inline-block;
    position: relative;
    border: 1px solid white;
    text-align: left;
    color: white;
    background-color: #009DDB;
    border-radius: 1em;
    padding: 0 0.4em;
}

.tool-tip .top {
    min-width: 200px;
    top: -20px;
    left: 50%;
    transform: translate(-50%, -100%);
    padding: 10px 20px;
    color: #444444;
    background-color: #EEEEEE;
    font-weight: normal;
    font-size: 13px;
    border-radius: 8px;
    position: absolute;
    z-index: 99999999;
    box-sizing: border-box;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
    display: none;
}

.tool-tip:hover .top {
    display: block;
}

.tool-tip .top i {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -12px;
    width: 24px;
    height: 12px;
    overflow: hidden;
}

.tool-tip .top i::after {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    background-color: #EEEEEE;
    box-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

/* Radio buttons */
.positionRadio {
    padding: 0em 4em;
}

.radioLabel {
    margin-left: 0.75em;
}

.radioCheck {
    accent-color: #009DDB;
    width: 1.2em;
    height: 1.2em;
}

/* Color picker */
.colorpicker {
    width: 3.2em;
    background-color: #F3F3F4;
    height: 3.2em;
    margin: 0;
    border: 0;
}

.colorpicker::-webkit-color-swatch {
    border-radius: 50%;
    border: 1px solid gray;
}

.colorpicker::-moz-color-swatch {
    border-radius: 50%;
    border: 1px solid gray;
}

.color-label {
    padding: 1em 0;
}

/* Extension settings */
.exten-settings {
    height: 34em;
    background-color: white;
    padding: 0px;
    padding-bottom: 0.1em;
}

.exten-title {
    box-shadow: 0px 0.5em 12px -5px gray;
    padding: 0.8em 0em 1em 1.4em;
    color: white;
    background-color: #00ADEF;
}

.exten-content {
    border: 1px solid lightgray;
    margin: 1em;
    padding: 1em;
    border-radius: 0.2em;
    background-color: white;
    box-shadow: 0px 0px 20px -5px lightgray;
}

.btn-item {
    border: 1px solid gray;
}

/* Widget tab content */
.widget-tab-content {
    display: none;
}

/* Closed/Open widget panels */
.closed-widget,
.open-widget {
    background-color: #fefefe;
    color: #d5d5d5;
    text-align: center;
    margin-top: 2em;
    margin-left: 150px;
    border: 1px solid #b4b3b3;
    border-radius: 2em;
    padding: 2.5em 1.5em;
    box-shadow: 0em 0em 15px grey;
    width: fit-content;
}

.open-item {
    background-color: #fefefe;
    color: #d5d5d5;
    text-align: center;
    margin-top: 2em;
    margin-left: 150px;
    border: 1px solid #b4b3b3;
    border-radius: 2em;
    padding: 0.5em 0.5em;
    box-shadow: 0em 0em 15px grey;
    width: fit-content;
}

.open-widget-ico {
    padding: 0em 0.75em 0em 0.75em;
}

.w-overview {
    margin-top: 5vh;
    margin-bottom: 5vh;
}

.item-ico {
    background-color: #DDE6FFFF;
    color: #6793E6;
    padding: 1.4em 1em 1em 1em;
    border-radius: 3em;
}

/* Tab buttons */
.tab-btn {
    border: none;
    font-size: 1.3em;
    background-color: rgba(255, 0, 0, 0);
    color: grey;
    padding-top: 0.4em;
    padding-bottom: 0.5em;
}

.exten-btn {
    border: 2px solid grey;
    border-radius: 1em;
}

/* Switch toggle */
.switch {
    background-color: #D3D3D3;
    border-radius: 20px;
    cursor: pointer;
    display: inline-block;
    height: 20px;
    position: relative;
    vertical-align: middle;
    width: 50px;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

.switch>button {
    background: #fff;
    border: none;
    border-radius: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    height: 25px;
    position: relative;
    bottom: 2.5px;
    width: 25px;
}

/* Dropdown widget arrow */
.dropdown-widget::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}

/* Input overview disabled */
.input-overview:disabled {
    background-color: white;
}

/* Spinner save */
.spinner-save {
    display: none;
    position: relative;
    width: 1em;
    height: 1em;
}

/* Select filters */
select.filters {
    width: 100%;
    height: 24.56px;
}

/* Tags input */
div[id*="per-admin-datatable"] .bootstrap-tagsinput {
    width: 100%;
}

/* Widget wrapper */
.widget-wrapper {
    z-index: 99;
}

/* Dashboard content */
.dashboard-content {
    padding-top: 50px;
}

.dashboard-logo {
    max-width: 300px;
    margin-bottom: 20px;
}

.dashboard-title {
    margin-bottom: 50px;
    color: #00ADEF;
}


/* ============================================================================
 * SECTION 16: TOASTR NOTIFICATIONS
 * ============================================================================ */

.toast-success {
    background-color: #00ADEF !important;
}

.toast-info {
    background-color: #00ADEF !important;
}


/* ============================================================================
 * SECTION 17: UI COMPONENTS - Theme Colors
 * ============================================================================ */

/* Progress bars */
.progress-bar {
    background-color: #00ADEF !important;
}

/* Labels and badges */
.label-primary,
.badge-primary {
    background-color: #00ADEF !important;
}

/* Pagination active */
.pagination>.active>a,
.pagination>.active>span,
.pagination>.active>a:hover,
.pagination>.active>a:focus,
.page-item.active .page-link {
    background-color: #00ADEF !important;
    border-color: #00ADEF !important;
}

/* Tabs active */
.nav-pills>li.active>a,
.nav-pills>li.active>a:hover,
.nav-pills>li.active>a:focus,
.nav-pills .nav-link.active {
    background-color: #00ADEF !important;
}


/* ============================================================================
 * SECTION 18: MARGIN/SPACING UTILITIES
 * ============================================================================ */

.mg-bt-20 {
    margin-bottom: 20px !important;
}

.mg-bt-10 {
    margin-bottom: 10px !important;
}




/* ============================================================================
 * SECTION 19: ANIMATIONS
 * ============================================================================ */

.fa-spinner {
    animation: spin 2s infinite linear;
    transform-origin: center center;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes sk-bouncedelay {

    0%,
    80%,
    100% {
        transform: scale(0);
    }

    40% {
        transform: scale(1.0);
    }
}

@keyframes sk-pulseScaleOut {
    0% {
        transform: scale(0);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0;
    }
}

div.dt-processing {
    display: none !important;
}

.pull-right {
    float: right !important;
}

/* ============================================================================
 * SECTION 20: RESPONSIVE - Mobile (<768px)
 * ============================================================================ */

@media (max-width: 768px) {

    .navbar {
        --bs-navbar-padding-x: 0 !important;
        --bs-navbar-padding-y: 0 !important;
    }
    .navbar.navbar-static-top .navbar-top-links>li>a,
    .navbar.navbar-static-top .navbar-top-links>li>span {
        padding: 10px 15px;
        display: flex;
        align-items: center;
    }

    /* DataTables mobile */
    .dataTables_wrapper>.row,
    .dataTables_wrapper .row {
        flex-direction: column !important;
    }

    .dataTables_length,
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate {
        float: none !important;
        text-align: center !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    /* Button group stack */
    .dt-buttons,
    .dataTables_wrapper .dt-buttons {
        float: none !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 5px !important;
        margin-bottom: 10px !important;
    }

    .dt-buttons .btn,
    .dt-button {
        font-size: 11px !important;
        padding: 5px 10px !important;
    }

    /* Pagination compact */
    .dataTables_paginate,
    .dt-paging {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .dataTables_paginate .pagination,
    .dt-paging .pagination {
        flex-wrap: wrap !important;
        justify-content: center !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    .dataTables_paginate .page-item .page-link,
    .dataTables_paginate .paginate_button,
    .dt-paging .page-item .page-link,
    .dt-paging-button .page-link {
        padding: 2px 6px !important;
        font-size: 9px !important;
        min-width: auto !important;
        border-radius: 2px !important;
        margin: 0 1px !important;
    }

    /* Hide long text on nav buttons */
    .dt-paging .page-link.first,
    .dt-paging .page-link.previous,
    .dt-paging .page-link.next,
    .dt-paging .page-link.last {
        font-size: 0 !important;
    }

    .dt-paging .page-link.first::after {
        content: '«';
        font-size: 10px !important;
    }

    .dt-paging .page-link.previous::after {
        content: '‹';
        font-size: 10px !important;
    }

    .dt-paging .page-link.next::after {
        content: '›';
        font-size: 10px !important;
    }

    .dt-paging .page-link.last::after {
        content: '»';
        font-size: 10px !important;
    }

    .dt-paging .page-item:not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)) .page-link {
        font-size: 10px !important;
    }

    /* Table scroll */
    .dataTables_scrollBody,
    .dataTables_scroll,
    .table-responsive {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .dataTables_wrapper {
        overflow-x: auto;
    }

    /* Search input full width */
    .dataTables_filter input {
        width: 100% !important;
        max-width: 200px !important;
    }

    /* Info centered */
    .dataTables_info {
        text-align: center !important;
        padding: 10px 0 !important;
    }

    /* Table cells */
    table.dataTable td,
    table.dataTable th {
        white-space: nowrap;
    }

    /* BU Summary responsive */
    .bu-summary .col-sm-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }

}

@media (max-width: 992px) {
    table.dataTable {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

@media (max-width: 576px) {
    .bu-summary .col-sm-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

@media (max-width: 1200px) {
    .fav_table_info {
        position: initial !important;
        float: right;
    }
}

select.chosen-select {
    width: 100%;
}

.col-12 {
    margin-bottom: 5px;
}

.dt-paging .pagination {
    justify-content: flex-end;
    gap: 5px;
    margin-top: 10px !important;
}

.dt-container .toolbar.pull-left {
    width: 100%;
    margin-bottom: 10px;
}

.dt-container #id-button-new {
    padding: 5px 10px;
}

.dt-container .dt-info {
    float: left;
}

/* ============================================================================
 * SECTION 21: DEVBRIDGE AUTOCOMPLETE
 * Styles for devbridge-autocomplete jQuery plugin
 * ============================================================================ */

/* Autocomplete dropdown container */
.autocomplete-suggestions {
    border: 1px solid #e5e6e7;
    background: #fff;
    overflow: auto;
    max-height: 300px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 9999;
    border-radius: 3px;
    margin-top: 2px;
}

/* Each suggestion item */
.autocomplete-suggestion {
    padding: 10px 15px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 14px;
    color: #676a6c;
    border-bottom: 1px solid #f5f5f5;
    transition: background-color 0.15s ease;
}

.autocomplete-suggestion:last-child {
    border-bottom: none;
}

/* Hovered/selected suggestion */
.autocomplete-selected,
.autocomplete-suggestion:hover {
    background: #f0f7ff;
    color: #333;
}

/* Group header (if using groups) */
.autocomplete-group {
    padding: 10px 15px;
    font-weight: 600;
    background: #f3f3f4;
    color: #676a6c;
    border-bottom: 1px solid #e5e6e7;
}

/* Strong text matching highlight */
.autocomplete-suggestion strong {
    font-weight: 700;
    color: #00ADEF;
}

/* No results message */
.autocomplete-no-suggestion {
    padding: 10px 15px;
    color: #999;
    font-style: italic;
}