@font-face {
  font-family: 'Montserrat';
  src: url('/fonts/Montserrat/static/Montserrat-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat-SemiBold';
  src: url('/fonts/Montserrat/static/Montserrat-SemiBold.ttf') format('truetype');
}

@font-face {
  font-family: 'exo';
  src: url('/fonts/Exo/static/Exo-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'exo-bold';
  src: url('/fonts/Exo/static/Exo-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'exo-semibold';
  src: url('/fonts/Exo/static/Exo-SemiBold.ttf') format('truetype');
}

@font-face {
  font-family: 'roboto';
  src: url('/fonts/Roboto/static/Roboto-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'roboto-semibold';
  src: url('/fonts/Roboto/static/Roboto-SemiBold.ttf') format('truetype');
}

@font-face {
  font-family: 'roboto-bold';
  src: url('/fonts/Roboto/static/Roboto-Bold.ttf') format('truetype');
}

.chat-item {
  width: 100%;
}

.chat-item.active {
  width: 100%;
  background: #F5F5F6;
}

.date-cell {
    padding: 0.3vw;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85vw;
  }
  .date-cell:hover {
    background-color: #e0f4fc;
  }
  .date-selected {
    background-color: #009FE3;
    color: white;
  }
  .date-in-range {
    background-color: #bce3f6;
  }

.brand-link2 {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

#typing-indicator p {
    font-style: italic;
    color: gray;
}

.input-prompt {
  border-radius: 56px;
}

#file-preview {
  display: flex;
  flex-wrap: wrap; /* agar tetap rapi kalau nanti lebih dari 2 */
  gap: 1vw; /* jarak antar file box */
  align-items: flex-start;
}

/* Card container lebar penuh, dikurangi lebar sidebar */
.card-container2 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5vw;
  justify-content: flex-start;
  transition: all 0.3s ease;
  padding: 1vw;
  box-sizing: border-box;
}

/* Default: sidebar tertutup (sisa ruang penuh) */
.content-wrapper2 {
  width: calc(100% - 0px); /* Sidebar collapse = no space taken */
  transition: all 0.3s ease;
}

/* Saat sidebar terbuka */
body.sidebar-open2 .content-wrapper2,
body:not(.sidebar-collapse2) .content-wrapper2 {
  width: calc(100% - 250px); /* atau ganti 250px sesuai lebar sidebar kamu */
}

.card-item2 {
  flex: 0 0 auto;
  width: 22.2vw;
  min-width: 22.2vw;
  box-sizing: border-box;
}

.app-name {
    font-family: exo-bold;
    margin: 0;
    color: #1A1A1A;
    white-space: nowrap;       /* Tetap 1 baris */
    overflow: hidden;          /* Potong jika overflow */
    text-overflow: ellipsis;   /* Tambahkan "..." jika kepanjangan */
    max-width: 100%;           /* Ikuti max-width container */
    display: inline-block;
}

.app-desc {
    font-family: Montserrat;
    font-weight: 600;
    color: #6c757d;
    font-size: 0.75vw; /* awal */
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* max 2 baris */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.portal-card {
    background: linear-gradient(to right, white, #D6EBF6);
    border-radius: 15px;
    padding: 20px;
    width: 100%;
    max-width: 500px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    font-family: 'Segoe UI', sans-serif;
}

.portal-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal-text h2 {
    margin: 0;
    font-size: 28px;
    font-weight: bold;
    color: #1F1F1F;
}

.portal-text p {
    margin: 8px 0;
    color: #7A7A7A;
    font-size: 16px;
}

.portal-button {
    display: inline-block;
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #00C2A8;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.portal-button:hover {
    background-color: #009f8e;
}

.portal-image-circle {
    background: radial-gradient(circle, #4DB6E9 0%, #1976D2 100%);
    border-radius: 50%;
    width: 120px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portal-icon {
    width: 70px;
    height: 70px;
}

.chat-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  box-sizing: border-box;
  padding: 2vw; /* ini memberi ruang atas, bawah, kiri, kanan */
  background-color: #F5F5F6;
}

.chat-card {
  position: absolute;
  top: 2vw;
  left: 40px; /* default saat sidebar tertutup */
  margin-top: 3vw;
  margin-left: 2vw;
  width: calc(100vw - 80px - 4vw); /* 4vw untuk padding kiri dan kanan dari wrapper */
  height: calc(100vh - 6vw); /* biar ada ruang atas bawah */
  background: white;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  overflow-x: hidden !important;
  transition: width 0.3s ease, left 0.3s ease;
}

/* Jika sidebar terbuka, misalnya class ini ditambahkan pada body atau wrapper */
.sidebar-open .chat-card {
  width: calc(100vw - 280px); /* menyisakan ruang untuk sidebar */
}

#chat-master-list {
  position: fixed;
  top: 4.2vw;
  left: 0;
  width: 100%;
  height: calc(100% - 4.2vw);
}

.chat-header {
  background: linear-gradient(180deg, #DBF3FF, #FFFFFF);
  text-align: center;
  padding: 1rem 1rem;
  border-bottom: 0px solid #eee;
  font-family: exo-semibold ;
  font-size: 1.8vw;
  color: #404041;
}

.chat-header-public {
  background: linear-gradient(180deg, #195276, #AFCFE3, #FFFFFF);
  height: 5vw;
  text-align: center;
  padding: 1rem 1rem;
  border-bottom: 0px solid #eee;
  font-family: roboto-semibold !important;
  font-size: 35px;
  color: #404041;
}

.chat-message {
  margin: 0.5vw 1vw;
  display: flex;
  flex-direction: column;
  font-family: Montserrat, sans-serif;
}

.chat-message-public {
  margin: 0.5vw 1vw;
  display: flex;
  flex-direction: column;
  font-family: roboto, sans-serif;
  font-weight:300;
}

/* Label di luar bubble */
.user-label {
  align-self: flex-end;
  margin-right: 0vw;
  margin-bottom: 0.3vw;
  font-weight: bold;
  font-size: 0.85rem;
}

.user-label-public {
  font-family: roboto !important;
  align-self: flex-end;
  margin-right: 0vw;
  margin-bottom: 0.3vw;
  font-size: 23px !important;
  font-weight: bold;
}

.user-message {
  align-self: flex-end;
  background-color: #E8E9EB;
  border-radius: 16px;
  padding: 1vw 1.5vw;
  max-width: 80%;
  word-wrap: break-word;
  text-align: left;
}

.bot-message {
  align-self: flex-start;
  padding-bottom: 1vw;
  max-width: 90%;
}

.user-message p,
.bot-message p {
  margin: 0;
  font-size: 20px;
  line-height: 1.8vw;
}

.user-message li,
.bot-message li {
  margin: 0;
  font-size: 20px;
  line-height: 1.5vw;
}

#chat-history {
  padding: 1vw;
  height: calc(100vh - 200px); /* sesuaikan tinggi area chat */
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  font-family: Montserrat-SemiBold;
  font-size: 14px;
  color: #404041;
  font-weight: 600;
}

.chat-time {
  text-align: right;
  font-size: 0.75rem;
  color: #666;
  margin-top: 0.3vw;
}

.ai-answer p {
  margin-bottom: 12px;
}

.date-label {
  text-align: center;
  font-size: 0.9rem;
  font-weight: bold;
  color: #888;
  margin: 1.5rem 0 0.5rem 0;
  position: relative;
}

.date-label::after {
  content: '';
  display: block;
  width: 60%;
  margin: 0.3rem auto 0;
  height: 1px;
  background-color: #ccc;
  display: none;
}

.form-input-wrapper {
  position: relative;
  flex: 1;
}

form#chat-form {
  display: flex;
  padding: 1rem 1.5rem;
  background: #ffffff;
  border-top: 0px solid #eee;
}

form#chat-form input[type="text"] {
  width: 100%;
  padding: 0.75rem 3rem 0.75rem 1rem; /* kanan disisakan ruang untuk ikon 📎 */
  font-size: 1rem;
  border: none;
  border-radius: 56px;
  background-color: #D6EBF6;
  margin: 0;
  box-sizing: border-box;
}

.textarea-wrapper {
  width: 100%;
  overflow-anchor: none;
  max-height: 20vh;
  border-radius: 50px;
  background-color: #D6EBF6;
  overflow: hidden; /* penting agar scroll di dalam radius */
  padding: 0.5vh 1vw;
  box-sizing: border-box;
  font-family: "Montserrat";
}

.textarea-wrapper textarea {
  width: 98%;
  max-height: 20vh;
  height: auto;

  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  resize: none;
  overflow-y: auto;

  padding: 1vh 1vw 0.5vh 1vw;

  border: none;
  outline: none;
  background: transparent;
  

  transition: height 0.2s ease;
}

.textarea-wrapper textarea::placeholder {
  line-height: normal; /* agar placeholder tidak dorong tinggi */
}

.textarea-wrapper textarea::-webkit-scrollbar {
  width: 8px;
}

.textarea-wrapper textarea::-webkit-scrollbar-track {
  background: transparent;
  margin-top: 10px;
  margin-bottom: 10px;
  border-radius: 50px;
}

.textarea-wrapper textarea::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 50px;
  border: 0px solid transparent;
  background-clip: padding-box;
}

form#chat-form .attach-icon {
  position: absolute;
  top: 50%;
  right: 2vw;
  transform: translateY(-50%);
  width: 21px;
  height: 21px;
  cursor: pointer;
  outline: none; /* ✅ Tambahkan ini untuk hilangkan border hitam */
}

form#chat-form button {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  background: #ffffff;
  color: white;
  border: none;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

form#chat-form button:hover {
  background: #ffffff;
}
form#chat-form {
  display: flex;
  flex-direction: column; /* ⬅️ ini kunci */
  padding: 1rem 1.5rem;
  background: #ffffff;
  border-top: 0px solid #eee;
  gap: 0.5rem; /* jarak antar elemen di dalam form */
}
.form-input-row {
  display: flex;
  align-items: center;
}

