:root {
    /* NACOR Style guide */
    /* ===== PRIMARY BRAND ===== */
    --color-primary: #32468B;
    --color-primary-variant: #626E95;
    /* ===== SECONDARY ===== */
    --bs-secondary-color: #5A5A5A;
    --color-secondary: #00AAC8;
    --color-tertiary: #F8DF8D;
    --color-link: #1226AA;
    /* ===== TINTS ===== */
    --color-tint-1: #CADFED;
    --color-tint-2: #EEEEEE;
    --color-tint-3: #9BD7D7;
    /* ===== NEUTRALS ===== */
    --color-black: #000000;
    --color-gray-dark: #666666;
    --color-gray: #999999;
    --color-gray-light: #DDE1E6;
    --color-white: #FFFFFF;
    /* ===== STATUS ===== */
    --color-info: #286FCE;
    --color-success: #35A263;
    --color-warning: #E2B93B;
    --color-error: #F36953;
    /* NACOR / ASA Brand */
    --nacor-blue: #1226AA;
    --nacor-bg-page: #F8F8F8;
    --nacor-bg-hover: #F4F6FA;
    --nacor-text-primary: #2C2C2C;
    --nacor-sidebar-text-primary: #FFF;
    --nacor-text-secondary: #5A5A5A;
    --sidebar-bg-menu-item-active: #F2F4F8;
    --nacor-bg-logout: #F8DF8D;
    --color-sort-arrow: #E2C100;
    /* Sidebar */
    --sidebar-width-expanded: 450px;
    --sidebar-width-collapsed: 98px;
    --nacor-border-right: #DDE1E6;
    /*--sidebar-menuitem-border: rgba(125, 146, 219, 0.70);*/
    /* Sidebar background */
    --VNav-primary-blue: #32468B;
    /* Selected menu background */
    --VNav-bkg-highlight: #626E95;
    /* Menu text default */
    --VNav-menu-white: #FFFFFF;
    /* Menu border / subtle text */
    --VNav-menuitem-border: rgba(125, 146, 219, 0.70);
    /* selected menu item */
    --VNav-selected-menuitem: #626E95;
    /* submenu group */
    --VNav-bkg-submenu: rgba(98, 110, 149, 0.50);
    /* Text colors */
    --CoolGray-90: #21272A;
    --Text-Black: #000000;
    --Text-White: #FFFFFF;
    --hyperlinks-blue: #1226AA;
    /* BORDER */
    --bs-border-radius: 0;
    --bs-border-radius-sm: 0;
    --bs-border-radius-lg: 0;
    --bs-border-radius-xl: 0;
    --bs-border-radius-xxl: 0;
    --bs-border-radius-pill: 0;
    /* Bootstrap 5.3 primary override */
    --bs-primary: #32468B;
    --bs-primary-rgb: 50, 70, 139;
    --bs-primary-bg-subtle: #d0d5e8;
    --bs-primary-border-subtle: #a1abd1;
    --bs-primary-text-emphasis: #1e2b57;
    /* Bootstrap 5.3 secondary override */
    --bs-secondary: #4C4B4B;
    --bs-secondary-rgb: 76, 75, 75;
    --bs-secondary-bg-subtle: #d9d9d9;
    --bs-secondary-border-subtle: #b3b3b3;
    --bs-secondary-text-emphasis: #2e2d2d;
    /* Bootstrap 5.3 success override */
    --bs-success: #096633;
    --bs-success-rgb: 9, 102, 51;
    --bs-success-bg-subtle: #d0e8d9;
    --bs-success-border-subtle: #a1d1b3;
    --bs-success-text-emphasis: #054d26;
    /* Bootstrap 5.3 info override */
    --bs-info: #286FCE;
    --bs-info-rgb: 40, 111, 206;
    --bs-info-bg-subtle: #d0e2f7;
    --bs-info-border-subtle: #a1c5ef;
    --bs-info-text-emphasis: #174278;
    --bs-info-text: #ffffff;
    /* Bootstrap 5.3 warning override */
    --bs-warning: #E2B93B;
    --bs-warning-rgb: 226, 185, 59;
    --bs-warning-border-subtle: #f1d89d;
    --bs-warning-bg-subtle: #fdf3d0;
    --bs-warning-text-emphasis: #7a5010;
    /* Bootstrap 5.3 danger override */
    --bs-danger: #CE0F0F;
    --bs-danger-rgb: 206, 15, 15;
    --bs-danger-bg-subtle: #f8d0d0;
    --bs-danger-border-subtle: #f1a1a1;
    --bs-danger-text-emphasis: #7a0909;
}

