
body {
    background: var(--theme-body-bg);
    color: var(--theme-text);
    min-height: 100vh;
    padding: 45px 0 0 0;
    font-family: Rubik, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.flex {
    display: flex;
}

#logo-org {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

#mtop1 {
    width: 250px;
}

#mtop1 h1 {
    margin: 0 0 0 10px;
    font-size: 20px;
    color: #fff;
}

#mtop1 h1 a {
    color: #fff;
}

#mtop2 {
    width: calc(100% - 250px);
    margin: 0 0 0 10px;
}

#msidebar {
    width: 250px;
    background: #191c24;
    min-height: 100vh;
    border: 1px solid #2c2e33;
}

#msidebar a {
    color: #6c7072;
}

#msidebar i {
    width: 20px;
}

#msidebar ul li {
    padding: 10px 0;
}

#msidebar a.act {
    color: #ff0;
    font-weight: bold;
}

#msidebar ul li li {
    padding: 5px 0;
}

#msidebar a:hover {
    color: #fff;
}

#msidebar .submenu {
    display: none;
}

#msidebar ul {
    list-style: none;
    padding: 0 0 0 15px;
}

#msidebar ul ul {
    padding: 0 0 0 25px;
}

#mcontent {
    width: calc(100% - 250px);
    margin: 0 0 0 10px;
}

#formevent .m100 {
    max-width: 100px;
}

nav .flex.justify-between.flex-1.sm\:hidden {
    display: none;
}

a {
    text-decoration: none;
}

/* Select2 — follow the active Bootstrap theme (light/dark) instead of a fixed palette */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
    min-height: calc(1.5em + .75rem + 2px);
    border-radius: 0.25rem;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--bs-primary);
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--bs-body-color);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--bs-secondary-color);
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--bs-secondary-color) transparent transparent transparent;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--bs-secondary-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--bs-secondary-color);
}
.select2-container--default .select2-search--inline .select2-search__field {
    color: var(--bs-body-color);
    background: transparent;
}

/* Select2 dropdown panel, search box and results — the parts that stayed white */
.select2-dropdown {
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
}
.select2-container--default .select2-results__option {
    color: var(--bs-body-color);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-primary);
    color: #fff;
}
.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-body-color);
}

.container {
    max-width: 1600px;
}

#sidebar-admin li a {
    text-decoration: none;
    display: inline-block;
    padding: 15px 15px;
    border: 0;
    border-radius: 0;
    margin: 0 10px 0 0;
}

#sidebar-admin li .dropdown-menu a {
    border: 0;
    padding: 7px 15px;
}

#sidebar-admin a:hover {
    background: #0f1015;
    color: #fff;
}

.w-5.h-5 {
    width: 20px;
    height: 20px;
}

.clear15 {
    clear: both;
    height: 15px;
}

.clear {
    clear: both;
}

.box1 {
    text-align: center;
    padding: 20px 0 20px 0;
    font-size: 20px;
    border: 1px solid #2c2e33;
    border-radius: 10px;
}

.box1:hover {
    background: #002a67;
    color: #fff;
}

.box1:hover a {
    color: #fff;
}

.box1 i {
    font-size: 80px;
    display: block;
    color: rgb(10 86 197);
    margin: 0 auto 10px auto;
    width: 150px;
    height: 150px;
    /* border: 1px solid #ccc; */
    text-align: center;
    padding: 30px 0 0 0;
    border-radius: 50%;
    color: #fff;
    background: #0a56c5;
    position: relative;
}

.box1:hover i {
    color: #ff0;
    background: #002a67;
}

.box1:hover {
    font-weight: bold;
}

.box1 i:after {
    /* animation: spin 15s linear infinite; */
    /* border: 2px dashed #fff; */
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    top: 0;
    left: 0;
}

button.dropdown-item {
    color: #ffcd82;
}

@keyframes spin {
    100% {
        transform: rotate(360deg);
        /* border: 4px dashed #fff; */
    }
}

#dashboard-agent .box1 i {
    font-size: 40px;
    width: 100px;
    height: 100px;
}

#dashboard-agent .box1 {
    font-size: 16px;
    padding: 10px;
}

#dashboard-chart h3 {
    text-align: center;
}

.box2 {
    border-bottom: 1px solid #ddd;
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    color: #ccc;
}

