* { box-sizing: border-box; }
html, body {
  overflow-x: hidden;
}
html { scroll-behavior: smooth; }
body {
  font-family: Inter, system-ui, sans-serif;
  background: #f6f7fb;
  color: #1f2937;
}
main {
  min-width: 0;
  overflow-x: hidden;
}
.card-hover { transition: all .2s ease; }
.card-hover:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.08); }
.sidebar-link { 
  transition: .2s ease;
  color: #374151;
  border-radius: 16px;
}
.sidebar-link:hover { 
  background: rgba(16,185,129,.12);
  color: #065f46;
}
.sidebar-link.active { 
  background: #059669 !important;
  color: #fff !important; 
}
.panel {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
}
.bg-white15 { background-color: rgba(255, 255, 255, 0.15); }
.bg-white20 { background-color: rgba(255, 255, 255, 0.20); }
.bg-white25 { background-color: rgba(255, 255, 255, 0.25); }
.border-white20 { border-color: rgba(255, 255, 255, 0.20); }
.border-white30 { border-color: rgba(255, 255, 255, 0.30); }
.border-white40 { border-color: rgba(255, 255, 255, 0.40); }
.soft-border { border: 1px solid rgba(148,163,184,.18); }
.badge { display:inline-flex; align-items:center; gap:.4rem; padding:.4rem .7rem; border-radius:9999px; font-size:.75rem; font-weight:700; }
.btn { min-height:32px; border-radius:16px; font-weight:700; transition:all .2s ease; display:inline-flex; align-items:center; justify-content:center; }
.btn:hover { transform: translateY(-1px); }
.table-wrap { overflow:auto; border-radius: 18px; }
table { width:100%; border-collapse: collapse; }
th, td { padding: .9rem 1rem; border-bottom: 1px solid rgba(148,163,184,.18); text-align:left; font-size:.92rem; }
th { position: sticky; top: 0; background: #b2dde8; z-index: 5; }
tr { background: azure;}
tr.hover {bg-pink-50 transition }
.hidden { display: none !important; }
.desktop-only { display: none; }
@media (min-width: 768px) {
  .desktop-only { display: block; }
}
.desktop-only-flex { display: none; }
@media (min-width: 768px) {
  .desktop-only-flex { display: flex; }
}
.mobile-only { display: none; }
@media (max-width: 768px) {
  main {
    min-width: 0;
    overflow-x: hidden;
  }
  .admin-tab-nav {
    overflow-x: auto;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .table-wrap {
    max-height: 60vh;
  }  
  .admin-tab-nav::-webkit-scrollbar { display: none; }  
}
@media (max-width: 768px) {
  .app-grid {
    grid-template-columns: 1fr !important;
  }
  .sidebar {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 280px;
    height: 100dvh;
    z-index: 50;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    border-right: 1px solid rgba(148, 163, 184, 0.18) !important;
    border-bottom: none !important;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .mobile-only {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 30;
    width: 100%;
  }
  #sidebarOverlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 40;
    backdrop-filter: blur(2px);
  }

  #sidebarOverlay.active {
    display: block;
  }
}
.mermaid-container {
  width: 100%;
  max-width: 100%;
}
.mermaid-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding-bottom: 8px;
}
.mermaid-wrap svg {
  display: block;
  width: 1200px !important;
  min-width: 900px;
  max-width: none !important;
  height: auto !important;
}
#sidebarOverlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 40;
  backdrop-filter: blur(2px);
}
#sidebarOverlay.active {
  display: block;
}
[data-theme="dark"] th { background: rgba(15,23,42,.95); }
[data-theme="dark"] .panel {
  background: rgba(15,23,42,.85);
  border-color: rgba(148,163,184,.18);
}
[data-theme="dark"] .sidebar-link { color: #e5e7eb; }
[data-theme="dark"] .sidebar-link.active { background: #059669 !important; color: #fff !important; }
[data-theme="dark"] .sidebar-link:hover { background: rgba(16,185,129,.2); }
[data-theme="dark"] body {
  background: #0f172a;
  color: #e5e7eb;
}
[data-theme="dark"] header.panel {
  background: linear-gradient(135deg, #064e3b 0%, #134e4a 100%) !important;
  border-color: transparent !important;
}
[data-theme="dark"] .panel {
  background-color: #1e293b !important; 
  border-color: #334155 !important;
  color: #f1f5f9 !important;
}
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background-color: #0f172a !important; 
  border-color: #334155 !important;
  color: #f8fafc !important;
}
[data-theme="dark"] .badge {
  filter: brightness(0.8) contrast(1.2);
}
[data-theme="dark"] #resultBox,
[data-theme="dark"] .bg-emerald-50,
[data-theme="dark"] .bg-cyan-50,
[data-theme="dark"] .bg-blue-50 {
  background-color: #064e3b !important;
  border-color: #065f46 !important;
  color: #d1fae5 !important;
}
[data-theme="dark"] .text-gray-600,
[data-theme="dark"] .text-gray-500 {
  color: #94a3b8 !important;
}
[data-theme="dark"] #approvedTitleBox {
  background-color: rgba(8, 51, 68, 0.4) !important;
  border-color: rgba(34, 211, 238, 0.2) !important;   
  color: #bae6fd !important;                
}
[data-theme="dark"] .text-slate-700 {
  color: #6ee7b7 !important;
}
[data-theme="dark"] #approvedTitleText {
  color: #f0f9ff !important; 
}
[data-theme="dark"] #historyList .bg-white\/60 {
  background-color: rgba(30, 41, 59, 0.5) !important;
  border-color: rgba(51, 65, 85, 0.8) !important;
}
[data-theme="dark"] .badge.bg-emerald-100 {
  background-color: rgb(10 225 167 / 50%) !important;
  color: #6ee7b7 !important;
}
[data-theme="dark"] #advisorList .bg-emerald-50,
[data-theme="dark"] #advisorList .bg-blue-50 {
  background-color: rgba(6, 78, 59, 0.15) !important; 
  border: 1px solid rgba(16, 185, 129, 0.2) !important; 
}
[data-theme="dark"] #advisorList .text-emerald-700 {
  color: #6ee7b7 !important; 
}
[data-theme="dark"] #advisorList .text-blue-700 {
  color: #6ee7b7 !important; 
}
[data-theme="dark"] #advisorList .font-semibold {
  color: #f1f5f9 !important; 
}
[data-theme="dark"] .badge.bg-red-100 {
  background-color: rgba(127, 29, 29, 0.5) !important;
  color: #fca5a5 !important;
}
.expertise-label { font-weight: 600; color: #111827; }
[data-theme="dark"] .expertise-label { color: #f1f5f9; }
/* =========================
   DARK MODE TABLE CONTRAST
   ========================= */
[data-theme="dark"] .overflow-auto > table,
[data-theme="dark"] .table-wrap table,
[data-theme="dark"] table.w-full,
[data-theme="dark"] table {
  color: #e5e7eb;
}

[data-theme="dark"] table thead tr,
[data-theme="dark"] table thead,
[data-theme="dark"] .overflow-auto table thead tr.bg-gray-50,
[data-theme="dark"] .overflow-auto table thead tr,
[data-theme="dark"] .table-wrap table thead tr {
  background: #1f2937 !important;
  color: #f3f4f6 !important;
}

[data-theme="dark"] table thead th {
  color: #f3f4f6 !important;
  border-bottom: 1px solid #374151 !important;
}

[data-theme="dark"] table tbody,
[data-theme="dark"] table tbody tr,
[data-theme="dark"] .overflow-auto table tbody tr,
[data-theme="dark"] .table-wrap table tbody tr,
[data-theme="dark"] tbody.bg-white,
[data-theme="dark"] .bg-white {
  background-color: #0f172a !important;
  color: #e5e7eb !important;
}

[data-theme="dark"] table tbody td {
  color: #e5e7eb !important;
  border-bottom: 1px solid #334155 !important;
}

[data-theme="dark"] table tbody tr:hover,
[data-theme="dark"] tr.hover\:bg-pink-50:hover,
[data-theme="dark"] tr.hover\:bg-emerald-50\/50:hover {
  background-color: #172033 !important;
}

[data-theme="dark"] .divide-y.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
  border-color: #334155 !important;
}

[data-theme="dark"] .text-gray-900 {
  color: #f8fafc !important;
}

[data-theme="dark"] .text-gray-700,
[data-theme="dark"] .text-slate-700 {
  color: #e5e7eb !important;
}

[data-theme="dark"] .text-gray-600,
[data-theme="dark"] .text-gray-500,
[data-theme="dark"] .text-gray-400,
[data-theme="dark"] .text-slate-600,
[data-theme="dark"] .text-slate-500 {
  color: #94a3b8 !important;
}

[data-theme="dark"] .border-gray-200,
[data-theme="dark"] .border-gray-300,
[data-theme="dark"] .border-slate-200 {
  border-color: #334155 !important;
}

[data-theme="dark"] .bg-gray-50,
[data-theme="dark"] .bg-gray-100 {
  background-color: #1e293b !important;
}

[data-theme="dark"] .rounded-lg,
[data-theme="dark"] .rounded-xl,
[data-theme="dark"] .rounded-2xl,
[data-theme="dark"] .rounded-3xl {
  border-color: #334155;
}

/* Badge neutral / pending */
[data-theme="dark"] .bg-gray-100.text-gray-400,
[data-theme="dark"] .bg-gray-100.text-gray-500,
[data-theme="dark"] .bg-gray-100.text-gray-600 {
  background-color: #1e293b !important;
  color: #cbd5e1 !important;
}

/* Emerald */
[data-theme="dark"] .bg-emerald-50,
[data-theme="dark"] .bg-emerald-100 {
  background-color: rgba(16, 185, 129, 0.16) !important;
}
[data-theme="dark"] .text-emerald-700,
[data-theme="dark"] .text-emerald-800 {
  color: #6ee7b7 !important;
}

/* Amber */
[data-theme="dark"] .bg-amber-50,
[data-theme="dark"] .bg-amber-100 {
  background-color: rgba(245, 158, 11, 0.16) !important;
}
[data-theme="dark"] .text-amber-700,
[data-theme="dark"] .text-amber-800,
[data-theme="dark"] .text-amber-600 {
  color: #fbbf24 !important;
}

/* Blue */
[data-theme="dark"] .bg-blue-50,
[data-theme="dark"] .bg-blue-100 {
  background-color: rgba(59, 130, 246, 0.16) !important;
}
[data-theme="dark"] .text-blue-700,
[data-theme="dark"] .text-blue-800,
[data-theme="dark"] .text-blue-600 {
  color: #93c5fd !important;
}

/* Cyan */
[data-theme="dark"] .bg-cyan-50,
[data-theme="dark"] .bg-cyan-100 {
  background-color: rgba(6, 182, 212, 0.16) !important;
}
[data-theme="dark"] .text-cyan-700,
[data-theme="dark"] .text-cyan-800 {
  color: #67e8f9 !important;
}

/* Purple */
[data-theme="dark"] .bg-purple-50,
[data-theme="dark"] .bg-purple-100 {
  background-color: rgba(168, 85, 247, 0.16) !important;
}
[data-theme="dark"] .text-purple-700,
[data-theme="dark"] .text-purple-800 {
  color: #c4b5fd !important;
}

/* Pink */
[data-theme="dark"] .bg-pink-50,
[data-theme="dark"] .bg-pink-100 {
  background-color: rgba(236, 72, 153, 0.16) !important;
}
[data-theme="dark"] .text-pink-700,
[data-theme="dark"] .text-pink-800 {
  color: #f9a8d4 !important;
}

/* Yellow */
[data-theme="dark"] .bg-yellow-100 {
  background-color: rgba(234, 179, 8, 0.16) !important;
}
[data-theme="dark"] .text-yellow-700,
[data-theme="dark"] .text-yellow-800 {
  color: #fde047 !important;
}

/* Red */
[data-theme="dark"] .bg-red-50,
[data-theme="dark"] .bg-red-100 {
  background-color: rgba(239, 68, 68, 0.16) !important;
}
[data-theme="dark"] .text-red-500,
[data-theme="dark"] .text-red-600,
[data-theme="dark"] .text-red-700,
[data-theme="dark"] .text-red-800 {
  color: #fca5a5 !important;
}

/* Input/filter di area tabel admin */
[data-theme="dark"] #adminSection input,
[data-theme="dark"] #adminSection select,
[data-theme="dark"] #mahasiswaView input,
[data-theme="dark"] #mahasiswaView select {
  background-color: #0f172a !important;
  border-color: #334155 !important;
  color: #f8fafc !important;
}