@font-face {
    font-family: 'Lato';
    src: url('/fonts/lato/Lato-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('/fonts/lato/Lato-Regular.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Lato';
    src: url('/fonts/lato/Lato-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@media (min-width: 768px) {
    html {
        font-size: 14px;
    }
}

@media screen and (hover: none) {
    body.no-overscroll {
        overflow: hidden;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
}

body {
    font-family: 'Lato', sans-serif;
}

footer {
    flex-shrink: 0;
    background: var(--nacor-bg-page);
    color: #3A3939;
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
}

.app-main {
    flex: 1 0 auto;
    background: var(--nacor-bg-page);
}

.page-wrapper {
    padding: 103px 40px 29px 40px;
}

.page-header {
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}

.page-title {
    font-family: Lato;
    margin-bottom: 4px;
    color: var(--nacor-text-primary);
    font-weight: 700;
    font-size: 36px;
    line-height: 40px;
}

/*.page-breadcrumb {
    font-size: 14px;
    color: var(--nacor-text-secondary);
}*/

.breadcrumb {
    color: var(--nacor-text-secondary);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 122.222% */
    margin: 0;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #858585;
    content: ">";
    padding: 0 5px;
    /*font-family: Lato;*/
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
}

.breadcrumb-item + .breadcrumb-item {
    padding-left: 0;
}

.breadcrumb .breadcrumb-item.active {
    color: var(--hyperlinks-blue);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.required:after {
    content: " *" / "";
    color: var(--color-error);
    font-weight: 500;
    speak: none;
}

legend {
    font-size: 1rem;
}

.hidden {
    display: none !important;
}

::placeholder {
    color: var(--nacor-text-secondary);
    opacity: 1;
}

#spinner {
    position: fixed;
    display: none;
    inset: 0;
    z-index: 999999;
    background: rgba(250, 250, 250, 0.8);
}

    #spinner .spinner-grow {
        width: 3rem;
        height: 3rem;
    }

.remainingChars {
    color: #000;
    font-size: 12px;
    position: relative;
    float: right;
    margin-top: -18px;
    padding-right: 4px;
    display: none;
}

textarea + .remainingChars {
    padding-right: 20px;
}

.swal2-container .remainingChars {
    text-align: end;
    margin-top: -25px;
}

.swal2-textarea + .remainingChars {
    padding-right: 3.5rem;
}

textarea + .remainingChars {
    padding-right: 20px;
}

.validation-summary-valid {
    display: none;
}

.flex-justify-center {
    display: flex;
    justify-content: center;
}

.flex-align-center {
    display: flex;
    align-items: center;
}

.flex-all-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

div.dtsp-panesContainer button.dtsp-clearAll,
div.dtsp-panesContainer button.dtsp-collapseAll,
div.dtsp-panesContainer button.dtsp-showAll {
    padding: .375rem .75rem;
}

div.dtsp-panesContainer div.dtsp-searchPanes div.dtsp-searchPane {
    margin: 0 !important;
}

/*.navbar .navbar-nav .nav-link {
    color: var(--Text-White) !important;
    transition: all 0.5s;
}

.navbar .navbar-nav .nav-link:hover {
    background-color: #0c63e4;
    color: var(--Text-White) !important;
}

.navbar .navbar-brand {
    padding: 0 0.6em;
}*/

@media only screen and (min-width: 992px) {
    .navbar {
        padding: 0;
    }

        .navbar .navbar-nav .nav-link {
            padding: 1em 0.7em;
        }

        .navbar .navbar-brand {
            padding: 0 0.8em;
        }
}

.app-header {
    min-height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px 0 30px;
    background: #626E95;
    flex-wrap: wrap;
}

    .app-header .nav-link:hover {
        color: var(--Text-White) !important;
        /*background-color: var(--VNav-primary-blue);*/
    }

.header-logo {
    width: 64px;
    height: 51px;
    object-fit: contain;
    flex-shrink: 0;
}

.header-left {
    display: flex;
    align-items: center;
    padding: 0 30px 0 20px;
    flex: 1;
    min-width: 0;
}

.welcome-block {
    display: flex;
    flex-direction: column;
}

.welcome-name {
    color: var(--VNav-menu-white);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 116.667% */
}

/*.welcome-meta {
    color: var(--CoolGray-90);*/
/* Profile-popup-menu-items */
/*font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;*/ /* 125% */
/*}*/

.header-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.header-action {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: var(--VNav-menu-white);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

    .header-action:hover {
        color: var(--VNav-menu-white);
    }

.header-action-label {
    display: inline;
}

.header-action.btn-link {
    text-decoration: none;
}

.header-action.btn:focus,
.header-action.btn:focus-visible {
    outline: none;
    box-shadow: none !important;
}

.header-right .nav-link {
    padding: 0;
    gap: 6px;
}

main {
    flex: 1 0 auto;
}

#content {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    position: relative;
}

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--sidebar-width-expanded);
    height: 100%;
    background: var(--VNav-primary-blue);
    color: var(--VNav-menu-white);
    z-index: 100;
    display: flex;
    flex-direction: column;
    padding: 24px 0 30px 0;
    overflow: hidden;
    border-right: 1px solid var(--nacor-border-right);
    box-shadow: 4px 0 4px 0 rgba(0, 0, 0, 0.25);
}

.sidebar-content {
    flex: 1 1 auto;
    overflow-y: auto;
    scrollbar-width: none;
    scrollbar-color: rgba(98, 110, 149, 0.50) transparent;
}

    .sidebar-content::-webkit-scrollbar {
        width: 8px;
    }

    .sidebar-content::-webkit-scrollbar-thumb:hover {
        background-color: rgba(98, 110, 149, 0.50);
    }

.sidebar .brand {
    display: flex;
    width: 295px;
    height: 100px;
    padding: 10px 0 0 30px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
}

.sidebar .brand-link {
    color: var(--nacor-blue);
    text-decoration: none;
    flex-grow: 1;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
}

.sidebar .brand-logo {
    height: 78.64px;
    width: 265.82px;
    aspect-ratio: 240/71;
    color: var(--color-white);
}

.brand-logo-expanded {
    display: block;
}

.brand-logo-collapsed {
    display: none;
}

.sidebar.collapsed:not(:hover) .brand-logo-expanded {
    display: none;
}

.sidebar.collapsed:not(:hover) .brand-logo-collapsed {
    display: block;
    width: 51px;
    height: 64px;
}

.sidebar-toggle-text {
    color: var(--Text-White);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 15.4px */
    text-decoration: none;
    margin-right: 4px;
}

.sidebar-collapse {
    display: flex;
    padding-right: 30px;
    justify-content: flex-end;
    align-items: center;
    padding: 0 30px;
    margin: 16px 0;
}

.sidebar hr {
    margin: 0;
    border-top: 1px solid var(--VNav-menuitem-border);
}

.sidebar .menu {
    list-style: none;
    padding: 0;
}

.sidebar .menu-link {
    color: var(--VNav-menu-white);
}

    .sidebar .menu-link.active {
        background: var(--VNav-bkg-highlight);
        color: var(--VNav-menu-white);
        font-weight: 600;
    }

.sidebar .menu .menu-link {
    font-weight: 500;
    font-size: 20px;
    font-style: normal;
    line-height: 24px; /* 120% */
    display: flex;
    align-items: center;
    padding: 15px 30px;
    height: 50px;
    text-decoration: none;
    gap: 8px;
    align-self: stretch;
    border-bottom: 1px solid var(--VNav-menuitem-border);
}

    .sidebar .menu .menu-link:not(.active):not(:hover) {
        color: var(--VNav-menu-white);
    }

.sidebar .menu .menu-link-icon {
    font-size: 18px;
    position: relative;
}

.sidebar .menu .dropdown-toggle:after {
    display: none;
}

.sidebar .submenu {
    list-style: none;
    padding-left: 0px;
}

.sidebar .submenu-item {
    width: 100%;
}

.sidebar .submenu-link {
    color: var(--VNav-menu-white);
    border-bottom: 1px solid var(--VNav-menuitem-border);
}

    .sidebar .submenu-link.active {
        background: var(--VNav-bkg-highlight);
        color: var(--VNav-primary-blue);
        font-weight: 600;
    }

.sidebar .submenu .submenu-link {
    color: var(--VNav-menu-white);
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 15px 30px 15px 40px;
    font-weight: 500;
    font-size: 20px;
    font-style: normal;
    line-height: 24px; /* 120% */
    background: var(--VNav-bkg-submenu);
}

    /* bullet in the submenu */
    .sidebar .submenu .submenu-link::before {
        content: '';
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background-color: var(--VNav-menu-white);
        flex-shrink: 0;
        display: inline-block;
        margin-right: 10px;
        transform: translateY(2px);
    }

