/* [data-kt-app-layout=dark-sidebar] .app-sidebar {
    background-color: #fff !important;
    border-right: 0;
}
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active {
    transition: color .2s ease !important;
    background: linear-gradient(134.3deg, #001597 3.03%, #01104D 47.1%, #020C1C 80.14%, #020B09 96.45%) !important;
    color: #f5f5f5 !important;
}
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.hover:not(.here)>.menu-link:not(.disabled):not(.active):not(.here), [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) {
    transition: color .2s ease;
    color: #f5f5f5;
    background: linear-gradient(134.3deg, #001597 3.03%, #01104D 47.1%, #020C1C 80.14%, #020B09 96.45%) !important;
}
img.h-25px.app-sidebar-logo-default {
    height: 50px !important;
}
.app-sidebar-logo {
    height: calc(var(--bs-app-header-height) + 1px);
    display: flex;
    align-items: center;
    justify-content: unset !important;
    position: relative;
    flex-shrink: 0;
}
p.sidebar-title {    
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color:#001597 !important;
}

[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-title {
    color:#001597 !important;
}
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover
.menu-title{
    color:#fff !important;
}   
 */
 /* new */
 /* [data-kt-app-layout=dark-sidebar] .app-sidebar .app-sidebar-logo {
    border-bottom: 1px dashed #1a2fb9 !important;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-content .menu-heading {
    color: #fff !important;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-bullet .bullet {
    background-color: #fff !important;
} */
 /* [data-kt-app-layout=dark-sidebar] .app-sidebar {
    background: linear-gradient(134.3deg, #001597 3.03%, #01104D 47.1%, #020C1C 80.14%, #020B09 96.45%) !important;
    border-right: 0;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link.active {
    transition: color .2s ease !important; 
    color: #f5f5f5 !important;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item.hover:not(.here)>.menu-link:not(.disabled):not(.active):not(.here), [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) {
    transition: color .2s ease;
    color: #f5f5f5;
 
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) {
    transition: color .2s ease;
    color: #f5f5f5;
    background-color: #fff !important;
    color: #000 !important;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon, [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon .svg-icon, [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon i {    
    color: #8f9091 !important;
} */
@import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600,700');

:root {
    --bs-font-sans-serif: 'Montserrat', sans-serif !important;
    --bs-body-font-family: 'Montserrat', sans-serif !important;
}

body, button, input, select, textarea, .form-control, .btn, table, th, td, h1, h2, h3, h4, h5, h6, .menu-title, .menu-link, .card {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600;
}



body {
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* IE/Edge */
    user-select: none;         /* Standard */
}

.page-loader {    
    position: fixed; /* Fixed position to cover the entire page */
    top: 0;
    left: 0;
    width: 100vw;   /* Full width of the viewport */
    height: 100vh;  /* Full height of the viewport */
    display: none;  /* Hidden by default; only shown when triggered by JS */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    background-color: rgba(0, 0, 0, 0.25); /* Semi-transparent background */
    z-index: 9999;  /* Ensure it's on top of all other elements */
  }

  .loader-setion {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    top: 50%;
    left: 50%;
}

  .spinner-border {
    width: 3rem;
    height: 3rem;
  }
.app-sidebar-logo{
    /* background: linear-gradient(134.3deg, #001597 3.03%, #01104D 47.1%, #020C1C 80.14%, #020B09 96.45%) !important; */
}

img.h-25px.app-sidebar-logo-default {
    height: 50px !important;
}
.app-sidebar-logo {
    height: calc(var(--bs-app-header-height) + 1px);
    display: flex;
    align-items: center;
    justify-content: unset !important;
    position: relative;
    flex-shrink: 0;
}
p.sidebar-title {    
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color:#fff !important;
}
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover
.menu-title{
    color:#000 !important;
} */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon, 
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon .svg-icon,
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link .menu-icon i{
    color :#000 !important;
} */

/* On hover of the .menu-link, change the color of the icon */
/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover .menu-icon, 
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover .menu-icon .svg-icon .menu-arrow, 
[data-kt-app-layout=dark-sidebar] .app-sidebar .menu .menu-item .menu-link:hover .menu-icon i
{
    color: #000 !important; 
} */

/* [data-kt-app-layout=dark-sidebar] .app-sidebar .menu  .menu-item .menu-sub .menu-link:hover .menu-bullet .bullet {
    background-color: #000 !important; 
} */
.form-switch.form-check-solid .form-check-input:not(:checked) {
    background-color: #848499 !important;
}