.disclaimer {
  font-size: 13px;
  color: #888;
  text-align: center;
  margin-top: -0.3vw;
  margin-bottom: 1vw;
}

.chat-message,
.user-message,
.bot-message,
.user-message p,
.bot-message p,
a {
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Ubah tinggi kotak Select2 */
  .select2-container--default .select2-selection--single {
    height: 3vw !important;
    display: flex;
    align-items: center;
    font-size: 1rem;
    padding: 0 12px;
  }

  /* Ratakan isi di dalam Select2 */
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding-left: 0;
    line-height: 1 !important;
    height: 100%;
  }

  /* Panah dropdown sejajarkan */
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 3vw !important;
    top: 50% !important;
    transform: translateY(-50%);
  }

  /* Styling opsi saat dropdown muncul */
  .select2-results__option {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    padding: 8px 12px;
  }

  /* Ukuran ikon & posisi sejajar */
  .select2-results__option img,
  .select2-selection__rendered img {
    width: 20px;
    height: 20px;
    margin-left: -10px;
    margin-top: 10px;
    object-fit: contain;
  }

  .sidebar {
  width: 240px;
  max-width: 240px;
  overflow-x: hidden;
}

/* .nav-sidebar > .nav-item > .nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  width: 100%;
  box-sizing: border-box;
}

.nav-link img {
  width: 28px;
  height: 28px;
  margin-right: 12px;
} */