[data-theme="dark"] #adminSection input::placeholder,
[data-theme="dark"] #mahasiswaView input::placeholder {
  color: #64748b !important;
}

/* =========================================
   DARK MODE — KONTRAS PANEL SYARAT / SIMILAR / THEME
   ========================================= */

/* 1) Panel "Syarat Pengajuan" */
[data-theme="dark"] .panel.bg-amber-50.border-amber-200 {
  background: linear-gradient(180deg, rgba(69, 39, 6, 0.92), rgba(51, 32, 10, 0.9)) !important;
  border-color: rgba(245, 158, 11, 0.34) !important;
  color: #fde68a !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 h3.text-amber-800 {
  color: #fef3c7 !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .text-amber-900 {
  color: #fffbeb !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .text-amber-800 {
  color: #fef3c7 !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .text-amber-700 {
  color: #fcd34d !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .text-amber-600 {
  color: #fbbf24 !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .text-amber-500 {
  color: #f59e0b !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .bg-amber-100 {
  background-color: rgba(245, 158, 11, 0.16) !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .bg-amber-200 {
  background-color: rgba(245, 158, 11, 0.24) !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .badge.bg-amber-100.text-amber-700 {
  background-color: rgba(245, 158, 11, 0.18) !important;
  color: #fde68a !important;
  border: 1px solid rgba(245, 158, 11, 0.26);
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 .rounded-full.bg-amber-200.text-amber-800 {
  background-color: rgba(251, 191, 36, 0.2) !important;
  color: #fef3c7 !important;
}

[data-theme="dark"] #syaratKhususWrap {
  border-top-color: rgba(245, 158, 11, 0.22) !important;
}

[data-theme="dark"] #syaratKhususWrap .text-pink-500 {
  color: #f9a8d4 !important;
}

[data-theme="dark"] #syaratKhususWrap .text-emerald-500 {
  color: #6ee7b7 !important;
}