.sidebar .menu-link.active {
    background: var(--VNav-bkg-highlight);
    color: var(--VNav-menu-white);
}

.sidebar .menu-link:hover {
    background: var(--VNav-bkg-highlight);
    color: var(--VNav-menu-white);
}

.sidebar .submenu-link:not(.active) {
    color: var(--VNav-menu-white);
}

.sidebar .submenu-link:hover,
.sidebar .submenu-link.active {
    background: var(--VNav-selected-menuitem);
    color: var(--VNav-menu-white);
}

    .sidebar .submenu-link.active::before {
        background-color: var(--VNav-menu-white);
    }

    .sidebar .submenu-link:hover:before {
        background-color: var(--VNav-menu-white);
    }

.sidebar a.menu-link,
.sidebar a.submenu-link {
    transition: background .15s ease, color .15s ease;
}

/* to keep the parent with background*/
.sidebar .menu-item:has(.collapse.show) > .menu-link {
    background: var(--VNav-bkg-submenu);
    color: var(--VNav-menu-white);
}

.sidebar .menu-link a,
.sidebar .submenu-link a {
    color: var(--VNav-menu-white);
    text-decoration: none;
}

    .sidebar .menu-link a:hover,
    .sidebar .submenu-link a:hover {
        color: var(--VNav-menu-white);
    }

    .sidebar .menu-link a.active,
    .sidebar .submenu-link a.active {
        color: var(--VNav-menu-white);
    }

.sidebar .menu-link:has(a.active) {
    background: var(--VNav-selected-menuitem);
}

.sidebar .submenu > .submenu-item > .submenu-link:has(a.active) {
    background: var(--VNav-bkg-highlight);
}

.submenu.level-3 .submenu-link {
    padding-left: 90px;
}

    /* hover */
    .submenu.level-3 .submenu-link:hover,
    .submenu.level-3 .submenu-link:has(a:hover) {
        background: var(--VNav-selected-menuitem);
    }

    /* active */
    .submenu.level-3 .submenu-link:has(a.active) {
        background: var(--VNav-selected-menuitem);
    }

    .submenu.level-3 .submenu-link a {
        color: var(--VNav-menu-white);
    }

    .submenu.level-3 .submenu-link.active {
        background: var(--VNav-selected-menuitem);
        color: var(--VNav-menu-white);
    }

.submenu.level-3 .submenu-item:has(.submenu-link.active) {
    background: var(--VNav-selected-menuitem);
}

.submenu.level-3 .submenu-link::before {
    content: none;
}

.sidebar li .nav {
    margin-left: 28px;
}

.sidebar .badge {
    font-size: 9px;
    margin-left: 4px;
}

#sidebar-mobile-toggle .sidebar-mobile-toggler-icon {
    display: none;
}

/*External sites*/
.external-sites-content .menu {
    margin-top: 10px;
}

.sidebar .external-sites-content .title-text {
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0%;
    vertical-align: middle;
    padding-left: 30px;
    padding-top: 24px;
    margin-bottom: 30px;
}

.sidebar .menu .menu-link.no-border {
    border-bottom: none;
}

.logout-form {
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .logout-form .menu-link.logout {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        background: var(--nacor-bg-logout);
        color: var(--Text-Black);
        border: none;
        cursor: pointer;
        padding: 12px 8px;
        font-size: 20px;
        font-weight: 500;
    }

    .logout-form .logout-icon {
        font-size: 18px;
        width: 24px;
    }

    .logout-form .menu-link.logout:hover {
        background: var(--nacor-bg-logout);
        color: var(--Text-Black);
    }

.menu-text-logout {
    color: var(--Text-Black);
}

.menu-icon {
    color: white;
    flex: 0 0 auto;
}

.menu-link:hover .menu-icon {
    color: var(--color-primary);
}

body:not(.sidebar-mobile-open) .sidebar.collapsed:not(:hover) .menu-item:has(.submenu-link.active) .menu-link {
    background: var(--VNav-bkg-highlight);
}

body.has-sidebar main {
    background: var(--nacor-bg-page);
}

.badge-circle:after {
    content: '';
    position: absolute;
    top: 0;
    right: -6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.badge-circle.badge-circle-primary:after {
    background: var(--bs-primary);
}

.badge-circle.badge-circle-secondary:after {
    background: var(--bs-secondary);
}

.badge-circle.badge-circle-success:after {
    background: var(--bs-success);
}

.badge-circle.badge-circle-warning:after {
    background: var(--bs-warning);
}

.badge-circle.badge-circle-danger:after {
    background: var(--bs-danger);
}

.badge-circle.badge-circle-info:after {
    background: var(--bs-info);
}

#sidebar .badge-circle:after {
    border: 2px solid #1a1c23;
}

.sidebar .menu-link.active .badge-circle:after,
body:not(.sidebar-mobile-open) .sidebar.collapsed:not(:hover) .menu-item:has(.submenu-link.active) .badge-circle:after {
    border: 2px solid #003e98 !important;
}

.sidebar .menu-link.active .badge-circle.badge-circle-primary:after {
    background: var(--bs-white);
}

.sidebar .menu-link:not(.active):hover .badge-circle:after {
    border: 2px solid #183057 !important;
}

.sidebar .menu-link.active .badge.bg-primary,
.sidebar .submenu-link.active .badge.bg-primary {
    background-color: var(--bs-gray-300) !important;
    color: #003e98;
}

.sidebar .badge.bg-warning {
    color: var(--bs-dark);
}

.sidebar-mobile-toggle {
    display: none;
}

@media (max-width: 767px) {
    main {
        padding-bottom: 30px;
    }

    .page-wrapper {
        padding: 25px 20px 20px 20px;
    }

    .app-header {
        padding: 0 10px 0 0;
        flex-wrap: wrap;
    }

    .header-left {
        padding: 0;
    }

    .header-right {
        flex-wrap: wrap;
        flex: 1;
        gap: 4px;
    }

    .header-logo {
        width: 40px;
        height: auto;
        padding-left: 10px;
    }

    .welcome-name {
        font-size: 16px;
        line-height: 20px;
        padding-left: 14px;
        flex-wrap: wrap;
    }

    .header-action span {
        display: none;
    }

    .header-action-label {
        display: none;
    }

    .user-navbar-text {
        display: none;
    }

    .sidebar {
        left: calc(var(--sidebar-width-expanded) * -1);
    }

    body.sidebar-mobile-open .sidebar {
        animation: sidebarSlideIn 0.3s forwards;
    }

    body.sidebar-mobile-closed .sidebar {
        animation: sidebarSlideOut 0.3s forwards;
    }

    #sidebar_toggle {
        display: none;
    }

    #content {
        padding-left: 0;
        overflow-x: hidden;
    }

    .sidebar-mobile-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(var(--bs-black-rgb), 0.5);
        z-index: 99;
    }

    .sidebar-mobile-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 10px;
        color: #000;
    }

    .sidebar.collapsed:not(:hover) .brand-logo-expanded {
        display: block;
    }

    .sidebar.collapsed:not(:active) .brand-logo-collapsed {
        display: none;
    }

    #navbarManageAccountLink::after {
        display: none;
    }

    .contact-card .contact-card-content {
        justify-content: center;
        text-align: center;
    }

    .date-range-wrapper {
        flex-direction: column;
        gap: 12px;
    }

    .calendar-icon {
        right: 14px;
    }
}