.uploaded-file {
    display: flex;
    align-self: flex-end;
    align-items: center;
    margin-top: 5px;
    margin-left: 10px;
}

#web-search-indicator {
    font-family: Montserrat;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    font-style: italic;
    font-size: 12px;
    color: #737E86;
}


.typing-animation {
  font-family: Montserrat;
  font-weight: 600;
  font-size: 12px;
  font-style: italic;
  color: #737E86;
  background: linear-gradient(90deg, #737E86, #ffffff, #737E86);
  background-size: 200% auto;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: shine 2s linear infinite;
}

@keyframes shine {
  0% {
    background-position: -100% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.copy-tooltip {
  font-family: Montserrat-SemiBold;
  position: fixed; /* Bukan absolute! */
  transform: translateX(-50%); /* ⬅️ KUNCI agar center di atas tombol */
  background: white;
  padding: 8px 12px;
  font-size: 14px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  white-space: nowrap;
  z-index: 9999;
}

.copy-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: white transparent transparent transparent;
}

.copy-btn {
  position: relative; /* SELALU relative */
  cursor: pointer;
  display: inline-block;
  outline: none;
}

.copy-btn:focus {
  outline: none;
}

.submit-btn {
  outline: none;
}

.submit-btn:focus {
  outline: none;
}

.search-source-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.1vw;
}

.search-label {
  font-family: Montserrat-SemiBold;
  color: #01648C;
  margin: 0;
  font-size: 14px;
  margin-left : 0.8vw;
}

.inet-btn,
.internal-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  border-radius: 20px !important;  /* lebih bulat, cocok untuk pill shape */
  font-family: Montserrat-SemiBold;
  font-size: 12px;
  border: 1px solid #0296D2 !important;
  color: #01648C !important;
  background: #fff;
  padding: 4px 12px;   /* lebih rapat: atas-bawah 4px, kiri-kanan 12px */
  cursor: pointer;
  line-height: 1;      /* agar vertikal centering pas */
  height: 28px;
  outline: none !important;
}

.inet-btn img,
.internal-btn img {
  width: 16px;
  height: 16px;
  margin-left:-1vw;
  margin-right: 0.2vw;
}

.inet-teks,
.internal-teks {
  margin-right: -0.8vw;
  font-size: 14px;
}

.inet-btn:hover,
.internal-btn:hover {
  background: #c0e9f9 !important; /* Contoh: biru muda */
}

.inet-btn.active,
.internal-btn.active {
  background: #0296D2 !important;
  color: #fff !important;
  outline: none !important;
}

.welcome-message {
  font-family: exo-semibold ;
  font-size: 2.2vw;
  font-weight: 550;
  color: #404041;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: -3vw;
}

.welcome-message-public {
  font-family: roboto-semibold ;
  font-size: 35px;
  font-weight: 580;
  color: #404041;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: -3vw;
}

.suggestion-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 60vh; /* sesuaikan, agar benar-benar di tengah area chat */
    gap: 1vw;
  }

  .suggestion-item {
    font-family: Montserrat-SemiBold;
    font-size: 12px;
    font-weight: 550;
    color: #404041;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    padding: 0.6vw 0.8vw;
    width: 320px;
    height: 36px;
    border-radius: 8px;
    border: #E8E9EB 1px solid;
    cursor: pointer;
  }

  .suggestion-item:hover {
    background: #e0e0e0;
  }

  .suggestion-item.active {
    background: #E8E9EB;
  }

  .suggestion-item img {
    pointer-events: none;
    width: 20px;
    height: 20px;
  }

  .suggestion-item-public {
    font-family: roboto-semibold;
    font-size: 12px;
    font-weight: 550 !important;
    color: #404041;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    padding: 0.6vw 0.8vw;
    width: 320px;
    height: 36px;
    border-radius: 8px;
    border: #E8E9EB 1px solid;
    cursor: pointer;
  }

  .suggestion-item-public:hover {
    background: #e0e0e0;
  }

  .suggestion-item-public.active {
    background: #E8E9EB;
  }

  .suggestion-item-public img {
    width: 20px;
    height: 20px;
  }

  .more-menu div:hover {
  background: #f0f0f0;
}
  .more-btn:focus {
    outline: none;
  }

  /* ===== Modal Delete base ===== */
.modal {
  display: none; /* Default hidden */
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9999;

  align-items: center;
  justify-content: center;
  font-family: Montserrat, sans-serif;
}

/* ===== Modal box ===== */
.modal-content {
  background: #fff;
  border-radius: 8px;
  padding: 2rem;
  max-width: 450px;
  width: 100%;
  text-align: center;
}

.modal-content h2 {
  margin-top: 0;
  font-size: 2vw;
  font-family: exo-semibold;
}

.modal-content p {
  color: #6c757d;
  margin: 1rem 0;
  font-family: Montserrat;
  font-size: 1vw;
}

.modal-actions {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}

.btn2 {
  border: none;
  border-radius: 6px;
  padding: 0.6rem 1.5rem;
  cursor: pointer;
  font-size: 1rem;
  color: #fff;
}

.cancel-btn {
  background: #009EE3;
}

.delete-btn {
  background: #00668C;
}

.floating-btn-wrapper {
  position: fixed;
  bottom: 0.5vw;
  right: 0.5vw;
  z-index: 9999;
}