[data-theme="dark"] #syaratKhususList {
  color: #fffbeb !important;
}

[data-theme="dark"] .panel.bg-amber-50.border-amber-200 > .mt-4.pt-4.border-t.border-amber-200 {
  border-top-color: rgba(245, 158, 11, 0.22) !important;
}

/* 2) Card hasil kemiripan / similar item */
[data-theme="dark"] #similarList > div,
[data-theme="dark"] #similarList .bg-white\/60,
[data-theme="dark"] #similarList .bg-white60 {
  background: rgba(15, 23, 42, 0.88) !important;
  border-color: #334155 !important;
  color: #e5e7eb !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}

[data-theme="dark"] #similarList .font-semibold,
[data-theme="dark"] #similarList .leading-snug {
  color: #f8fafc !important;
}

[data-theme="dark"] #similarList .text-gray-400 {
  color: #cbd5e1 !important;
}

[data-theme="dark"] #similarList .text-gray-500 {
  color: #94a3b8 !important;
}

[data-theme="dark"] #similarList .text-red-600 {
  color: #fca5a5 !important;
}

[data-theme="dark"] #similarList .text-amber-600 {
  color: #fbbf24 !important;
}

[data-theme="dark"] #similarList .text-emerald-600 {
  color: #6ee7b7 !important;
}