.form-control.form-control-solid {    
    border-color: var(--bs-gray-100);
    /* color: #fff !important; */
    transition: color .2s ease;
    border: 1px solid #c9c1c1 !important;
}
/* #kt_app_footer{
    position: fixed;
    bottom: 0px;
} */

.menu-item a.dropdown-item:hover {
    color: var(--bs-primary);
    border-color: var(--bs-primary-light);
    background-color: var(--bs-primary-light) !important;
}

#approve_selected, #export_voucher, #mark_super_voucher{
    margin-right: 10px;
}
.custom-invalid-feedback {
    color: red !important; /* Force the text to appear in red */
    font-size: 12px; /* Adjust font size for consistency */
    margin-top: 5px; /* Add some space above the error message */
}

.table-scroll {
    max-height: 400px;   /* Adjust as needed */
    /* overflow-y: auto; */
    overflow-x: auto;
    padding-right: 10px !important;
}
.gradient-bg{
    background: linear-gradient(134.3deg, #001597 3.03%, #01104D 47.1%, #020C1C 80.14%, #020B09 96.45%) !important;
}

.brand-logo-img{
    width:50px;
    height:50px;
    object-fit:contain;
}

.brand-title{
    margin:0;
    margin-bottom: 4px;
    font-size:16px !important;
    font-weight:800;
    /* line-height:1.1 !important; */
    white-space:nowrap;
}

.brand-subtitle{
    margin:0;
    font-size:10px !important;
    line-height:1.1 !important;
    white-space:nowrap;
    color:#6b45e5;
    font-weight: 600;
}

.brand-info{
    overflow:hidden;
}

/* Active */
/* Change Background of active menu and hover menu */
#kt_app_sidebar .menu-link:hover,
#kt_app_sidebar .menu-link.active,
#kt_app_sidebar .menu-item.show > .menu-link {
    background: linear-gradient(
        135deg,
        #3B5BFF 0%,
        #2446E8 50%,
        #1733B7 100%
    ) !important;        
}

/*remove margin from active menu for so backgroud same as hover effect*/
#kt_app_sidebar .menu-link.active,
#kt_app_sidebar .menu-item.show > .menu-link {
    margin-right: 0rem !important; 
}

/* White text, icons and arrows on Hover, Active & Open menu */
#kt_app_sidebar .menu-link:hover .menu-title,
#kt_app_sidebar .menu-link:hover .menu-arrow,
#kt_app_sidebar .menu-link:hover .menu-icon i,
#kt_app_sidebar .menu-link.active .menu-title,
#kt_app_sidebar .menu-link.active .menu-arrow,
#kt_app_sidebar .menu-link.active .menu-icon i,
#kt_app_sidebar .menu-item.show > .menu-link .menu-title,
#kt_app_sidebar .menu-item.show > .menu-link .menu-arrow,
#kt_app_sidebar .menu-item.show > .menu-link .menu-icon i {
    color: #fff !important;
}

/* bullet icon */
.menu-link.active .menu-bullet .bullet {
    background-color: #fff !important;
}

#plateforms{
    font-size: 14px;
}

/* ==========================================================================
   Responsive Tables & DataTable Width Fixes for All Modules & Screen Sizes
   ========================================================================== */

/* 1. Ensure table containers provide horizontal scroll without layout distortion or card overflow */
.table-responsive,
.card-body > .table-responsive,
.dataTables_wrapper > .row > .col-sm-12 {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

/* DataTables wrapper table row */
.dataTables_wrapper {
    width: 100% !important;
    position: relative;
}

/* Ensure dropdown menus in DataTables float above table rows and containers */
.table td .dropdown-menu,
table.dataTable td .dropdown-menu {
    z-index: 1060 !important;
    box-shadow: 0 10px 30px 0 rgba(82, 63, 105, 0.15) !important;
}

/* 2. Table base layout: respect column widths, box-sizing, and prevent squishing */
.table,
table.dataTable,
table.dataTable th,
table.dataTable td {
    box-sizing: border-box !important;
}

.table,
table.dataTable {
    width: 100% !important;
    min-width: 100%;
    margin-bottom: 0 !important;
}

/* 3. Table Headers: prevent awkward text wrapping and sort-icon collisions */
.table thead th,
table.dataTable thead th {
    white-space: nowrap !important;
    vertical-align: middle !important;
    position: relative;
}

/* Give sortable headers dedicated room so sort icons (↑↓) NEVER overlap text or borders */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    padding-right: 2rem !important;
    min-width: 85px;
    cursor: pointer;
}