.floating-tooltip {
  position: absolute;
  bottom: 6.3vw; /* Tombol 6vw + jarak 0.3vw */
  right: 1.5vw; /* Tooltip ujung kanan sejajar tombol */
  background: #fff;
  border-radius: 0.5vw;
  padding: 0.6vw 1.2vw;
  font-family: Montserrat, sans-serif;
  font-weight: 600;
  font-size: 0.9vw;
  white-space: nowrap;
  color: #737E86;
  /* box-shadow dihapus sesuai permintaan */
}

.tooltip-arrow {
  position: absolute;
  top: 100%; /* Segitiga menempel di bawah tooltip */
  right: 1.2vw; /* Geser arrow ke kiri ujung tooltip */
  width: 0;
  height: 0;
  border-left: 0.5vw solid transparent;
  border-right: 0.5vw solid transparent;
  border-top: 0.5vw solid #fff; /* Warna sama dengan background tooltip */
}

.floating-btn {
  width: 6vw;
  height: 6vw;
  cursor: pointer;
  display: block;
}
/* Navbar selalu fixed di atas */
.main-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1050; /* lebih tinggi dari sidebar */
}

/* Biar konten tidak ketimpa navbar */
.content-wrapper {
  margin-top: 56px; /* sesuaikan tinggi navbar */
}

/* ============================
   Mobile Layout seperti contoh
   ============================ */