[data-theme="dark"] #similarList .bg-gray-100 {
  background-color: #1e293b !important;
}

[data-theme="dark"] #similarList .bg-red-500 {
  background-color: #ef4444 !important;
}

[data-theme="dark"] #similarList .bg-amber-500 {
  background-color: #f59e0b !important;
}

[data-theme="dark"] #similarList .bg-emerald-500 {
  background-color: #10b981 !important;
}

/* Badge sumber */
[data-theme="dark"] #similarList .badge.bg-blue-100,
[data-theme="dark"] #similarList .bg-blue-100.text-blue-700 {
  background-color: rgba(59, 130, 246, 0.18) !important;
  color: #93c5fd !important;
}

[data-theme="dark"] #similarList .badge.bg-orange-100,
[data-theme="dark"] #similarList .bg-orange-100.text-orange-700 {
  background-color: rgba(249, 115, 22, 0.18) !important;
  color: #fdba74 !important;
}

[data-theme="dark"] #similarList .badge.bg-purple-100,
[data-theme="dark"] #similarList .bg-purple-100.text-purple-700 {
  background-color: rgba(168, 85, 247, 0.18) !important;
  color: #d8b4fe !important;
}

/* 3) Panel "Tema alternatif" */
[data-theme="dark"] #themeList > div {
  background-color: rgba(30, 41, 59, 0.82) !important;
  border-color: rgba(71, 85, 105, 0.9) !important;
  color: #f8fafc !important;
}