/* Vertically center sort icons cleanly and consistently within the header */
table.dataTable thead th.sorting:before,
table.dataTable thead th.sorting_asc:before,
table.dataTable thead th.sorting_desc:before {
    position: absolute !important;
    right: 1.1rem !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    display: block !important;
}

table.dataTable thead th.sorting:after,
table.dataTable thead th.sorting_asc:after,
table.dataTable thead th.sorting_desc:after {
    position: absolute !important;
    right: 0.5rem !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    display: block !important;
}

/* Completely suppress sorting arrows on Action columns and non-sortable headers */
table.dataTable thead th:last-child:before,
table.dataTable thead th:last-child:after,
table.dataTable thead th.text-end:before,
table.dataTable thead th.text-end:after,
table.dataTable thead th.no-sort:before,
table.dataTable thead th.no-sort:after,
table.dataTable thead th.sorting_disabled:before,
table.dataTable thead th.sorting_disabled:after {
    display: none !important;
    content: "" !important;
    width: 0 !important;
    height: 0 !important;
}

table.dataTable thead th:last-child,
table.dataTable thead th.text-end,
table.dataTable thead th.no-sort,
table.dataTable thead th.sorting_disabled {
    padding-right: 0.75rem !important;
    cursor: default !important;
}

/* 4. Cells & Controls Protection */
.table tbody td,
table.dataTable tbody td {
    vertical-align: middle !important;
}

/* Prevent status badges from wrapping or squishing */
.table td .badge,
table.dataTable td .badge {
    white-space: nowrap !important;
    display: inline-block;
}

/* Prevent action buttons and dropdowns from collapsing or wrapping */
.table td .dropdown,
table.dataTable td .dropdown,
.table td .btn,
table.dataTable td .btn {
    white-space: nowrap !important;
}

/* Ensure Action column has ample width to comfortably fit the Action button and padding without overflowing */
.table th:last-child,
.table td:last-child,
table.dataTable th:last-child,
table.dataTable td:last-child,
.table th.text-end,
.table td.text-end,
th.min-w-60px:last-child,
th.min-w-70px:last-child,
th.min-w-80px:last-child,
th.min-w-100px:last-child {
    min-width: 125px !important;
    width: 125px !important;
    text-align: right !important;
    box-sizing: border-box !important;
}

.table td:last-child .dropdown,
.table td.text-end .dropdown {
    display: inline-flex;
    justify-content: flex-end;
    width: 100%;
}

/* 5. Custom Sleek Scrollbars for table containers */
.table-responsive::-webkit-scrollbar,
.dataTables_wrapper > .row > .col-sm-12::-webkit-scrollbar {
    height: 6px;
    width: 6px;
}

.table-responsive::-webkit-scrollbar-track,
.dataTables_wrapper > .row > .col-sm-12::-webkit-scrollbar-track {
    background: #f1f1f4;
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb,
.dataTables_wrapper > .row > .col-sm-12::-webkit-scrollbar-thumb {
    background: #cdd1dc;
    border-radius: 4px;
}

.table-responsive::-webkit-scrollbar-thumb:hover,
.dataTables_wrapper > .row > .col-sm-12::-webkit-scrollbar-thumb:hover {
    background: #9fa4b2;
}

/* 6. Card toolbar / header responsiveness on mobile / small screens */
@media (max-width: 991.98px) {
    .card .card-header {
        flex-wrap: wrap !important;
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
        gap: 0.75rem !important;
        height: auto !important;
        min-height: auto !important;
    }

    .card .card-header .card-title {
        width: 100% !important;
        margin: 0 !important;
    }

    .card .card-header .card-title .position-relative,
    .card .card-header .card-title input {
        width: 100% !important;
    }

    .card .card-header .card-toolbar {
        width: 100% !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 0.5rem !important;
    }
}

/* Shot Ads Listing Thumbnail Dimensions */
.preview-video-btn,
.preview-video-btn img {
    width: 50px !important;
    height: 70px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    object-fit: cover !important;
    display: block !important;
}