@media (max-width: 768px) {
  .menu-icon {
    height: 6vw !important;
    width: 6vw !important;
  }

  .nav-text {
    font-size: clamp(0.8rem, 2.5vw, 1.6rem) !important;
    margin-top: 1vw !important;
  }

  .main-sidebar {
    position: fixed !important;
    top: 56px !important; /* tingginya sama dengan navbar */
    left: 0 !important;
    height: calc(100vh - 56px) !important; /* full tinggi sisa layar */
    width: 100% !important; /* full lebar */
    max-width: 100% !important;
    z-index: 1040 !important; /* di bawah navbar */
    background-color: #fff !important; /* biar jelas terlihat */
    overflow-y: auto !important;
    transition: transform 0.3s ease-in-out !important;
  }

  /* Saat sidebar tertutup */
  .sidebar-collapse .main-sidebar {
    transform: translateX(-100%) !important;
  }

  /* Saat sidebar terbuka */
  .sidebar-open .main-sidebar {
    transform: translateX(0) !important;
  }

  /* Saat sidebar terbuka, taruh tombol di belakang */
  .sidebar-open .floating-btn-wrapper {
    z-index: 1030 !important; /* lebih rendah dari sidebar */
  }

  .brand-image {
    height: 15vw !important;
    width: 24vw !important;
    margin-top: 6vw !important;
    margin-bottom: 5vw !important;
  }

  /* Paksa semua link sidebar penuh selebar container */
.main-sidebar .nav-sidebar .nav-item > .nav-link,
.main-sidebar .nav-sidebar .nav-treeview .nav-item > .nav-link {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  padding-left: 1rem;   /* biar ada jarak kiri */
  padding-right: 1rem;  /* biar teks ga mentok kanan */
  box-sizing: border-box;
}

/* Kalau kamu pakai .nav-link-bar (custom), ikutkan juga */
.main-sidebar .nav-link-bar {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

.sidebar {
  width: 100% !important;
  max-width: 100% !important;
}

.nav-treeview {
  margin-left: 2vw !important;
}

  .nav-link-bar img{
    height: 6.8vw !important;
    width: 6.8vw !important;
    margin-right: 5vw !important;
  }

  .nav-link-bar, .nav-link-bar p {
  font-size: 14px !important;
}

  .card-container2 {
    flex-direction: column !important;
    gap: 4vw !important;
    align-items: center !important; /* pastikan center */
  }

  .card-item2 {
    width: 101% !important;
    min-width: 101% !important;
    box-sizing: border-box !important;
  }

  .card2 {
    position: relative !important;
    border-radius: 4vw !important;
    padding: 5vw !important;
    padding-bottom: 40vw !important; /* sisakan ruang setinggi gambar */
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    background: linear-gradient(to right, #f0f9ff, #dbeeff) !important;
  }

  /* Background ellipse */
  .card2 img[alt="ellipse"] {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 32vw !important;
    height: 32vw !important;
    z-index: 0 !important;
    border-top-right-radius: 4vw !important;
  }

  /* Icon */
  .card2 .card-icon {
    position: relative  !important;
    top: 3vw !important;
    right: 3vw !important;
    width: 24vw !important;
    height: 24vw !important;
    z-index: 2 !important;
  }

  /* App Name */
  .app-name {
    font-size: clamp(1.6rem, 4.5vw, 1.6rem) !important;
    font-family: "exo-bold", sans-serif !important;
    font-weight: 500 !important;
    color: #1A1A1A !important;
    margin-bottom: 1vw !important;
    line-height: 1.3em !important;
    max-width: 100% !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* App Description */
  .app-desc {
    font-size: clamp(0.7rem, 3.3vw, 0.9rem) !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 400 !important;
    color: #6c757d !important;
    margin-bottom: 4vw !important;
    max-width: 80% !important;
    line-height: 1.4em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Button */
  .card2 a[name="openAppBtn"] {
    position: absolute !important;
    bottom: 5vw !important;  /* jarak dari bawah card */
    left: 5vw !important;    /* jarak dari kiri card */
    font-size: clamp(1rem, 3.6vw, 1.2rem) !important;
    padding: 2vw 6vw !important;
    border-radius: 3vw !important;
    color: white !important;
    background-color: #1CC8B5 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

  /* Greeting text */
  #greeting-text {
    font-size: clamp(1.3rem, 4.8vw, 1.9rem) !important;
    margin: 3vw 0 0vw 4vw !important;
    font-weight: 600 !important;
    font-family: Montserrat, sans-serif !important;
  }

  .floating-btn-wrapper {
    position: fixed !important;
    bottom: 0.5vw !important;
    right: 0.5vw !important;
    z-index: 9999 !important;
  }

  .floating-tooltip {
    position: absolute !important;
    bottom: 26vw !important; /* Tombol 6vw + jarak 0.3vw */
    right: 6vw !important; /* Tooltip ujung kanan sejajar tombol */
    background: #fff !important;
    border-radius: 3vw !important;
    padding: 1.5vw 2vw !important;
    font-family: Montserrat, sans-serif !important;
    font-weight: 600 !important;
    font-size: 3.7vw !important;
    white-space: nowrap !important;
    color: #737E86 !important;
    /* box-shadow dihapus sesuai permintaan */
  }

  .tooltip-arrow {
    position: absolute !important;
    top: 93% !important; /* Segitiga menempel di bawah tooltip */
    right: 1vw !important; /* Geser arrow ke kiri ujung tooltip */
    width: 0 !important;
    height: 0 !important;
    border-left: 3vw solid transparent !important;
    border-right: 3vw solid transparent !important;
    border-top: 3vw solid #fff !important; /* Warna sama dengan background tooltip */
    border-radius: 3vw !important;
  }
  .floating-btn {
    width: 25vw !important;
    height: 25vw !important;
    cursor: pointer !important;
    display: block !important;
}

.chat-wrapper {
  position: absolute !important;
  top: 50px !important;
  left: 0 !important;
  
  box-sizing: border-box !important;
  padding: 2vw !important; /* ini memberi ruang atas, bawah, kiri, kanan */
}

.chat-card {
  position: absolute !important;
  top: 0vw !important;
  left: 0px !important; /* default saat sidebar tertutup */
  margin-top: 3vw !important;
  margin-left: 0vw !important;
  width: 100% !important; /* 4vw untuk padding kiri dan kanan dari wrapper */
  height: 92dvh  !important; 
  background: white !important;
  border-radius: 0px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  overflow-x: hidden !important;
  transition: width 0.3s ease, left 0.3s ease !important;
}

/* Jika sidebar terbuka, misalnya class ini ditambahkan pada body atau wrapper */
.sidebar-open .chat-card {
    width: 100% !important; /* Override agar tidak menyisakan ruang sidebar */
    left: 0 !important;     /* Pastikan tetap menempel ke kiri */
  }

.chat-header {
  background: linear-gradient(180deg, #DBF3FF, #FFFFFF) !important;
  text-align: center !important;
  padding: 1rem 1rem !important;
  border-bottom: 0px solid #eee !important;
  font-family: exo-semibold !important;
  font-size: 5vw !important;
  color: #404041 !important;
}

.chat-message {
  margin: 1vw 2vw 0vw 2vw !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: Montserrat, sans-serif !important;
}

/* Label di luar bubble */
.user-label {
  align-self: flex-end !important;
  margin-right: 0vw !important;
  margin-bottom: 0.2vw !important;
  font-weight: bold !important;
  font-size: 1rem !important;
}

.ai-name {
  font-size: 1rem !important;
}

.user-message {
  align-self: flex-end !important;
  background-color: #E8E9EB !important;
  border-radius: 8px !important;
  padding: 2vw 2.5vw !important;
  max-width: 80% !important;
  word-wrap: break-word !important;
  text-align: left !important;
  margin: -5vw 0 0 0 !important;
}

.bot-message {
  align-self: flex-start !important;
  padding-bottom: 1vw !important;
  max-width: 90% !important;
}

.user-message p {
  margin: 0 0 0 0 !important;
  font-size: 14px !important;
  line-height: 5vw !important;
}

.bot-message p {
  margin: 0vw 0 0 0 !important;
  font-size: 14px !important;
  line-height: 5vw !important;
}

.user-message li,
.bot-message li {
  margin: 1dvw !important;
  font-size: 15px !important;
  line-height: 5.2vw !important;
}

#chat-history {
  padding: 1vw !important;
  height: calc(100vh - 200px) !important; /* sesuaikan tinggi area chat */
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: Montserrat-SemiBold !important;
  font-size: 14px !important;
  color: #404041 !important;
  font-weight: 600!important;
}

.chat-time {
  text-align: right !important;
  font-size: 0.6rem !important;
  color: #666 !important;
  margin-top: 0.3vw !important;
}

.ai-answer p {
  margin-bottom: 12px !important;
}

.date-label {
  text-align: center !important;
  font-size: 0.8rem !important;
  font-weight: bold !important;
  color: #888 !important;
  margin: 1.5rem 0 0.5rem 0 !important;
  position: relative !important;
}

.date-label::after {
  content: '' !important;
  display: block !important;
  width: 60% !important;
  margin: 0.3rem auto 0 !important;
  height: 1px !important;
  background-color: #ccc !important;
  display: none !important;
}

.form-input-wrapper {
  position: relative !important;
  flex: 1 !important;
}

form#chat-form {
  display: flex !important;
  padding: 1rem 1.5rem !important;
  background: #ffffff !important;
  border-top: 0px solid #eee !important;
}

form#chat-form input[type="text"] {
  width: 100% !important;
  padding: 0.75rem 3rem 0.75rem 1rem !important; /* kanan disisakan ruang untuk ikon 📎 */
  font-size: 1rem !important;
  border: none !important;
  border-radius: 56px !important;
  background-color: #D6EBF6 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.textarea-wrapper {
  width: 100% !important;
  overflow-anchor: none !important;
  max-height: 20vh !important;
  border-radius: 50px !important;
  background-color: #D6EBF6 !important;
  overflow: hidden !important; /* penting agar scroll di dalam radius */
  padding: 0.5vh 1vw !important;
  box-sizing: border-box !important;
  font-family: "Montserrat" !important;
}

.textarea-wrapper textarea {
  width: 98% !important;
  max-height: 20vh !important;
  height: auto !important;

  font-size: 1rem !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
  resize: none !important;
  overflow-y: auto !important;

  padding: 1vh 1vw 0.5vh 1vw !important;

  border: none !important;
  outline: none !important;
  background: transparent !important; 
  

  transition: height 0.2s ease !important;
}

.textarea-wrapper textarea::placeholder {
  line-height: normal !important; /* agar placeholder tidak dorong tinggi */
}

.textarea-wrapper textarea::-webkit-scrollbar {
  width: 8px !important;
}

.textarea-wrapper textarea::-webkit-scrollbar-track {
  background: transparent !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  border-radius: 50px !important;
}

.textarea-wrapper textarea::-webkit-scrollbar-thumb {
  background-color: #999 !important;
  border-radius: 50px !important;
  border: 0px solid transparent !important;
  background-clip: padding-box !important;
}

form#chat-form .attach-icon {
  position: absolute !important;
  top: 50% !important;
  right: 2vw !important;
  transform: translateY(-50%) !important;
  width: 21px !important;
  height: 21px !important;
  cursor: pointer !important;
  outline: none !important; /* ✅ Tambahkan ini untuk hilangkan border hitam */
}

form#chat-form button {
  padding: 0.75rem 1.5rem ;
  font-size: 1rem ;
  background: #ffffff ;
  color: white ;
  border: none ;
  border-radius: 8px ;
  transition: background-color 0.3s ease ;
}

form#chat-form button:hover {
  background: #ffffff !important;
}
form#chat-form {
  display: flex !important;
  flex-direction: column !important; /* ⬅️ ini kunci */
  padding: 1rem 1.5rem !important;
  background: #ffffff !important;
  border-top: 0px solid #eee !important;
  gap: 0.5rem !important; /* jarak antar elemen di dalam form */
}
.form-input-row {
  display: flex !important;
  align-items: center !important;
}