.sidebar .dropdown-toggle:not(.collapsed) .dropdown-toggle-icon {
    animation: dropdownArrowRotate 0.3s forwards;
}

@media (min-width: 768px) {
    @media (hover: none) {
        .sidebar.collapsed:not(.sidebar-collapsed-hover) a {
            pointer-events: none;
        }
    }

    .sidebar.collapsed:not(:hover) .sidebar-collapse {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .sidebar.collapsed:not(:hover) a#sidebar_toggle {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 36px;
        height: 36px;
    }

    /* hide collapse text */
    .sidebar.collapsed:not(:hover) .sidebar-toggle-text {
        display: none;
    }

    /* show the toggle */
    .sidebar.collapsed:not(:hover) a#sidebar_toggle svg {
        display: block;
    }

    .sidebar.collapsed:not(:hover) .brand {
        width: 100%;
        height: auto;
        padding: 10px 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .sidebar.collapsed:not(:hover) .brand-link {
        justify-content: center;
    }

    .sidebar.collapsed:not(:hover) {
        width: var(--sidebar-width-collapsed);
        padding-left: 0;
        padding-right: 0;
        overflow: hidden;
    }

    body.has-sidebar .header-logo {
        display: none;
    }

    body.sidebar-collapsed {
        overflow-x: hidden;
    }

        body.sidebar-collapsed #content {
            padding-left: var(--sidebar-width-collapsed);
        }

    body.has-sidebar:not(.sidebar-collapsed) #content {
        padding-left: var(--sidebar-width-expanded);
    }

    .sidebar.collapsed #sidebar_toggle svg {
        transform: rotate(180deg);
    }

    .sidebar.collapsed:not(:hover) {
        width: var(--sidebar-width-collapsed);
        overflow-y: hidden;
    }

        .sidebar.collapsed:not(:hover) .brand-logo {
            width: 51px;
            height: 64px;
        }

        .sidebar.collapsed:not(:hover) .menu .menu-link {
            width: 100%;
            height: 48px;
            padding: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .sidebar.collapsed:not(:hover) .menu-text,
        .sidebar.collapsed:not(:hover) .menu-text-logout,
        .sidebar.collapsed:not(:hover) .dropdown-toggle-icon,
        .sidebar.collapsed:not(:hover) .submenu {
            display: none;
        }

    header {
        position: fixed;
        width: 100%;
        z-index: 98;
    }

    body.has-sidebar header {
        width: calc(100% - var(--sidebar-width-expanded));
    }

    body.sidebar-collapsed header {
        width: calc(100% - var(--sidebar-width-collapsed));
    }

    .sidebar.collapsed:not(:hover) .external-sites-content {
        display: none;
    }
}

.sidebar .dropdown-toggle-icon {
    transition: transform 0.2s ease;
}

.sidebar .dropdown-toggle:not(.collapsed) .dropdown-toggle-icon {
    transform: rotate(180deg);
}

@keyframes sidebarSlideIn {
    0% {
        left: calc(var(--sidebar-width-expanded) * -1);
    }

    100% {
        left: 0;
    }
}

@keyframes sidebarSlideOut {
    0% {
        left: 0;
    }

    100% {
        left: calc(var(--sidebar-width-expanded) * -1);
    }
}

a {
    text-decoration: none;
}

.hr {
    margin: 1em 0;
    height: 0px;
    border: none;
    border-top: 1px solid #cecece;
}

body.swal2-shown .select2-container--open {
    z-index: 9999;
}

.swal2-container .select2 {
    justify-self: center;
}

.success-circle {
    color: var(--bs-success);
}

.danger-circle {
    color: var(--bs-danger);
}

table tr.selected .success-circle {
    color: var(--bs-success);
}

table tr.selected .danger-circle {
    color: var(--bs-danger);
}

table tr.selected .btn {
    color: var(--bs-white);
    border-color: var(--bs-white);
}

.contact-title {
    color: var(--bs-gray-800);
}

.contact-card {
    width: 100%;
    max-width: 700px;
    text-decoration: none;
    color: var(--bs-dark);
}

.resource-card {
    background-color: #DFEEF8;
}

.resource-info-card {
    width: 100%;
}

@media (min-width: 992px) {
    .resource-info-card {
        width: 280px !important;
        max-width: 280px !important;
    }
}

.contact-card:hover {
    color: var(--bs-dark);
    transform: translateY(-3px);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
    transition: transform 0.2s, box-shadow 0.2s;
}

.contact-card i {
    color: var(--bs-gray-800);
}

.contact-card .contact-card-content {
    display: flex;
    align-items: center;
}

/* ===== Tabs Container ===== */
.custom-tabs {
    display: flex;
    /*  padding-top: 26px;*/
    gap: 6px;
    border-bottom: none; /* remove bootstrap line */
}

    /* Remove default bootstrap tab border */
    .custom-tabs .nav-link {
        border: none;
    }

    /* ===== Default (Inactive Tabs) ===== */
    .custom-tabs .nav-link {
        display: flex;
        height: 36px;
        padding: 8px 10px;
        justify-content: center;
        align-items: center;
        gap: 6px;
        /*border-radius: 4px 4px 0 0;*/
        border-radius: 0;
        border: 1px solid #DBDBDB;
        background: #F2F2F2;
        font-family: Lato, sans-serif;
        font-size: 18px;
        font-weight: 700;
        color: #333;
        transition: all 0.2s ease;
    }

        /* ===== Active Tab ===== */
        .custom-tabs .nav-link.active {
            height: 40px;
            padding: 10px;
            /* border-radius: 4px 4px 0 0;*/
            border-radius: 0;
            border-top: 1px solid #E5E5E5;
            border-right: 1px solid #E5E5E5;
            border-left: 1px solid #E5E5E5;
            /*background: #666;*/
            background: var(--color-primary-variant);
            color: var(--color-white);
            font-weight: 700;
        }

        /* ===== Hover (optional but recommended) ===== */
        .custom-tabs .nav-link:hover:not(.active) {
            background: #e6e6e6;
        }

    .custom-tabs .nav-item {
        display: flex;
        align-items: flex-end;
    }