.box2:last-child {
    border: 0;
}

.box2 b {}

.box2 span {
    display: block;
}

.box2 p {}

#att1 i {
    font-size: 30px;
    margin: 0 10px 0 0;
}

.box3 {
    font-size: 20px;
    background: #0773f8;
    padding: 20px 10px;
    /* border: 2px dashed #fff; */
    color: #fff;
}

#dashboard-agent .row .mb-3.col-md-3:nth-child(2) .box3 {
    background: #016977;
}

#dashboard-agent .row .mb-3.col-md-3:nth-child(3) .box3 {
    background: #00ac74;
}

#dashboard-agent .row .mb-3.col-md-3:nth-child(4) .box3 {
    background: #920086;
}

.box3 i {
    font-size: 50px;
    margin: 0 10px 0 0;
    color: #fff;
}

.box3 a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

#customOptions {
    position: absolute;
    width: 100%;
    z-index: 99;
    background: #fff;
    padding: 0 0 10px 0;
    border: 1px solid #ddd;
    top: 100%;
    border-top: 0;
}

#menutop {
    background: #191c24;
    color: #6c7072;
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    border-bottom: 1px solid #262b38;
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 50px;
}

#menutop a {
    color: #6c7072;
}

#menutop #logo {
    max-height: 50px;
}

.card {
    border-color: #2c2e33;
    border-radius: 0;
}

.card-header {
    background: #262b38;
    color: #fff;
    font-weight: bold;
    border-radius: 0 !important;
}

.card-body {
    background: #191c24;
    /*color: #ccc;*/
}

.c3,
.c3 i {
    text-align: center;
}

.card-body i.fa-spinner {
    font-size: 100px;
    padding: 100px;
}

.table a,
.breadcrumb-item a {
    color: #ffcd82;
}

/**
.table tr td,
.table tr th {
    color: #ccc;
    background: transparent;
}


.table tr:hover , .table tr.new {
    background: #000;
}

.table tr {
    border-color: #2c2e33
}

.table i {
    font-size: 20px;
}
*/

.form-control,
.form-control:disabled {
    background: transparent;
    color: #ccc;
}

.form-control::placeholder {
    color: #ccc;
}

.form-control:focus {
    background: transparent;
    color: #ccc;
}

.form-control-copy {
    line-height: 2;
    height: 100%;
}

select.form-control option {
    background: #191c24;
}

footer {
    text-align: center;
}

.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin: 20px 0 0 0;
}

ul.pagination .page-link {
    background: #262b38;
    color: #ccc;
    border: 0;
}

ul.pagination .active .page-link,
ul.pagination li:hover .page-link {
    background: #191c24;
}

.dropdown-menu.show {
    padding: 0;
    background: #191c24;
    border: 1px solid #2c2e33;
    /*left: 0 !important;*/
}

.dropdown-menu.show a {
    color: #ffcd82;
}

.dropdown-menu.show a:hover {
    background: #000;

}


table .dropdown-menu.show {
    max-width: 100px;
}

.c3 text {
    fill: #ccc;
}

.pagination {
    border: 1px solid #2c2e33;
    border-radius: 7px;
}

.table-responsive {
    /* overflow-x: scroll; */
}

#tab1 {}

#tab1 .nav-link {
    border-radius: 0;
    border: 0;
    color: #fff;
    padding: 10px 20px;
}

#tab1 .nav-link.active {
    background: #262b38;
    border: 1px solid #fff;
}

#tab1 i {
    font-size: 20px;
}

.alert.alert-danger ul {
    margin: 0;
}

.form-control option:hover,
.form-control option:focus,
.form-control option:active,
.form-control option:checked {
    background: #000;
    color: #fff;
}

/*
button.navbar-toggler {
    background: #ccc;
}
*/

.navbar-toggler {
    background: transparent !important;
}

.main-panel {
    padding-top: 0;
}

.tooltip-inner {
    white-space: pre-line;
    text-align: left;
    z-index: 9999;
}

#eventhome.table-responsive {
    overflow-x: scroll;
}

#eventhome table th,
#eventhome table td {
    white-space: nowrap;
}

.table-responsive::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px #000;
    background-color: #262b38;
}

.table-responsive::-webkit-scrollbar {
    height: 8px;
    background-color: #262b38;
}