.disclaimer {
  font-size: 11px !important;
  color: #888 !important;
  text-align: center !important;
  padding: 10px !important;
  margin-top: -0.3vw !important;
  margin-bottom: 1vw !important;
}

.chat-message,
.user-message,
.bot-message,
.user-message p,
.bot-message p,
a {
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* Ubah tinggi kotak Select2 */
  .select2-container--default .select2-selection--single {
    height: 3vw !important;
    display: flex !important;
    align-items: center !important;
    font-size: 1rem !important;
    padding: 0 12px !important;
  }

  /* Ratakan isi di dalam Select2 */
  .select2-container--default .select2-selection--single .select2-selection__rendered {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding-left: 0 !important;
    line-height: 1 !important;
    height: 100% !important;
  }

  /* Panah dropdown sejajarkan */
  .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 3vw !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  /* Styling opsi saat dropdown muncul */
  .select2-results__option {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 1rem !important;
    padding: 8px 12px !important;
  }

  /* Ukuran ikon & posisi sejajar */
  .select2-results__option img,
  .select2-selection__rendered img {
    width: 20px !important;
    height: 20px !important;
    margin-left: -10px !important;
    margin-top: 10px !important;
    object-fit: contain !important;
  }

  .sidebar {
  width: 240px !important;
  max-width: 240px !important;
  overflow-x: hidden !important;
}

.uploaded-file {
    display: flex !important;
    align-self: flex-end !important;
    align-items: center !important;
    margin-top: 5px !important;
    margin-left: 10px !important;
}

#web-search-indicator {
    font-family: Montserrat !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
    font-style: italic !important;
    font-size: 12px !important;
    color: #737E86 !important;
}

.typing-animation {
  font-family: Montserrat !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  font-style: italic !important;
  color: #737E86 !important;
  background: linear-gradient(90deg, #737E86, #ffffff, #737E86) !important;
  background-size: 200% auto !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  animation: shine 2s linear infinite !important;
}

@keyframes shine {
  0% {
    background-position: -100% 0 !important;
  }
  100% {
    background-position: 200% 0 !important;
  }
}

.copy-tooltip {
  font-family: Montserrat-SemiBold !important;
  position: fixed !important; /* Bukan absolute! */
  transform: translateX(-50%) !important; /* ⬅️ KUNCI agar center di atas tombol */
  background: white !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
  white-space: nowrap !important;
  z-index: 9999 !important;
}

.copy-tooltip::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-width: 6px !important;
  border-style: solid !important;
  border-color: white transparent transparent transparent !important;
}

.copy-btn {
  position: relative !important; /* SELALU relative */
  cursor: pointer !important;
  display: inline-block !important;
  outline: none !important;
}

.copy-btn:focus {
  outline: none !important;
}

.submit-btn {
  outline: none !important;
}

.submit-btn:focus {
  outline: none !important;
}

.search-source-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-top: 0.1vw !important;
}

.search-label {
  font-family: Montserrat-SemiBold !important;
  color: #01648C !important;
  margin: 0 !important;
  font-size: 12px !important;
  margin-left : 0.5vw !important;
}

