/* floating animation */
.floating {  
    animation-name: floating;
    animation-duration: 2.5s;
    animation-iteration-count: infinite;
    animation-timing-function: ease-in-out;
}

 
@keyframes floating {
    0% { transform: translate(0,  0px); }
    50%  { transform: translate(0, 5px); }
    100%   { transform: translate(0, -0px); }    
}

/* swing animation */
.swing {
    animation: swing 2s infinite ease-in-out;
}

@keyframes swing {
    0% { transform: rotate(0deg); }
    10% { transform: rotate(5deg); }
    20% { transform: rotate(-5deg); }
    30% { transform: rotate(3deg); }
    40% { transform: rotate(-3deg); }
    50% { transform: rotate(1.5deg); }
    60% { transform: rotate(-1.5deg); }
    70% { transform: rotate(1deg); }
    80% { transform: rotate(-1deg); }
    90% { transform: rotate(0.5deg); }
    100% { transform: rotate(0deg); }
}

/* beat amimation */

.beat {
    animation: beat 5s infinite;
}

@keyframes scaleBeat {
    0% { transform: scale(1); }
    5% { transform: scale(1.05); }
    10% { transform: scale(1); }
    15% { transform: scale(1.05); }
    20% { transform: scale(1); }
    100% { transform: scale(1); }
}


.box {
    background: #56c958;
    border-radius: 10px;
    padding-bottom: 100%;
 }
 
.cardAnthropic {
    transition: .3s ease-in-out;
    background-color: #D29D76 !important;
}

.cardAnthropic:hover {
    box-shadow: 0px 0px 80px -40px rgb(3, 3, 3);
    transform: scale(1.05);
}

.cardOpenai {
    transition: .3s ease-in-out;
}