.table-responsive::-webkit-scrollbar-thumb {
    background-color: #000000;
}

.dataTables_wrapper .dataTables_filter input {
    color: #fff;
}

table.dataTable {
    width: 100% !important;
}

.marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    margin: 0 20px 0 0;
}

.marquee span {
    display: block;
    padding-left: 100%;
    animation: marquee 25s linear infinite;
}

.marquee a:hover {
    color: #fff !important;
    font-weight: bold;
}

@keyframes marquee {
    from {
        transform: translateX(0%);
    }

    to {
        transform: translateX(-200%);
    }
}

pre {
    padding: 0;
    white-space: break-spaces;
    word-break: break-word;
    overflow: hidden;
}

#mmenu {
    display: none;
}

.fa.fa-check-circle {
    color: #b7f500;
}


.fa.fa-times-circle {
    color: #ccc;
}

.fa.fa-exclamation-triangle {
    color: #ec9535;
}

#graph-container,
#graph-container g text {
    color: #fff;
}

.card-header .item1 {
    position: absolute;
    top: 8px;
    right: 10px;
}


@media screen and (max-width: 1000px) {
    #mtop2 .flex {
        justify-content: end;
    }

    #mmenu {
        display: block;
        font-size: 25px;
        color: #fff;
    }

    #mtop1 h1 {
        font-size: 16px;
    }

    .input-group {
        display: block;
    }

    .input-group .form-control {
        width: 100%;
        margin: 0 0 10px 0;
    }

    #mcontent {
        width: 100%;
        margin: 0;
    }

    .marquee,
    #msidebar,
    #mtop2 .navbar-nav {
        display: none;
    }

    #logo-org {
        object-fit: contain;
    }


    #msidebar.act {
        display: block;
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 100%;
        top: 40px;
    }

}

.table.hunting.dataTable td span {
    max-width: 500px;
    display: block;
    white-space: normal;
    overflow: visible;
    word-break: break-all;
    line-height: 1.6;
}

body {
    margin: 0;
}

#formevent .m100 {
    max-width: 100%;
}

#sidebar-admin li a {
    display: block;
    padding: 10px 10px;
    border: 0;
    margin: 0;
    border-radius: 0;
}

.box3 {
    font-size: 14px;
    background: #0773f8;
    padding: 10px;
    /* border: 2px dashed #fff; */
    color: #fff;
}

.box3 i {
    font-size: 20px;
}

.table tr td,
.table tr th {
    /* white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; */
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    /*padding: 0.5rem !important;*/
    font-size: 1rem !important;
}


.sidebar .sidebar-brand-wrapper .sidebar-brand img {
    width: auto;
}

@media (min-width: 992px) {
    .sidebar-icon-only .sidebar {
        width: 85px;
    }

    .sidebar-icon-only .app-name {
        display: none;
    }
}

#DataTables_Table_0 a.dropdown-item, form>button.dropdown-item {
    padding: 0.75rem 1.5rem !important;
}


[data-bs-theme="dark"] .form-control {
    background-color: #2a3038 !important;
}

.dataTables_wrapper {
    font-size: 0.875rem;
}

.dataTables_wrapper .dataTables_filter input {
    border: var(--bs-border-width) solid var(--bs-border-color) !important;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.dataTables_wrapper .dataTables_filter input:focus,
.select2-search__field:focus, .form-select:focus, .form-control:focus {
    border: 1px solid rgba(255, 171, 0, 0.5) !important;
    box-shadow: none;
}

.dataTables_wrapper .dataTables_filter input::placeholder {
    color: #4b5564 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: var(--bs-dark) !important;
    border-color: var(--bs-border-color) !important;
    border-radius: 0 !important;
    color: var(--bs-light) !important;
    padding: 0.25em 0.75em;
    margin-left: 0;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-light) !important;
}



.form-control-sm {
    min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));
    padding: .25rem .5rem;
    font-size: .875rem;
    border-radius: var(--bs-border-radius-sm);
}

.form-select, select.form-control, .form-select option {
    
    
    
}



table.dataTable tbody th, table.dataTable tbody td {
    padding: 0.9375rem;
}

.dataTables_wrapper .dataTables_length {
    margin-bottom: 1rem;
}

.dataTables_wrapper .dataTables_info {
    margin-top: 1rem;
}