[data-theme="dark"] #themeList > div:hover {
  background-color: rgba(37, 52, 73, 0.96) !important;
  border-color: rgba(100, 116, 139, 0.95) !important;
}

/* 4) Tambahan agar panel-panel ini terasa hidup di dark mode */
[data-theme="dark"] #similarList > div,
[data-theme="dark"] #themeList > div,
[data-theme="dark"] .panel.bg-amber-50.border-amber-200 {
  box-shadow: 0 10px 30px rgba(2, 6, 23, 0.28);
}

.profile-info {
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.profile-row {
  display: grid;
  grid-template-columns: 180px 20px 1fr;
  gap: 0.5rem;
  align-items: start;
  padding: 0.9rem 0;
}

.profile-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: #475569;
}

.profile-sep {
  font-weight: 700;
  color: #64748b;
  text-align: center;
}

.profile-value {
  font-size: 0.95rem;
  font-weight: 500;
  color: #0f172a;
  word-break: break-word;
}

[data-theme="dark"] .profile-info {
  border-color: #334155;
}

[data-theme="dark"] .profile-label {
  color: #94a3b8;
}

[data-theme="dark"] .profile-sep {
  color: #64748b;
}

[data-theme="dark"] .profile-value {
  color: #f8fafc;
}

@media (max-width: 640px) {
  .profile-row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
    padding: 0.85rem 0;
  }

  .profile-sep {
    display: none;
  }

  .profile-label {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .profile-value {
    font-size: 0.95rem;
  }
}

@keyframes feedbackSoftGlow {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(251, 191, 36, 0);
  }
  50% {
    opacity: 0.96;
    box-shadow: 0 0 0 6px rgba(251, 191, 36, 0.10);
  }
}

.feedback-reminder-soft {
  animation: feedbackSoftGlow 1.6s ease-in-out 2;
}

@media (prefers-reduced-motion: reduce) {
  .feedback-reminder-soft {
    animation: none !important;
  }
}