.inet-btn,
.internal-btn {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  border-radius: 20px !important;  /* lebih bulat, cocok untuk pill shape */
  font-family: Montserrat-SemiBold !important;
  font-size: 10px !important;
  border: 1px solid #0296D2 !important;
  color: #01648C !important;
  background: #fff !important;
  padding: 2px 8px !important;   /* lebih rapat: atas-bawah 4px, kiri-kanan 12px */
  cursor: pointer !important;
  line-height: 1 !important;      /* agar vertikal centering pas */
  height: 28px !important;
  outline: none !important;
}

.inet-btn img,
.internal-btn img {
  width: 16px !important;
  height: 16px !important;
  margin-left:-1vw !important;
  margin-right: 0.2vw !important;
}

.inet-teks,
.internal-teks {
  margin-right: -0.8vw !important;
  font-size: 12px !important;
  color: #01648C !important;
}

.inet-btn:hover,
.internal-btn:hover {
  background: #c0e9f9 !important; /* Contoh: biru muda */
}

.inet-btn.active,
.internal-btn.active {
  background: #0296D2 !important;
  color: #fff !important;
  outline: none !important;
}

.welcome-message {
  font-family: exo-semibold !important;
  font-size: 5vw !important;
  font-weight: 550 !important;
  color: #404041 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin-bottom: -3vw !important;
}

.btnShowList {
  width: 10vw !important;
}

.btnNewChat {
  width: 10vw !important;
}

.suggestion-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    height: 60vh !important; /* sesuaikan, agar benar-benar di tengah area chat */
    gap: 1vw !important;
  }

  .suggestion-item {
    font-family: Montserrat-SemiBold !important;
    font-size: 12px !important;
    font-weight: 550 !important;
    color: #404041 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #ffffff !important;
    padding: 0.6vw 0.8vw !important;
    width: 320px !important;
    height: 36px !important;
    border-radius: 8px !important;
    border: #E8E9EB 1px solid !important;
    cursor: pointer !important;
  }

  .suggestion-item:hover {
    background: #e0e0e0 !important;
  }

  .suggestion-item.active {
    background: #E8E9EB !important;
  }

  .suggestion-item img {
    width: 20px !important;
    height: 20px !important;
  }

  .suggestion-item-public {
    font-family: roboto-semibold !important;
    font-size: 12px !important;
    font-weight: 550 !important;
    color: #404041 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background: #ffffff !important;
    padding: 0.6vw 0.8vw !important;
    width: 320px !important;
    height: 36px !important;
    border-radius: 8px !important;
    border: #E8E9EB 1px solid !important;
    cursor: pointer !important;
  }

  .suggestion-item-public:hover {
    background: #e0e0e0 !important;
  }

  .suggestion-item-public.active {
    background: #E8E9EB !important;
  }

  .suggestion-item-public img {
    width: 20px !important;
    height: 20px !important;
  }

  .more-menu div:hover {
  background: #f0f0f0 !important;
}
  .more-btn:focus {
    outline: none !important;
  }

  /* ===== Modal Delete base ===== */
.modal {
  display: none !important; /* Default hidden */
  position: fixed !important;
  top: 0; left: 0; right: 0; bottom: 0 !important;
  background: rgba(0, 0, 0, 0.5) !important;
  z-index: 9999 !important;

  align-items: center !important;
  justify-content: center !important;
  font-family: Montserrat, sans-serif !important;
}

/* ===== Modal box ===== */
.modal-content {
  background: #fff !important;
  border-radius: 8px !important;
  padding: 2rem !important;
  max-width: 450px !important;
  width: 100% !important;
  text-align: center !important;
}

.modal-content h2 {
  margin-top: 0 !important;
  font-size: 2vw !important;
  font-family: exo-semibold !important;
}

.modal-content p {
  color: #6c757d !important;
  margin: 1rem 0 !important;
  font-family: Montserrat !important;
  font-size: 1vw !important;
}

.modal-actions {
  display: flex !important;
  justify-content: center !important;
  gap: 1rem !important;
  margin-top: 1.5rem !important;
}

.btn2 {
  border: none !important;
  border-radius: 6px !important;
  padding: 0.6rem 1.5rem !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  color: #fff !important;
}

.cancel-btn {
  background: #009EE3 !important;
}

.delete-btn {
  background: #00668C !important;
}

}

/* ============================
   Tablet / iPad Portrait
   ============================ */