.dataTables_wrapper .top .dataTables_paginate {
    margin-bottom: 1rem;
}

.dataTables_wrapper .bottom .dataTables_paginate {
    margin-top: 1rem;
}

.sidebar .nav {
    padding-top: 20px;
}

.login-page .input-group-text {
    border: none;
}

del {
    text-decoration: line-through;
}

ins {
    color: #00b393;
    text-decoration: none;
}

.showDetail, .showSmartDetail {
    cursor: pointer;
}

.detail-indicator {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1rem;
    background: #f7b553;
}

.icon-office {
    scale: 1.5;
    margin: 1rem 0 0 1rem;
}

.alert > p {
    margin-bottom: 0;
}

.avatar {
    object-fit: contain;
}

.icon-office {
    scale: 1.5;
    margin: 1rem 0 0 1rem;
}

.alert > p {
    margin-bottom: 0;
}

.avatar {
    object-fit: contain;
}

.form-row .form-group .btn {
    padding: 0.625rem 0.6875rem;
}

.badge-secondary {
    color: var(--bs-black);
}

.removeWhitelist {
    cursor: pointer;
    color: #dc3545;
}
#notificationDropdownMenu {
    width: 280px;
    margin-left: -100px;
    top: 50px;
    left: 0;
}
#notificationDropdownMenu .dropdown-item {
    white-space: normal;
}
.notification-created_at {
    font-size: 0.8rem;
}
.ticket-attachment {
    width: 100%;
    height: 400px;
    object-fit: contain;
}
@media (max-width: 768px) {
    #notificationDropdownMenu .dropdown-item {
        font-size: 0.8rem;
        padding: 5px 13px;
    }
    .notification-created_at {
        font-size: 0.6rem;
    }
}

.daterangepicker {
    position: absolute;
    color: inherit;
    background-color: #191c24;
    border-radius: 4px;
    width: 278px;
    max-width: none;
    padding: 0;
    margin-top: 7px;
    top: 100px;
    left: 20px;
    z-index: 3001;
    display: none;
    font-family: Rubik, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 15px;
    line-height: 1em;
}

.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
    float: none;
}

.daterangepicker.single .drp-selected {
    display: none;
}

.daterangepicker.show-calendar .drp-calendar {
    display: block;
}

.daterangepicker.show-calendar .drp-buttons {
    display: block;
}

.daterangepicker.auto-apply .drp-buttons {
    display: none;
}

.daterangepicker .drp-calendar {
    display: none;
    max-width: 270px;
}

.daterangepicker .drp-calendar.left {
    padding: 8px 0 8px 8px;
}

.daterangepicker .drp-calendar.right {
    padding: 8px;
}

.daterangepicker .drp-calendar.single .calendar-table {
    border: none;
}

.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
    color: #191c24;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    border-radius: 0;
    display: inline-block;
    padding: 3px;
}

.daterangepicker .calendar-table .next span {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.daterangepicker .calendar-table .prev span {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    min-width: 32px;
    width: 32px;
    height: 24px;
    line-height: 24px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid transparent;
    white-space: nowrap;
    cursor: pointer;
}

.daterangepicker .calendar-table {
    border-radius: 4px;
    background-color: #191c24;
}

.daterangepicker .calendar-table table {
    width: 100%;
    margin: 0;
    border-spacing: 0;
    border-collapse: collapse;
}

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
    background-color: #357ebd;
    border-color: transparent;
    color: #fff;
}

.daterangepicker td.week, .daterangepicker th.week {
    font-size: 80%;
    color: #ccc;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
    background-color: #191c24;
    border-color: transparent;
    color: #ddd;
}

.daterangepicker td.in-range {
    background-color: #80808040;
    border-color: transparent;
    color: #000;
    border-radius: 0;
}

.daterangepicker td.start-date {
    border-radius: 4px 0 0 4px;
}

.daterangepicker td.end-date {
    border-radius: 0 4px 4px 0;
}

.daterangepicker td.start-date.end-date {
    border-radius: 4px;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
    background-color: #357ebd;
    border-color: transparent;
    color: #fff;
}

.daterangepicker th.month {
    width: auto;
}

.daterangepicker td.disabled, .daterangepicker option.disabled {
    color: #404040;
    cursor: not-allowed;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
    font-size: 12px;
    padding: 1px;
    height: auto;
    margin: 0;
    cursor: default;
}

