    :root {
      --rsud-primary: #044b2f;
      --rsud-header: #023820;
      --rsud-border: #a3d9a5;
    }

    body {
      font-family: 'Plus Jakarta Sans', sans-serif;
      background-color: #f4f7f5;
      color: #1a1a1a;
      overflow: hidden;
      height: 100vh;
    }

    /* Top Bar Header */
    .top-header {
      background-color: #ffffff;
      border-bottom: 3px solid #dcdcdc;
      padding: 10px 24px;
    }

    .badge-day {
      background-color: var(--rsud-primary);
      color: #ffffff;
      padding: 8px 18px;
      border-radius: 8px;
      font-weight: 800;
      font-size: 1.15rem;
      text-transform: uppercase;
    }

    .hospital-title {
      font-size: 1.85rem;
      font-weight: 900;
      color: var(--rsud-primary);
      letter-spacing: 1.5px;
      margin: 0;
    }

    .digital-clock {
      background-color: var(--rsud-header);
      color: #ffffff;
      padding: 8px 18px;
      border-radius: 8px;
      font-weight: 900;
      font-size: 1.6rem;
      letter-spacing: 1.5px;
    }

    /* Sub Header Title Bar */
    .title-banner {
      background-color: var(--rsud-primary);
      color: #ffffff;
      font-weight: 800;
      font-size: 1.25rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 8px 0;
      box-shadow: inset 0 -2px 0 rgba(0,0,0,0.15);
    }

    /* Video Frame Ringkas */
    .video-card {
      background: #000;
      border: 2px solid var(--rsud-border);
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 4px 6px rgba(0,0,0,0.06);
      height: 160px;
    }

    .video-card iframe {
      width: 100%;
      height: 100%;
      border: 0;
    }

    /* Info Card Samping */
    .info-card {
      background-color: #ffffff;
      border: 2px solid var(--rsud-border);
      border-radius: 8px;
      padding: 12px 14px;
    }

    /* Berikan padding bawah pada kontainer utama seukuran running text */
    main.container-fluid {
      padding-bottom: 50px !important;
    }

    /* Sesuaikan pengurangan tinggi panel agar menyisakan ruang aman di atas footer */
    .panel-box {
      background: #ffffff;
      border: 3px solid var(--rsud-border);
      border-radius: 10px;
      overflow: hidden;
      box-shadow: 0 4px 8px rgba(0,0,0,0.06);
      display: flex;
      flex-direction: column;
      height: calc(100vh - 200px); /* Diubah dari 180px menjadi 215px */
    }

    /* Pastikan running text tetap di lapisan paling depan dan memiliki tinggi pasti */
    .footer-ticker {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 38px;
      line-height: 26px;
      background-color: var(--rsud-primary);
      color: #ffffff;
      font-size: 0.95rem;
      font-weight: 700;
      padding: 9px 0;
      letter-spacing: 0.5px;
      z-index: 1000;
    }

    .panel-heading {
      background-color: var(--rsud-header);
      color: #ffffff;
      font-weight: 800;
      font-size: 1.25rem;
      padding: 10px 14px;
      text-align: center;
      letter-spacing: 0.8px;
    }

    .panel-heading-ready {
      background-color: #0b6831;
    }

    .scroll-table-container {
      overflow-y: hidden;
      flex-grow: 1;
      position: relative;
    }

    /* Table Styles */
    .table-custom {
      margin-bottom: 0;
    }

    .table-custom thead th {
      background-color: #eaf5ed;
      color: var(--rsud-primary);
      font-weight: 800;
      border-bottom: 2px solid var(--rsud-border);
      padding: 12px 10px;
      font-size: 1.05rem;
      text-transform: uppercase;
    }

    .table-custom tbody tr {
      border-bottom: 1px solid #e2e8e5;
    }

    .table-custom tbody tr:nth-of-type(even) {
      background-color: #f7fbf8;
    }

    /* Pasien & Text Styling */
    .patient-name-proses {
      font-size: 1.2rem;
      font-weight: 700;
      color: #111827;
    }

    .patient-name-selesai {
      font-size: 1.35rem;
      font-weight: 800;
      color: var(--rsud-primary);
    }

    .time-badge {
      font-size: 1.15rem;
      font-weight: 700;
      color: #374151;
    }

    /* Status Badges */
    .status-badge-progress {
      background-color: #fff3cd;
      color: #856404;
      font-weight: 800;
      font-size: 0.95rem;
      border: 1px solid #ffeeba;
      padding: 5px 12px;
      border-radius: 6px;
      display: inline-block;
    }

    .status-badge-queue {
      background-color: #e5e7eb;
      color: #374151;
      font-weight: 800;
      font-size: 0.95rem;
      padding: 5px 12px;
      border-radius: 6px;
      display: inline-block;
    }

    .ready-badge {
      background-color: #d1e7dd;
      color: #0f5132;
      font-weight: 900;
      font-size: 1.05rem;
      border: 1px solid #badbcc;
      padding: 6px 14px;
      border-radius: 6px;
      display: inline-block;
      letter-spacing: 0.5px;
    }

    .type-badge {
      font-size: 0.9rem;
      font-weight: 700;
      padding: 4px 10px;
    }

    /* Running Text Footer */
    .footer-ticker {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: var(--rsud-primary);
      color: #ffffff;
      font-size: 0.95rem;
      font-weight: 700;
      padding: 6px 0;
      letter-spacing: 0.5px;
    }