.cardOpenai:hover {
    box-shadow: 0px 0px 60px -40px rgb(3, 3, 3);
    transform: scale(1.05);
}
.bgnew{position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background-image:-webkit-gradient(linear, left bottom, right top, from(#6d327c), color-stop(#485DA6), color-stop(#00a1ba), color-stop(#00BF98), to(#36C486));background-image:-webkit-linear-gradient(left bottom, #6d327c, #485DA6, #00a1ba, #00BF98, #36C486);background-image:-o-linear-gradient(left bottom, #6d327c, #485DA6, #00a1ba, #00BF98, #36C486);background-image:linear-gradient(to right top, #6d327c, #485DA6, #00a1ba, #00BF98, #36C486);}

.fa-regular{
    color: black;
    margin-right: 5px;
}
.badge-success {
    background-color: #28a745;
}

.button-wrapper .btn {
	margin-top: 5px;
    margin-bottom: 10px;
}
.button-wrapper {
	display: flex;
    flex-flow: column wrap;
	justify-content: space-around;
}

.chart-area {
    height: 20rem!important;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-icon {
    animation: spin 2s linear infinite;
}

@keyframes pop {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.pop-effect {
    animation: pop 0.3s ease;
}

@keyframes pop-center {
    0% { transform: scale(1) translateY(0); }
    50% { transform: scale(1.1) translateY(-5px); }
    100% { transform: scale(1) translateY(0); }
}


@media (max-width: 767px) {
    #content-wrapper {
      padding-bottom: 70px; /* Điều chỉnh giá trị này tùy theo chiều cao của bottom bar */
    }
}

@media (min-width: 520px) {
    .button-wrapper {
      align-items: center;
      flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      -webkit-flex-flow: row wrap;
    }
  .btn-container-center>a.btn {
      margin-left: 12px;
      margin-right: 12px;
  }
  .btn-container-center {
      justify-content: center;
  }
  .btn-container-center>a.btn:first-of-type {
      margin-left: 0;
  }
  .btn-container-center>a.btn:last-of-type {
      margin-right: 0;
  }
  .btn-container-left>a.btn {
      margin-left: 12px;
      margin-right: 12px;
  }
  .btn-container-left {
      justify-content: flex-start;
  }
  .btn-container-left>a.btn:first-of-type {
      margin-left: 0;
  }
  .btn-container-left>a.btn:last-of-type {
      margin-right: 0;
  }
  .btn-container-right>a.btn {
      margin-left: 12px;
      margin-right: 12px;
  }
  .btn-container-right {
      justify-content: flex-end;
  }
  .btn-container-right>a.btn:first-of-type {
      margin-left: 0;
  }
  .btn-container-right>a.btn:last-of-type {
      margin-right: 0;
  }
  .btn-container-stretch>a.btn {
      margin-left: 12px;
      margin-right: 12px;
  }
  .btn-container-stretch {
      justify-content: space-between;
  }
  .btn-container-stretch>a.btn:first-of-type {
      margin-left: 0;
  }
  .btn-container-stretch>a.btn:last-of-type {
      margin-right: 0;
  }
  .btn-container-col-center {
      flex-direction: column;
      align-items: center;
  }
  .btn-container-col-left {
      flex-direction: column;
      align-items: flex-start;
  }
  .btn-container-col-right {
      flex-direction: column;
      align-items: flex-end;
  }
  /* TESTING */
    .btn-fill-space .btn {
    margin: 20px;
    flex-grow: 1; 
    transition-duration: 0.2s;
    }
    .btn-fill-space .btn:hover {
    flex-grow: 1.6; 
    }
    
    .btn-always-col {
        flex-flow: column wrap;
        justify-content: space-around;
    }
    .btn-always-col>.btn {
        width: 100%;
    }
}

/* font !important to override */
h1, h2, h3, h4, h5, h6, p, a, span, div, li, ul, ol, button, input, textarea, label, select, option, th, td, tr, table, form, section, article, nav, footer, header, aside, main, body, html, .container, .container-fluid, .row, .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .card, .card-title, .card-text, .card-header, .card-footer, .card-body, .card-img, .card-img-top, .card-img-bottom, .card-img-overlay, .card-group, .card-deck, .card-columns, .card-subtitle, .card-link
{
    font-family: 'Inter', sans-serif important;
}

/* hot fix missing tooltip on IOS 18 */
.introjs-tooltipReferenceLayer {
    visibility: visible !important;
}

/* Tối ưu bảng hiển thị nhiều nội dung hơn */
#logsTable tbody td {
    font-size: 15px;
    padding: 4px;
    line-height: 1.2;
    color:#858796;
}

.two-line-ellipsis {
    display: -webkit-box;
    -webkit-line-clamp: 2;       /* Giới hạn 2 dòng */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;         /* Đảm bảo xuống dòng */
}


/* Dark Theme cho Bootstrap 4 & 5 - Hoạt động với data-bs-theme */
/* Đặt file này trong project của bạn và import sau tất cả các CSS Bootstrap */

/* Cơ chế tương thích Bootstrap 4 với data-bs-theme của Bootstrap 5 */
[data-bs-theme="dark"] {
    /* Các biến chung */
    --bs-body-bg: #212529;
    --bs-body-color: #f8f9fa;
    --bs-border-color: #495057;
    
    /* Các class của Bootstrap 4 */
    color-scheme: dark;
  }
  
  /* === Bootstrap 4 Elements === */
  
  /* Base elements */
  [data-bs-theme="dark"] body:not(.bootstrap-5) {
    background-color: #212529;
    color: #f8f9fa;
  }
  
  /* Navbar (Bootstrap 4) */
  [data-bs-theme="dark"] .navbar-light:not(.bootstrap-5) {
    background-color: #343a40 !important;
  }
  
  [data-bs-theme="dark"] .navbar-light:not(.bootstrap-5) .navbar-brand,
  [data-bs-theme="dark"] .navbar-light:not(.bootstrap-5) .navbar-nav .nav-link {
    color: #f8f9fa;
  }
  
  [data-bs-theme="dark"] .navbar-light:not(.bootstrap-5) .navbar-toggler {
    border-color: #6c757d;
    color: #f8f9fa;
  }
  
  /* Cards (Bootstrap 4) */
  [data-bs-theme="dark"] .card:not(.bootstrap-5) {
    background-color: #2c3034;
    border-color: #495057;
  }
  
  [data-bs-theme="dark"] .card-header:not(.bootstrap-5),
  [data-bs-theme="dark"] .card-footer:not(.bootstrap-5) {
    background-color: #343a40;
    border-color: #495057;
  }
  
  /* Tables (Bootstrap 4) */
  [data-bs-theme="dark"] .table:not(.bootstrap-5) {
    color: #dee2e6;
  }
  
  [data-bs-theme="dark"] .table-bordered:not(.bootstrap-5),
  [data-bs-theme="dark"] .table-bordered:not(.bootstrap-5) td,
  [data-bs-theme="dark"] .table-bordered:not(.bootstrap-5) th {
    border-color: #495057;
  }
  
  [data-bs-theme="dark"] .table-striped:not(.bootstrap-5) tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05);
  }
  
  [data-bs-theme="dark"] .table-hover:not(.bootstrap-5) tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.075);
  }
  
  /* Forms (Bootstrap 4) */
  [data-bs-theme="dark"] .form-control:not(.bootstrap-5) {
    background-color: #2c3034;
    border-color: #495057;
    color: #f8f9fa;
  }
  
  [data-bs-theme="dark"] .input-group-text:not(.bootstrap-5) {
    background-color: #343a40;
    border-color: #495057;
    color: #f8f9fa;
  }
  
  /* Dropdowns (Bootstrap 4) */
  [data-bs-theme="dark"] .dropdown-menu:not(.bootstrap-5) {
    background-color: #343a40;
    border-color: #495057;
  }
  
  [data-bs-theme="dark"] .dropdown-item:not(.bootstrap-5) {
    color: #dee2e6;
  }
  
  [data-bs-theme="dark"] .dropdown-item:not(.bootstrap-5):hover,
  [data-bs-theme="dark"] .dropdown-item:not(.bootstrap-5):focus {
    background-color: #495057;
  }
  
  /* List groups (Bootstrap 4) */
  [data-bs-theme="dark"] .list-group-item:not(.bootstrap-5) {
    background-color: #343a40;
    border-color: #495057;
    color: #dee2e6;
  }
  
  /* Modals (Bootstrap 4) */
  [data-bs-theme="dark"] .modal-content:not(.bootstrap-5) {
    background-color: #343a40;
    border-color: #495057;
  }
  
  [data-bs-theme="dark"] .modal-header:not(.bootstrap-5),
  [data-bs-theme="dark"] .modal-footer:not(.bootstrap-5) {
    border-color: #495057;
  }
  
  /* Buttons (Bootstrap 4) */
  [data-bs-theme="dark"] .btn-light:not(.bootstrap-5) {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #fff;
  }
  
  [data-bs-theme="dark"] .btn-outline-dark:not(.bootstrap-5) {
    color: #f8f9fa;
    border-color: #f8f9fa;
  }
  
  /* Nav tabs (Bootstrap 4) */
  [data-bs-theme="dark"] .nav-tabs:not(.bootstrap-5) {
    border-color: #495057;
  }
  
  [data-bs-theme="dark"] .nav-tabs:not(.bootstrap-5) .nav-link.active,
  [data-bs-theme="dark"] .nav-tabs:not(.bootstrap-5) .nav-item.show .nav-link {
    background-color: #212529;
    border-color: #495057 #495057 #212529;
    color: #f8f9fa;
  }
  
  /* Pagination (Bootstrap 4) */
  [data-bs-theme="dark"] .pagination:not(.bootstrap-5) .page-link {
    background-color: #343a40;
    border-color: #495057;
    color: #f8f9fa;
  }
  
  [data-bs-theme="dark"] .pagination:not(.bootstrap-5) .page-item.active .page-link {
    background-color: #0d6efd;
    border-color: #0d6efd;
  }
  
  /* Alert (Bootstrap 4) */
  [data-bs-theme="dark"] .alert-secondary:not(.bootstrap-5) {
    background-color: #495057;
    border-color: #6c757d;
    color: #f8f9fa;
  }
  
  /* Backgrounds (Bootstrap 4) */
  [data-bs-theme="dark"] .bg-light:not(.bootstrap-5) {
    background-color: #343a40 !important;
  }
  
  [data-bs-theme="dark"] .bg-white:not(.bootstrap-5) {
    background-color: #212529 !important;
  }
  
  [data-bs-theme="dark"] .border:not(.bootstrap-5) {
    border-color: #495057 !important;
  }
  
  /* Text colors (Bootstrap 4) */
  [data-bs-theme="dark"] .text-dark:not(.bootstrap-5) {
    color: #f8f9fa !important;
  }
  
  [data-bs-theme="dark"] .text-muted:not(.bootstrap-5) {
    color: #adb5bd !important;
  }
  
  /* Input placeholders (Bootstrap 4) */
  [data-bs-theme="dark"] .form-control:not(.bootstrap-5)::placeholder {
    color: #6c757d;
    opacity: 1;
  }

  [data-bs-theme="dark"] #content-wrapper {
    background-color: #121212 !important; /* Màu nền tối */
    color: #e0e0e0 !important; /* Màu chữ sáng */
  }
  
  [data-bs-theme="dark"] #content {
    background-color: #1e1e1e !important;
  }
  
  /* Các class phụ thuộc khác từ sb-admin-2 */
  [data-bs-theme="dark"] .bg-white {
    background-color: #212121 !important;
  }
  
  [data-bs-theme="dark"] .bg-light {
    background-color: #333333 !important;
  }
  
  [data-bs-theme="dark"] .card:not() {
    background-color: #2c2c2c !important;
    border-color: #444444 !important;
  }
  
  [data-bs-theme="dark"] .card-header {
    background-color: #333333 !important;
    border-color: #444444 !important;
  }
  
  [data-bs-theme="dark"] .table {
    color: #e0e0e0 !important;
  }
  
  [data-bs-theme="dark"] .sidebar {
    background-color: #212121 !important;
    background-image: linear-gradient(180deg, #212121 10%, #333333 100%) !important;
  }
  
  [data-bs-theme="dark"] .sidebar-dark .nav-item .nav-link {
    color: rgba(255,255,255,.8) !important;
  }
  
  [data-bs-theme="dark"] .topbar {
    background-color: #212121 !important;
  }

  [data-bs-theme="dark"] .navbar  {
    background-color: #2c2c2c !important;
    border-color: #444444 !important;
    color: rgba(255,255,255,.8) !important;
  }