.daterangepicker select.monthselect {
    margin-right: 2%;
    width: 56%;
}

.daterangepicker select.yearselect {
    width: 40%;
}

.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
    width: 50px;
    margin: 0 auto;
    background: #eee;
    border: 1px solid #191c24;
    padding: 2px;
    outline: 0;
    font-size: 12px;
}

.daterangepicker .calendar-time {
    text-align: center;
    margin: 4px auto 0 auto;
    line-height: 30px;
    position: relative;
}

.daterangepicker .calendar-time select.disabled {
    color: #ccc;
    cursor: not-allowed;
}

.daterangepicker .drp-buttons {
    clear: both;
    text-align: right;
    padding: 8px;
    display: none;
    line-height: 12px;
    vertical-align: middle;
}

.daterangepicker .drp-selected {
    display: inline-block;
    font-size: 12px;
    padding-right: 8px;
}

.daterangepicker .drp-buttons .btn {
    margin-left: 8px;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 8px;
}

.daterangepicker .ranges {
    float: none;
    text-align: left;
    margin: 0;
}

.daterangepicker.show-calendar .ranges {
    margin-top: 8px;
}

.daterangepicker .ranges ul {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    width: 100%;
}

.daterangepicker .ranges li {
    font-size: 12px;
    padding: 8px 12px;
    cursor: pointer;
}

.daterangepicker .ranges li:hover {
    background-color: #80808040;
}

.daterangepicker .ranges li.active {
    background-color: #357ebd;
    color: #fff;
}

.chevrons {
    display: flex;
    width: 100%;
    height: 40px;
    margin: 20px 0;
}

.chevrons > * {
    position: relative;
    flex: 1;
    background: #2c2e33;
    text-align: center;
    line-height: 40px;
    margin-right: 2px;
}

.chevrons > *.active {
    background: #00ac74;
}

.chevrons > *.current {
    background: #357ebd;
}

.modal-body {
    overflow-y: scroll;
}