/* ===== Changing the background tab content ===== */
.tab-content {
    background: var(--color-white);
    border: 1px solid #DBDBDB;
    border-top: none; /* connects with tab */
    /* border-radius: 0 4px 4px 4px;*/
    border-radius: 0;
    font-size: 18px;
}

/* Custom checkbox */
.form-check-input.custom-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid #A2A9B0;
    border-radius: 2px;
    cursor: pointer;
}

    /* Checked state */
    .form-check-input.custom-checkbox:checked {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        /* Replace Bootstrap icon */
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath fill='white' d='M3.53553 4.94975L1.41421 2.82843L0 4.24264L3.53553 7.77817L9.8995 1.41421L8.48528 0L3.53553 4.94975Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 10px 8px;
    }

    /* Remove Bootstrap gradient effect */
    .form-check-input.custom-checkbox:focus {
        box-shadow: 0 0 0 2px rgba(50, 70, 139, 0.2);
    }

/* Custom-radio */
.form-check.custom-radio-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0px;
}

.form-check-input.custom-radio {
    width: 20px;
    height: 20px;
    margin: 0;
    flex-shrink: 0;
    /*transform: translateY(-1px);*/
}

    /* Checked */
    .form-check-input.custom-radio:checked {
        background-color: var(--color-white);
        border-color: #858585;
        background-image: radial-gradient(circle, var(--color-primary) 0 6px, transparent 7px);
    }

/* Custom radio label*/
.form-check-label {
    margin: 0;
    line-height: 24px;
    font-size: 18px;
}

/* Inline modal */
.confirm-box {
    max-width: 500px;
    padding: 16px 20px;
    background: var(--color-tint-1);
    border: 1px solid var(--color-tint-1);
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    animation: fadeIn 0.3s ease;
}

#selectedPracticeSummary {
    background: var(--color-tint-1);
    border-color: var(--color-tint-1);
    color: var(--nacor-text-primary);
}

/* export styles */
.export-label {
    font-weight: 600;
    color: #333;
    font-size: 28px;
}

.export-icon {
    cursor: pointer;
    font-size: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

    /* Hover effect */
    .export-icon:hover {
        background: none;
        transform: translateY(-1px);
    }

/* ==== Custom Table ==== */
.custom-table thead,
.table thead {
    background-color: #4A4A4A;
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 500;
}

.custom-table thead th,
.custom-table thead td,
.table thead th,
.table thead td {
    --bs-table-bg: #4A4A4A;
    --bs-table-color: #FFFFFF;
    background-color: #4A4A4A !important;
    color: #FFFFFF !important;
}

.custom-table tbody tr,
.table tbody tr {
    background-color: #FFFFFF;
    color: #000000;
}

    .custom-table tbody tr:nth-child(odd),
    .table tbody tr:nth-child(odd) {
        background-color: #DFEEF8;
        color: #000000;
    }

    .custom-table tbody tr:hover,
    .table tbody tr:hover,
    .table.table-hover tbody tr:hover {
        background-color: var(--color-tint-3);
    }

.custom-table td,
.custom-table th,
.table td,
.table th {
    padding: 8px;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
}

/* Ensure table-striped works with NACOR colors */
.table.table-striped > tbody > tr:nth-of-type(odd),
.table.table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: #DFEEF8;
    background-color: #DFEEF8;
    color: #000000;
}

.table.table-striped > tbody > tr:nth-of-type(even),
.table.table-striped > tbody > tr:nth-of-type(even) > * {
    --bs-table-accent-bg: #FFFFFF;
    background-color: #FFFFFF;
    color: #000000;
}

/* Make active/selected row styles similar to legacy behaviour */
.table tbody tr.selected,
.table.table-striped > tbody > tr.selected:nth-of-type(odd),
.table.table-striped > tbody > tr.selected:nth-of-type(even),
.table tbody tr.selected > *,
.table.table-striped > tbody > tr.selected:nth-of-type(odd) > *,
.table.table-striped > tbody > tr.selected:nth-of-type(even) > * {
    --bs-table-accent-bg: var(--color-tertiary);
    background-color: var(--color-tertiary) !important;
    color: var(--color-black) !important;
}

/* DataTables overrides - box-shadow: none kills DT's inset stripe layering */
table.dataTable.table-striped > tbody > tr:nth-child(odd) > * {
    box-shadow: none !important;
    background-color: #DFEEF8 !important;
    color: #000000 !important;
}

table.dataTable.table-striped > tbody > tr:nth-child(even) > * {
    box-shadow: none !important;
    background-color: #FFFFFF !important;
    color: #000000 !important;
}

/* Selected */
table.dataTable tbody tr.selected > *,
table.dataTable.table-striped > tbody > tr.selected:nth-child(odd) > *,
table.dataTable.table-striped > tbody > tr.selected:nth-child(even) > * {
    background-color: var(--color-tertiary) !important;
    color: var(--color-black) !important;
    box-shadow: none !important;
}

/* Hover */
table.dataTable tbody tr:hover > * {
    background-color: var(--color-tint-3) !important;
    box-shadow: none !important;
}

/* Header */
table.dataTable thead th,
table.dataTable thead td {
    background-color: #4A4A4A !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 500 !important;
}

.admin-section-label {
    border-left: 4px solid var(--color-primary);
    background-color: #F8F9FA;
    font-weight: 700;
    padding: 8px 0 8px 16px;
    margin-bottom: 8px;
}

table.dataTable thead .dt-column-order::before,
table.dataTable thead .dt-column-order::after {
    filter: brightness(0) saturate(100%) invert(77%) sepia(60%) saturate(600%) hue-rotate(5deg) brightness(105%) contrast(101%);
    opacity: 0.6;
}

table.dataTable thead th.dt-ordering-asc .dt-column-order::before,
table.dataTable thead th.dt-ordering-desc .dt-column-order::after {
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(77%) sepia(60%) saturate(600%) hue-rotate(5deg) brightness(105%) contrast(101%);
}

input[type="datetime-local"] {
    min-width: 0;
}

input,
select,
.form-control {
    min-width: 0;
    border-radius: 0;
}