.feedback-alert-warning {
  border: 1px solid rgb(252 211 77 / 0.55);
  background: rgba(255, 251, 235, 0.92);
  color: rgb(146 64 14);
}

[data-theme="dark"] .feedback-alert-warning {
  border: 1px solid rgb(251 191 36 / 0.35);
  background: rgba(69, 39, 5, 0.55);
  color: rgb(253 230 138);
}

:root {
  --wa-green-header: #008069;
  --wa-green-accent: #25d366;
  --wa-bg-chat: #efeae2;
  --wa-bg-card: #ffffff;
}

#chatFloatingWidget {
  transform-origin: right bottom !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  
  position: absolute; 
  bottom: 0; 
  right: 0;
  width: 360px;
  max-width: 90vw;
  z-index: 50;  
}
#chatActiveRoomView div {
  min-height: 0 !important;
}
@media (max-width: 639px) {
  #chatFloatingWidget {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    z-index: 99999 !important;
    transform: none !important;
  }
}

.wa-search-pill {
  background-color: #f0f2f5;
  border-radius: 9999px;
  border: 1px solid transparent;
}
.wa-search-pill:focus-within {
  background-color: #ffffff;
  border-color: #008069;
  box-shadow: 0 0 0 2px rgba(0, 128, 105, 0.15);
}

.wa-unread-badge {
  background-color: #25d366;
  color: #ffffff;
  font-weight: 700;
  border-radius: 9999px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

/*========================
  🗖 MAXIMIZE CHAT WIDGET 
  ======================== */
#chatFloatingWidget.chat-maximized {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  height: 100vh !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 99999 !important;
  transform: none !important;
  box-shadow: none !important;
}

@media (min-width: 768px) {
  #chatFloatingWidget.chat-maximized {
    display: grid !important;
    grid-template-columns: 360px 1fr !important;
    grid-template-rows: auto 1fr !important;
  }

  #chatFloatingWidget.chat-maximized > div:first-child {
    grid-column: 1 / -1;
  }

  #chatFloatingWidget.chat-maximized #chatInboxView {
    display: flex !important;
    border-right: 1px solid #e5e7eb;
  }

  #chatFloatingWidget.chat-maximized #chatActiveRoomView {
    display: flex !important;
  }

  #chatFloatingWidget.chat-maximized #chatBackBtn {
    display: none !important;
  }
}

[data-theme="dark"] #chatFloatingWidget.chat-maximized #chatInboxView {
  border-right-color: #334155 !important;
}
#chatFloatingWidget.hidden,
#chatFloatingWidget.chat-maximized.hidden {
  display: none !important;
}

/* 🟢 RUNNING TEXT BANNER STYLING */
.schedule-banner-box {
  display: flex;
  align-items: center;
  background: linear-gradient(90deg, #fffbeb, #fef3c7);
  border: 1px solid #fde68a;
  border-radius: 10px;
  padding: 6px 10px;
  margin: 10px 0 12px 0;
  overflow: hidden;
  font-size: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.schedule-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #d97706;
  color: #ffffff;
  font-weight: 700;
  font-size: 10px;
  padding: 3px 8px;
  border-radius: 6px;
  flex-shrink: 0;
  letter-spacing: 0.5px;
  margin-right: 10px;
  z-index: 2;
}

.schedule-badge-dot {
  width: 6px;
  height: 6px;
  background: #ffffff;
  border-radius: 50%;
  animation: badgeDotPulse 1.4s infinite;
}

.schedule-marquee-container {
  flex-grow: 1;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.schedule-marquee-content {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: marqueeScroll 24s linear infinite;
  color: #92400e;
  font-size: 11.5px;
}

/* Jeda saat kursor mouse/sentuhan diarahkan ke teks */
.schedule-marquee-content:hover {
  animation-play-state: paused;
}

@keyframes marqueeScroll {
  0%   { transform: translate(0, 0); }
  100% { transform: translate(-100%, 0); }
}

@keyframes badgeDotPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.3; transform: scale(0.85); }
}