/*  Larger Screen Styling */
@media (min-width: 564px) {
    .daterangepicker {
        width: auto;
    }

    .daterangepicker .ranges ul {
        width: 140px;
    }

    .daterangepicker.single .ranges ul {
        width: 100%;
    }

    .daterangepicker.single .drp-calendar.left {
        clear: none;
    }

    .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {
        float: left;
    }

    .daterangepicker {
        direction: ltr;
        text-align: left;
    }

    .daterangepicker .drp-calendar.left {
        clear: left;
        margin-right: 0;
    }

    .daterangepicker .drp-calendar.left .calendar-table {
        border-right: none;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .daterangepicker .drp-calendar.right {
        margin-left: 0;
    }

    .daterangepicker .drp-calendar.right .calendar-table {
        border-left: none;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }

    .daterangepicker .drp-calendar.left .calendar-table {
        padding-right: 8px;
    }

    .daterangepicker .ranges, .daterangepicker .drp-calendar {
        float: left;
    }
}

@media (min-width: 730px) {
    .daterangepicker .ranges {
        width: auto;
    }

    .daterangepicker .ranges {
        float: left;
    }

    .daterangepicker.rtl .ranges {
        float: right;
    }

    .daterangepicker .drp-calendar.left {
        clear: none !important;
    }
}

/* Menu context */
.context-menu {
    position: absolute;
    background-color: #333;
    padding: 12px 14px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
}

/* Các nút bên trong menu */
.context-menu .buttons {
    display: flex;
    gap: 10px;
}

.context-menu .button {
    cursor: pointer;
    font-size: 18px;
    color: #fff;
}

/* Nút đóng menu (x) */
.context-menu .close-btn {
    position: absolute;
    top: -10px;
    right: -10px;
    background-color: #333;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    cursor: pointer;
    font-size: 14px;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    z-index: 10000;
    transition: background-color 0.2s;
}
.context-menu .close-btn:hover {
    background-color: red;
}

/* Ví dụ: đoạn text có định dạng đặc biệt */
.special {
    background-color: #444;
    padding: 2px 4px;
    border-radius: 4px;
}

:root, [data-bs-theme="light"] {
    --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-2xl: var(--bs-border-radius-xxl);
}

textarea.form-control {
    height: 5.125rem;
}

textarea.form-control.form-control-lg {
    height: 10.25rem;
}

.eps_dashboard_page .preview-icon{
    color: var(--bs-body-color);
}

.form-select option:checked {
    background: rgb(153, 200, 255) !important;
    color: #333 !important;
    padding: 0.5rem;
}

/* === SEVERITY COLOR SCHEME (0–100) === */

/* Informational (0–19) */
.bg-severity-info {
  background-color: #3498DB !important; /* blue */
  color: #ffffff;
}

/* Low (20–39) */
.bg-severity-low {
  background-color: #2ECC71 !important; /* green */
  color: #ffffff;
}

/* Medium (40–59) */
.bg-severity-medium {
  background-color: #F1C40F !important; /* yellow */
  color: #000000;
}

/* High (60–79) */
.bg-severity-high {
  background-color: #E67E22 !important; /* orange */
  color: #ffffff;
}

/* Critical (80–100) */
.bg-severity-critical {
  background-color: #E74C3C !important; /* red */
  color: #ffffff;
}

/* Extreme (tuỳ chọn: >95 hoặc sự cố hệ thống nghiêm trọng) */
.bg-severity-extreme {
  background-color: #8B0000 !important; /* dark red */
  color: #ffffff;
}


/* Informational (0–19) */
.text-severity-info, .table > :not(caption) > .text-severity-info > * {
  color: #3498DB !important; /* blue */
}

/* Low (20–39) */
.text-severity-low, .table > :not(caption) > .text-severity-low > * {
  color: #2ECC71 !important; /* green */
}

/* Medium (40–59) */
.text-severity-medium, .table > :not(caption) > .text-severity-medium > * {
  color: #F1C40F !important; /* yellow */
}

/* High (60–79) */
.text-severity-high, .table > :not(caption) > .text-severity-high > * {
  color: #E67E22 !important; /* orange */
}

/* Critical (80–100) */
.text-severity-critical, .table > :not(caption) > .text-severity-critical > * {
  color: #E74C3C !important; /* red */
}

/* Extreme (tuỳ chọn: >95 hoặc sự cố hệ thống nghiêm trọng) */
.text-severity-extreme, .table > :not(caption) > .text-severity-extreme > * {
  color: #8B0000 !important; /* dark red */
}

.preview-list .preview-item .preview-item-content {
    word-break: break-word;
}

.table-nowrap td {
    white-space: normal !important;
}

.table td.agent-ip-column {
    white-space: pre-line !important;
}

/* ===== THEME VARIABLE OVERRIDES ===== */
/* .sidebar { background: var(--theme-sidebar-bg) !important; } */
.sidebar .nav .nav-item .nav-link { color: var(--theme-text) !important; }
.sidebar-brand-wrapper { background: var(--theme-sidebar-bg) !important; }

.navbar { background: var(--theme-navbar-bg) !important; }
.navbar-menu-wrapper { background: var(--theme-navbar-bg) !important; }

.card-header { background: var(--theme-card-header-bg) !important; }
/* .card-body { background: var(--theme-card-body-bg) !important; } */
/* .card-body { background: color-mix(in srgb, var(--theme-card-body-bg) 90%, transparent) !important; } */
    


.dropdown-menu.show { background: var(--theme-sidebar-bg) !important; border-color: var(--theme-border) !important; }

.table a, .breadcrumb-item a { color: var(--theme-link) !important; }
button.dropdown-item { color: var(--theme-link) !important; }

#msidebar { background: var(--theme-sidebar-bg) !important; border-color: var(--theme-border) !important; }
#menutop { background: var(--theme-navbar-bg) !important; border-color: var(--theme-border) !important; }

ul.pagination .page-link { background: var(--theme-card-header-bg) !important; }
ul.pagination .active .page-link, ul.pagination li:hover .page-link { background: var(--theme-sidebar-bg) !important; }

.daterangepicker { background-color: var(--theme-sidebar-bg) !important; }
.daterangepicker .calendar-table { background-color: var(--theme-sidebar-bg) !important; }

/* Accent color for interactive elements */
.btn-primary, .dataTables_wrapper .dataTables_paginate .paginate_button:hover,

.nav-link.active, .tab-pane .nav-link.active { border-color: var(--theme-accent) !important; }

/* ===== THEME PANEL BUTTON ===== */
#theme-panel-toggle {
    cursor: pointer;
    color: var(--theme-text);
    transition: color 0.2s;
}
#theme-panel-toggle:hover { color: #fff; }