.form-select {
    min-width: 0;
    border-radius: 0;
}

select[multiple] {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
}

.d-flex:not(.row) {
    flex-wrap: wrap;
}

/* ===== Pagination Base ===== */
.pagination {
    gap: 4px;
    border-radius: 0;
}

    .pagination .page-link {
        color: #333;
        background-color: var(--color-white);
        border: 1px solid #DBDBDB;
    }

        /* ===== Hover ===== */
        .pagination .page-link:hover {
            background-color: var(--color-gray-light);
            color: #000;
        }

    /* ===== Active Page ===== */
    .pagination .page-item.active .page-link {
        background-color: #4A4A4A;
        border-color: #4A4A4A;
        color: var(--color-white);
        font-weight: 600;
    }

    /* ===== Disabled ===== */
    .pagination .page-item.disabled .page-link {
        background-color: #f5f5f5;
        color: var(--color-gray-dark);
        border-color: #DBDBDB;
        border-radius: 0;
    }

    .pagination .page-link {
        border-radius: 0;
        margin: 0 2px;
    }

    .pagination .page-item:last-child .page-link {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

/* === FORMS === */
.form-control {
    border: none;
    border-bottom: 1px solid #C1C7CD;
}

    .form-control:focus {
        box-shadow: none;
        border-bottom: 1px solid var(--color-primary);
    }

.input-group-text {
    border: none;
    border-bottom: 1px solid #C1C7CD;
    background: transparent;
}

/* === BUTTONS ===*/
.btn-custom {
    display: flex;
    min-width: 150px;
    height: 38px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    font-family: Lato;
    font-size: 16px;
    font-weight: 700;
    line-height: 20px;
    border-radius: 0;
    text-transform: uppercase;
}

.btn {
    min-width: 150px;
    font-family: Lato;
    font-size: 16px;
    font-weight: 700;
    border-radius: 0;
    text-transform: uppercase;
}

.btn-sm {
    min-width: 0;
}

/* Cancel */
.btn-cancel {
    border: 1px solid #858585;
    background: var(--color-white);
    color: #3A3939;
}

    .btn-cancel:hover {
        background: #F4F4F4;
        color: #2F2F2F;
    }

/* Save */
.btn-save {
    background: var(--color-tertiary);
    color: var(--color-black);
    border: none;
    transition: all 0.2s ease;
}

    .btn-save:hover {
        background: #FCC47E;
    }

/* Add */
.btn-add {
    background: var(--color-secondary);
    color: var(--color-white);
    border: none;
    transition: all 0.2s ease;
}

    .btn-add:hover {
        background: #0095AE;
    }

/* Search */
.btn-search {
    background: var(--color-primary);
    color: var(--color-white);
    border: none;
    transition: all 0.2s ease;
    height: 38px;
}

    .btn-search:hover {
        background: #2A3A73;
    }

.btn-collapse {
    background: var(--color-gray-dark);
    color: var(--color-white);
    border: none;
    transition: all 0.2s ease;
}

    .btn-collapse:hover {
        background: var(--color-gray);
    }

#attestationForm {
    background: #E5E7F1;
}

#iaList.collapsed {
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

#iaList.expanded {
    max-height: 2000px;
    transition: all 0.3s ease;
}

.ia-header {
    cursor: pointer;
    background: var(--color-primary-variant);
    color: var(--color-white);
    font-size: 20px;
    border-radius: 0;
}

    .ia-header:hover {
        background: var(--color-secondary);
    }

.ia-icon {
    transition: transform 0.2s ease;
}

/* ===== Custom Datepicker =====*/
.datepicker-wrapper {
    position: relative;
}

    .datepicker-wrapper input {
        padding-right: 40px;
        background: var(--color-white);
    }