@media (min-width: 769px) and (max-width: 1000px) and (orientation: portrait) {
  .menu-icon {
    height: 3vw !important;
    width: 3vw !important;
  }

  .nav-text {
    font-size: 14px !important;
    margin-top: 1vw !important;
  }

  .main-sidebar {
    position: fixed !important;
    top: 56px !important; /* sejajar navbar */
    left: 0 !important;
    height: calc(100vh - 56px) !important;
    width: 300px !important; /* FIXED px biar konsisten */
    max-width: 300px !important;
    z-index: 2000 !important; /* lebih tinggi dari konten */
    background-color: #fff !important;
    overflow-y: auto !important;
    transform: translateX(-100%) !important; /* default sembunyi */
    transition: transform 0.3s ease-in-out !important;
    display: block !important;   /* override kemungkinan display:none */
    visibility: visible !important;
  }

  /* Saat sidebar tertutup */
  .sidebar-collapse .main-sidebar {
    transform: translateX(-100%) !important;
  }

  /* Saat sidebar terbuka */
  .sidebar-open .main-sidebar {
    transform: translateX(0) !important;
  }

  /* Konten geser saat sidebar terbuka */
  .content-wrapper {
    transition: margin-left 0.3s ease-in-out !important;
  }
  .sidebar-open .content-wrapper {
    margin-left: 300px !important; /* sama dengan width sidebar */
  }

  /* Saat sidebar terbuka, taruh tombol di belakang */
  .sidebar-open .floating-btn-wrapper {
    z-index: 1030 !important; /* lebih rendah dari sidebar */
  }

  .brand-image {
    height: 10vw !important;
    width: 18vw !important;
    margin-top: 6vw !important;
    margin-bottom: 5vw !important;
  }

  /* Paksa semua link sidebar penuh selebar container */
.main-sidebar .nav-sidebar .nav-item > .nav-link,
.main-sidebar .nav-sidebar .nav-treeview .nav-item > .nav-link {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  padding-left: 1rem;   /* biar ada jarak kiri */
  padding-right: 1rem;  /* biar teks ga mentok kanan */
  box-sizing: border-box;
}

/* Kalau kamu pakai .nav-link-bar (custom), ikutkan juga */
.main-sidebar .nav-link-bar {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

.sidebar {
  width: 100% !important;
  max-width: 100% !important;
}

.nav-treeview {
  margin-left: 2vw !important;
}

  .nav-link-bar img{
    height: 3vw !important;
    width: 3vw !important;
    margin-right: 5vw !important;
  }

  .nav-link-bar, .nav-link-bar p {
  font-size: 14px !important;
}

  /* Default: 2 card per baris */
  .card-container2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2vw !important;
    padding: 2vw !important;
    align-items: center !important; /* pastikan center */
  }

  /* Kalau sidebar sedang terbuka, paksa jadi 1 card per baris */
  .sidebar-open .card-container2 {
    grid-template-columns: 1fr !important;
  }

  .card-item2 {
    width: 101% !important;
    min-width: 101% !important;
    box-sizing: border-box !important;
  }

  .card2 {
    position: relative !important;
    border-radius: 4vw !important;
    padding: 2.5vw !important;
    padding-bottom: 20vw !important; /* sisakan ruang setinggi gambar */
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    background: linear-gradient(to right, #f0f9ff, #dbeeff) !important;
  }

  /* Background ellipse */
  .card2 img[alt="ellipse"] {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 16vw !important;
    height: 16vw !important;
    z-index: 0 !important;
    border-top-right-radius: 4vw !important;
  }

  /* Icon */
  .card2 .card-icon {
    position: relative  !important;
    top: 1.5vw !important;
    right: 1.5vw !important;
    width: 12vw !important;
    height: 12vw !important;
    z-index: 2 !important;
  }

  /* Button */
  .card2 a[name="openAppBtn"] {
    position: absolute !important;
    bottom: 2.5vw !important;  /* jarak dari bawah card */
    left: 2.5vw !important;    /* jarak dari kiri card */
    font-size: clamp(1rem, 3vw, 1rem) !important;
    padding: 0.8vw 2vw !important;
    border-radius: 1.5vw !important;
    color: white !important;
    background-color: #1CC8B5 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* App Name */
  .app-name {
    font-size: clamp(1.8rem, 4.7vw, 1.8rem) !important;
    font-family: "exo-bold", sans-serif !important;
    font-weight: 500 !important;
    color: #1A1A1A !important;
    margin-bottom: 1vw !important;
    line-height: 1.3em !important;
    max-width: 100% !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* App Description */
  .app-desc {
    font-size: clamp(0.6rem, 3.1vw, 0.8rem) !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 400 !important;
    color: #6c757d !important;
    margin-bottom: 4vw !important;
    max-width: 100% !important;
    line-height: 1.4em !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Greeting text */
  #greeting-text {
    font-size: clamp(1.3rem, 4.8vw, 1.9rem) !important;
    margin: 3vw 0 0vw 4vw !important;
    font-weight: 600 !important;
    font-family: Montserrat, sans-serif !important;
  }

  .floating-btn-wrapper {
    position: fixed !important;
    bottom: 0.5vw !important;
    right: 0.5vw !important;
    z-index: 9999 !important;
  }

  .floating-tooltip {
    position: absolute !important;
    bottom: 16.5vw !important; /* Tombol 6vw + jarak 0.3vw */
    right: 2.8vw !important; /* Tooltip ujung kanan sejajar tombol */
    background: #fff !important;
    border-radius: 1.8vw !important;
    padding: 1.5vw 2vw !important;
    font-family: Montserrat, sans-serif !important;
    font-weight: 600 !important;
    font-size: 2vw !important;
    white-space: nowrap !important;
    color: #737E86 !important;
    /* box-shadow dihapus sesuai permintaan */
  }

  .tooltip-arrow {
    position: absolute !important;
    top: 90% !important; /* Segitiga menempel di bawah tooltip */
    right: 1vw !important; /* Geser arrow ke kiri ujung tooltip */
    width: 0 !important;
    height: 0 !important;
    border-left: 2vw solid transparent !important;
    border-right: 2vw solid transparent !important;
    border-top: 2vw solid #fff !important; /* Warna sama dengan background tooltip */
    border-radius: 2vw !important;
  }
  .floating-btn {
    width: 16vw !important;
    height: 16vw !important;
    cursor: pointer !important;
    display: block !important;
  }
}

/* ============================
   Tablet / iPad Landscape
   ============================ */
@media (min-width: 769px) and (max-width: 1026px) and (orientation: landscape) {
  /* Bisa muat 3 card per baris */
  .card-container2 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2vw !important;
    padding: 2vw !important;
  }

  /* Saat sidebar terbuka di landscape masih cukup ruang */
  .sidebar-open .card-container2 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}