/* ===== THEME PANEL OFFCANVAS ===== */
#themePanelOffcanvas {
    width: 320px;
    background: var(--theme-sidebar-bg) !important;
    border-left: 1px solid var(--theme-border);
}
#themePanelOffcanvas .offcanvas-header { border-bottom: 1px solid var(--theme-border); }
#themePanelOffcanvas .offcanvas-title { color: #fff; }



/* ===== SIDEBAR FIXED FULL HEIGHT ===== */
@media (min-width: 992px) {
    .sidebar-fixed .sidebar {
        top: 70px;
        height: calc(100vh - 70px);
        overflow-y: auto;
    }
}

/* ===== UTILITY CLASSES ===== */
.cursor-pointer { cursor: pointer; }

/* ===== FORM SELECT OVERRIDE (form-control → form-select migration) ===== */
select.form-select {
    
    background-color: #2a3038;
    border: 1px solid #2c2e33;
    border-radius: 2px;
    color: #4b5564;
    font-size: 0.875rem;
}
select.form-select:focus {
    outline: 1px solid #2c2e33;
    border-color: rgba(71, 164, 71, 0.5);
    box-shadow: none;
}

/* ===== MOBILE RESPONSIVE (≤991px) ===== */

/* Sidebar overlay — hidden by default, shown when sidebar is open on mobile */
#sidebar-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 999;
    background: rgba(0, 0, 0, 0.45);
}
@media (max-width: 991px) {
    .sidebar.active ~ #sidebar-overlay,
    body.sidebar-icon-only #sidebar-overlay {
        display: block;
    }
}