.datepicker-icon {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.date-range-wrapper {
    display: flex;
    align-items: stretch;
    gap: 16px;
}

.date-input {
    position: relative;
    flex: 1;
    cursor: pointer;
}

    .date-input input {
        /*height: 48px;*/
        padding-right: 40px;
        background: var(--color-white);
    }

.calendar-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.date-range-arrow {
    display: flex;
    width: 48px;
    justify-content: center;
    align-items: center;
    background: var(--color-gray-light);
    border-bottom: 1px solid #C1C7CD;
}

.date-input input:hover {
    border-color: var(--color-link);
}

.date-input input:focus {
    border-color: var(--color-link);
    box-shadow: none;
}

.flatpickr-calendar {
    background: #EBEBEB;
    border-radius: 0px;
    /*border: none;*/
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

/* header (mês/ano) */
.flatpickr-months {
    background: #EBEBEB;
    color: #000;
    font-weight: 600;
}

.flatpickr-weekdays {
    background: #EBEBEB;
    font-weight: 500;
}

.flatpickr-day {
    border-radius: 50%;
}

    .flatpickr-day.selected {
        background: var(--color-primary);
        color: var(--color-white);
    }

        .flatpickr-day.selected:hover {
            background: var(--color-primary);
            color: var(--color-white);
        }

    .flatpickr-day:hover {
        background: var(--color-primary);
        color: var(--color-white);
    }

    .flatpickr-day.today {
        border-color: var(--color-primary);
    }

        .flatpickr-day.today:hover {
            background: var(--color-primary)
        }

.flatpickr-input {
    background-color: var(--color-white) !important;
    cursor: pointer;
}

/* ===== OTP Input ===== */
.otp-input-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    justify-content: center;
}

.otp-input {
    width: 46px;
    height: 54px;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 600;
    border: 1.5px solid var(--bs-border-color, #ced4da);
    border-radius: 8px;
    background-color: var(--color-white, #fff);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    caret-color: transparent;
    padding-right: 0 !important;
}

    .otp-input:focus {
        outline: none;
        border-color: var(--color-primary, #0d6efd);
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    }

    .otp-input.is-invalid {
        border-color: var(--bs-danger, #dc3545);
    }

/* =========================
   MULTI SELECT
========================= */

.select2-container {
    width: 100% !important;
}

/* Select multiple */
.select2-container--default .select2-selection--multiple {
    position: relative;
    display: flex;
    align-items: center;
    height: auto;
    min-height: 41px;
    padding-right: 35px;
    padding-left: 8px;
    border: none;
    border-bottom: 1px solid #C1C7CD;
    background: #F2F4F8;
}

    .select2-container--default .select2-selection--multiple .select2-selection__rendered {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px;
        min-height: 40px;
        margin: 0;
        padding: 6px 0;
        width: 100%;
    }

    .select2-container--default .select2-selection--multiple .select2-search--inline {
        display: flex;
        align-items: center;
        flex: 1 1 160px;
        min-height: 28px;
        margin: 0;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__rendered:has(.select2-selection__choice) .select2-search--inline {
        flex: 0 1 12px;
        min-width: 12px;
    }

    .select2-container--default .select2-selection--multiple .select2-search__field {
        width: 100% !important;
        height: 28px;
        margin: 0;
        line-height: 28px;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__choice {
        display: inline-flex;
        align-items: center;
        max-width: calc(100% - 6px);
        min-height: 26px;
        margin: 0;
        padding: 2px 8px 2px 4px;
        border: 1px solid #C1C7CD;
        border-radius: 4px;
        background: #FFF;
        line-height: 20px;
        white-space: nowrap;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
        display: inline-flex;
        align-items: center;
        align-self: center;
        margin-right: 4px;
    }

    /* Arrow */
    .select2-container--default .select2-selection--multiple::after {
        content: "";
        position: absolute;
        right: 12px;
        top: 20px;
        transform: translateY(-50%);
        transition: transform 0.2s ease;
        width: 20px;
        height: 20px;
        background-image: url("data:image/svg+xml;utf8,\
    <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
    <path d='M12.0677 13.3139L17.0177 8.36388C17.11 8.26837 17.2203 8.19219 17.3423 8.13978C17.4643 8.08737 17.5955 8.05979 17.7283 8.05863C17.8611 8.05748 17.9928 8.08278 18.1157 8.13306C18.2386 8.18334 18.3502 8.25759 18.4441 8.35149C18.538 8.44538 18.6123 8.55703 18.6625 8.67993C18.7128 8.80282 18.7381 8.9345 18.737 9.06728C18.7358 9.20006 18.7082 9.33128 18.6558 9.45329C18.6034 9.57529 18.5272 9.68564 18.4317 9.77788L12.7747 15.4349C12.5872 15.6224 12.3329 15.7277 12.0677 15.7277C11.8026 15.7277 11.5483 15.6224 11.3607 15.4349L5.70373 9.77788C5.60822 9.68564 5.53203 9.57529 5.47962 9.45329C5.42722 9.33128 5.39963 9.20006 5.39848 9.06728C5.39732 8.9345 5.42262 8.80282 5.4729 8.67993C5.52318 8.55703 5.59744 8.44538 5.69133 8.35149C5.78522 8.25759 5.89688 8.18334 6.01977 8.13306C6.14267 8.08278 6.27435 8.05748 6.40713 8.05863C6.53991 8.05979 6.67113 8.08737 6.79313 8.13978C6.91513 8.19219 7.02548 8.26837 7.11773 8.36388L12.0677 13.3139Z' fill='%23697077'/>\
    </svg>");
        background-repeat: no-repeat;
        background-size: contain;
    }

/* Arrow rotation */
.select2-container--open .select2-selection--multiple::after {
    transform: translateY(-50%) rotate(180deg);
}

/* Custom option layout */
.select2-option {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 6px 15px;
    font-family: Lato;
    font-size: 20px;
    line-height: 24px;
    background: #F2F4F8;
}

/* Select2 renders inline spans directly under ul.select2-selection__rendered */
.select2-selection__rendered > .select2-rendered-inline {
    list-style: none;
}

/* Decorative checkbox for custom multiselect options */
.select2-option .custom-checkbox {
    width: 16px;
    height: 16px;
    border: 1px solid #A2A9B0;
    border-radius: 2px;
    display: inline-flex;
    flex-shrink: 0;
    align-self: center;
    position: relative;
    top: 0;
    margin: 0;
    background-color: var(--color-white);
}

    .select2-option .custom-checkbox.is-checked {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath fill='white' d='M3.53553 4.94975L1.41421 2.82843L0 4.24264L3.53553 7.77817L9.8995 1.41421L8.48528 0L3.53553 4.94975Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 10px 8px;
    }

/* Checkbox alignment */
.select2-option input[type="checkbox"] {
    margin: 0;
    flex-shrink: 0;
    position: relative;
    top: 0;
}

/* Text */
.select2-option .option-text {
    display: flex;
    align-items: center;
    min-height: 24px;
    line-height: 24px;
    color: inherit;
}

/* Hover */
.select2-results__option--highlighted .select2-option {
    background: var(--color-gray-dark);
    color: #FFF;
}

/* Already-selected items in the open dropdown list */
.select2-results__option[aria-selected="true"] {
    background: var(--color-tint-1) !important;
    color: var(--nacor-text-primary) !important;
}

/* MULTI dropdown ONLY */
.select2-container--default .select2-dropdown .select2-results__option {
    padding: 0;
    min-height: 38px;
    align-items: center;
}

.multi-disabled {
    pointer-events: none;
    opacity: 0.5;
}

/* =========================
   SINGLE SELECT
========================= */

.select2-single .select2-selection--single {
    height: 38px;
    background: #FFFFFF;
    border: 1px solid #CED4DA;
    border-radius: 0;
    display: flex;
    align-items: center;
    padding: 0 40px 0 12px;
}

    .select2-single .select2-selection--single:hover {
        border: 1px solid var(--color-primary);
    }

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #000;
    line-height: 28px;
    padding-left: 0;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #212529;
}

.select2-single .select2-selection__arrow {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}

    .select2-single .select2-selection__arrow b {
        display: none;
    }

    .select2-single .select2-selection__arrow::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 20px;
        height: 20px;
        transform: translateY(-50%);
        transition: transform 0.2s ease;
        background-image: url("data:image/svg+xml;utf8,\
        <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
        <path d='M12.0677 13.3139L17.0177 8.36388C17.11 8.26837 17.2203 8.19219 17.3423 8.13978C17.4643 8.08737 17.5955 8.05979 17.7283 8.05863C17.8611 8.05748 17.9928 8.08278 18.1157 8.13306C18.2386 8.18334 18.3502 8.25759 18.4441 8.35149C18.538 8.44538 18.6123 8.55703 18.6625 8.67993C18.7128 8.80282 18.7381 8.9345 18.737 9.06728C18.7358 9.20006 18.7082 9.33128 18.6558 9.45329C18.6034 9.57529 18.5272 9.68564 18.4317 9.77788L12.7747 15.4349C12.5872 15.6224 12.3329 15.7277 12.0677 15.7277C11.8026 15.7277 11.5483 15.6224 11.3607 15.4349L5.70373 9.77788C5.60822 9.68564 5.53203 9.57529 5.47962 9.45329C5.42722 9.33128 5.39963 9.20006 5.39848 9.06728C5.39732 8.9345 5.42262 8.80282 5.4729 8.67993C5.52318 8.55703 5.59744 8.44538 5.69133 8.35149C5.78522 8.25759 5.89688 8.18334 6.01977 8.13306C6.14267 8.08278 6.27435 8.05748 6.40713 8.05863C6.53991 8.05979 6.67113 8.08737 6.79313 8.13978C6.91513 8.19219 7.02548 8.26837 7.11773 8.36388L12.0677 13.3139Z' fill='%23697077'/>\
        </svg>");
        background-repeat: no-repeat;
        background-size: contain;
    }

.select2-container--default .select2-selection--single .select2-selection__arrow {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    height: auto;
}

.select2-single.select2-container--open .select2-selection--single {
    background: var(--color-tertiary);
    border-color: var(--color-tertiary);
    color: var(--color-black) !important;
}

.select2-container .select2-dropdown {
    border: 1px solid #DDE1E6;
    border-top: none;
    border-radius: 0;
}

.select2-container .select2-results__option {
    padding: 10px 12px;
    background: var(--color-white);
}

.select2-container--default .select2-results__option--highlighted[aria-selected=true] {
    background-color: var(--color-gray-dark) !important;
    color: var(--color-white) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected=false] {
    background-color: var(--color-gray-dark);
    color: var(--color-white);
}

/* SINGLE ONLY dropdown spacing */
.select2-single-dropdown .select2-results__option {
    padding: 12px 16px !important;
    font-size: 18px;
}

/* icon x */
.select2-container--default .select2-selection--single .select2-selection__clear {
    left: 10px;
}

/* FORMS, INPUTS AND BUTTONS */
input,
select,
textarea,
.form-control,
.input-group-text {
    border: 1px solid #C1C7CD;
    background-color: var(--bs-body-bg);
    box-shadow: none;
}

    .form-control:focus {
        background-color: var(--bs-body-bg);
        box-shadow: none;
    }

    input::placeholder,
    textarea::placeholder,
    .form-control::placeholder {
        color: var(--nacor-text-secondary);
        opacity: 1;
    }

.input-group .form-control:focus {
    z-index: 1;
}

.btn-primary {
    background-color: var(--color-tertiary);
    border-color: var(--color-tertiary);
    color: var(--color-black);
    transition: all 0.2s ease;
}

    .btn-primary:hover,
    .btn-primary:active,
    .btn-primary:focus,
    .btn-primary:focus-visible,
    .btn-primary:first-child:active,
    :not(.btn-check) + .btn-primary:active {
        background-color: #f0cf6a;
        border-color: #f0cf6a;
        color: var(--color-black);
        box-shadow: none;
    }

    .btn-primary:hover {
        background: #FCC47E;
    }

    .btn-primary:disabled,
    .btn-primary.disabled,
    .btn-primary[disabled] {
        background-color: var(--color-tertiary);
        border-color: var(--color-tertiary);
        color: var(--color-black);
        opacity: 0.55;
    }

.btn-secondary {
    background-color: var(--color-white);
    border: 1px solid #858585;
    color: #3A3939;
}

    .btn-secondary:hover,
    .btn-secondary:active,
    .btn-secondary:focus,
    .btn-secondary:focus-visible,
    .btn-secondary:first-child:active,
    :not(.btn-check) + .btn-secondary:active {
        background-color: #F4F4F4;
        border-color: #858585;
        color: #2F2F2F;
        box-shadow: none;
    }

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

.form-label {
    font-weight: 700;
}

.form-check-input[type="checkbox"]:not(.form-switch, .form-check-input) {
    width: 16px;
    height: 16px;
    border: 1px solid #A2A9B0;
    border-radius: 2px;
    cursor: pointer;
}

    .form-check-input[type="checkbox"]:not(.form-switch, .form-check-input):checked {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath fill='white' d='M3.53553 4.94975L1.41421 2.82843L0 4.24264L3.53553 7.77817L9.8995 1.41421L8.48528 0L3.53553 4.94975Z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 10px 8px;
    }

    .form-check-input[type="checkbox"]:not(.form-switch, .form-check-input):indeterminate {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 2'%3E%3Cpath fill='white' d='M0 0h10v2H0z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 10px 2px;
    }

.form-check-input[type="radio"] {
    width: 20px;
    height: 20px;
    border: 1px solid #A2A9B0;
    cursor: pointer;
}

    .form-check-input[type="radio"]:checked {
        background-color: var(--color-white);
        border-color: #858585;
        background-image: radial-gradient(circle, var(--color-primary) 0 6px, transparent 7px);
    }

.form-check-input:focus {
    box-shadow: 0 0 0 2px rgba(50, 70, 139, 0.2);
}

.form-switch .form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.form-check-input.is-valid ~ .form-check-label, .was-validated .form-check-input:valid ~ .form-check-label {
    color: #212529;
}

/* ===== Profile Dropdown ===== */
.profile-dropdown {
    min-width: 220px;
    padding: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.profile-dropdown-header {
    background-color: var(--color-primary, #32468b);
    padding: 10px 16px;
    text-align: center;
}

.profile-dropdown-title {
    color: #fff;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: 0.5px;
}

.profile-dropdown-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 16px 16px;
    background: #fff;
}

.profile-avatar {
    margin-bottom: 10px;
}

    .profile-avatar svg {
        border-radius: 50%;
    }

.profile-dropdown-name {
    font-weight: 700;
    font-size: 15px;
    color: #222;
    text-align: center;
    margin-bottom: 4px;
}

.profile-dropdown-meta {
    font-size: 13px;
    color: #555;
    text-align: center;
    margin-bottom: 2px;
    max-width: 188px;
    overflow-wrap: anywhere;
}

.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    gap: 10px;
}

    .action-btn i {
        font-size: 14px;
        color: var(--color-black);
    }

.section-card {
    background: #f8f9fb;
    border: 1px solid #e3e6ea;
    border-radius: 0;
    padding: 12px 14px;
}

.section-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: #6c757d;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.powerbi-container {
    width: 100%;
    height: calc(100vh - 112px);
    overflow: hidden;
}

    .powerbi-container iframe {
        width: 100%;
        height: 100%;
        border: none;
        display: block;
        margin: 0;
        padding: 0;
    }

.admin-status-badge {
    border-radius: 999px;
}

.admin-status-badge-neutral {
    background-color: #4A4A4A;
    color: #FFFFFF;
}

.admin-search-icon + .admin-tab-search {
    border-left: 0;
}

.admin-search-icon {
    padding-right: 0.50rem;
}

.admin-tab-search {
    padding-left: 0.25rem;
}