/* Mobile navbar: ensure toggler-right is styled correctly */
@media (max-width: 991px) {
    .navbar .navbar-menu-wrapper .navbar-toggler-right {
        color: var(--theme-text) !important;
        border: none !important;
        background: transparent !important;
        font-size: 1.1rem;
        padding: 0 12px;
        height: 70px;
    }

    /* Sidebar slides from LEFT on mobile (fix right:-244px default) */
    .sidebar-offcanvas {
        right: auto !important;
        left: -244px;
        transition: left 0.25s ease-out !important;
    }
    .sidebar-offcanvas.active {
        left: 0 !important;
        right: auto !important;
        z-index: 1050;
    }

    /* Full-width main panel on mobile */
    .main-panel {
        width: 100% !important;
        min-height: 100vh;
    }

    /* Content: account for fixed navbar height */
    .content-wrapper {
        padding: 1rem 0.75rem !important;
        margin-top: 70px;
    }

    /* Tables: horizontal scroll on small screens */
    .table-responsive,
    .dataTables_wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table {
        min-width: 600px;
    }

    /* Cards: tighter padding */
    .card-body {
        padding: 0.75rem !important;
    }
    .card-header {
        padding: 0.6rem 0.75rem !important;
    }

    /* Page header */
    .page-header {
        margin-top: 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    /* DataTables controls: stack on mobile */
    .dataTables_length,
    .dataTables_filter {
        text-align: left !important;
        margin-bottom: 8px;
    }

    /* Hide theme panel palette icon text label if any */
    #theme-panel-toggle .btn-text { display: none; }

    /* Dropdowns: prevent overflow off screen */
    .dropdown-menu-end {
        right: 0 !important;
        left: auto !important;
    }
}

/* Extra-small phones (≤575px) */
@media (max-width: 575px) {
    .navbar .navbar-menu-wrapper {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .content-wrapper {
        padding: 0.75rem 0.5rem !important;
    }
    .card-body {
        padding: 0.5rem !important;
    }
    /* Collapse notification/license text on very small screens */
    .navbar-activate-now span,
    .navbar-activate-now {
        font-size: 0.75rem;
    }
}
.badge.bg-secondary {
    color: #333 !important;
}

/* =========================================================================
   Fleet Modern UI — structural styling (border-radius, gradients, shadows)
   Color-agnostic: reads the live theme via the --theme-* and --bs-primary-rgb
   CSS variables emitted by admin/partials/theme-styles.blade.php, so it adapts
   to whatever preset / custom colors are active in Customize Theme.
   Loaded after theme-styles, so these win for shared selectors.
   ========================================================================= */

:root {
    /* accent as r,g,b for translucent glows; falls back to a blue if unset */
    --fleet-accent-rgb: var(--bs-primary-rgb, 13, 110, 253);
    --fleet-radius: 1rem;
    --fleet-radius-sm: .6rem;
    --fleet-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
    --fleet-shadow-sm: 0 6px 16px rgba(0, 0, 0, 0.18);
    --fleet-border: var(--theme-border, rgba(255, 255, 255, 0.10));
}

/* --- Cards: rounded, soft shadow, subtle accent-glow gradient ----------- */
.card {
    border-radius: var(--fleet-radius) !important;
    border: 1px solid var(--fleet-border) !important;
    box-shadow: var(--fleet-shadow) !important;
    transition: transform .15s ease, box-shadow .15s ease;
}
.card:hover {
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28) !important;
}
.card-header {
    background:
        linear-gradient(135deg,
            var(--theme-card-header-bg) 0%,
            var(--theme-card-body-bg) 100%) !important;
    border-bottom: 1px solid var(--fleet-border) !important;
    border-radius: var(--fleet-radius) var(--fleet-radius) 0 0 !important;
}
/* header is the first child → round its top; lone card-body rounds all corners */
.rounded, .card-body {
    background:
        radial-gradient(900px circle at 100% 0%,
            rgba(var(--fleet-accent-rgb), 0.2), transparent 42%),
        var(--theme-card-body-bg) !important;
    border-radius: inherit;
}
.card > .card-header + .card-body { border-radius: 0 0 var(--fleet-radius) var(--fleet-radius); }

/* --- Navbar: gradient strip + bottom border ---------------------------- */
.navbar,
.navbar .navbar-menu-wrapper {
    background:
        linear-gradient(90deg,
            var(--theme-navbar-bg) 0%,
            var(--theme-sidebar-bg) 100%) !important;
    border-bottom: 1px solid var(--fleet-border) !important;
}

/* --- Buttons: rounded + gradient primary ------------------------------- */
.btn {
    border-radius: var(--fleet-radius-sm) !important;
    transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:active { transform: translateY(1px); }
.btn-primary {
    background: linear-gradient(135deg,
        var(--theme-accent) 0%,
        rgba(var(--fleet-accent-rgb), 0.78) 100%) !important;
    border: 0 !important;
    box-shadow: 0 6px 16px rgba(var(--fleet-accent-rgb), 0.30) !important;
}
.btn-primary:hover,
.btn-primary:focus { filter: brightness(1.08); }
.btn-outline-primary { border-radius: var(--fleet-radius-sm) !important; }

/* --- Inputs / selects / dropdowns: rounded ----------------------------- */
.form-control,
.form-select,
.input-group > .form-control,
.input-group > .form-select {
    border-radius: var(--fleet-radius-sm) !important;
}
.input-group > .form-control:not(:last-child),
.input-group > .form-select:not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.dropdown-menu {
    border-radius: var(--fleet-radius-sm) !important;
    border: 1px solid var(--fleet-border) !important;
    box-shadow: var(--fleet-shadow-sm) !important;
}

/* --- Modals: rounded + shadow ------------------------------------------ */
.modal-content {
    border-radius: var(--fleet-radius) !important;
    border: 1px solid var(--fleet-border) !important;
    box-shadow: var(--fleet-shadow) !important;
    overflow: hidden;
}

/* --- Sidebar: rounded active nav item + accent fill -------------------- */
.sidebar .nav .nav-item .nav-link {
    border-radius: var(--fleet-radius-sm) !important;
    margin: 2px 8px !important;
    transition: background .15s ease;
}
.sidebar .nav .nav-item.active > .nav-link,
.sidebar .nav .nav-item .nav-link:hover {
    background: rgba(var(--fleet-accent-rgb), 0.14) !important;
}

/* --- Tables inside cards: clip rounded corners ------------------------- */
.card > .table,
.card > .table-responsive { border-radius: 0 0 var(--fleet-radius) var(--fleet-radius); overflow: hidden; }

/* --- Page header: rounded pill already set by theme; add depth --------- */
.page-header { box-shadow: var(--fleet-shadow-sm) !important; }
