/* ==========================================================================
   Buku Tamu Digital - Custom Stylesheet & Print Engine
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-mono {
  font-family: 'JetBrains Mono', monospace;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Glassmorphism Classes */
.glass-panel {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.glass-dark {
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Touchscreen Touch Feedback */
.kiosk-btn {
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.kiosk-btn:active {
  transform: scale(0.97);
}

/* Signature Pad Canvas */
.signature-canvas {
  touch-action: none;
  background-color: #f8fafc;
  cursor: crosshair;
}

/* Camera Viewfinder Guidelines */
.camera-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  border: 2px dashed rgba(255, 255, 255, 0.6);
  border-radius: 1rem;
}

.camera-head-guide {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 180px;
  border: 2px dashed rgba(56, 189, 248, 0.75);
  border-radius: 50%;
}

/* Running Text Marquee Animation */
@keyframes marquee {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}

.marquee-content {
  display: inline-block;
  white-space: nowrap;
  animation: marquee 35s linear infinite;
}
.marquee-content:hover {
  animation-play-state: paused;
}

/* Status Pulse Badge */
.pulse-waiting {
  animation: pulse-amber 2s infinite;
}
@keyframes pulse-amber {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.pulse-meeting {
  animation: pulse-blue 2s infinite;
}
@keyframes pulse-blue {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* ==========================================================================
   Print Layouts for ID Card Badge & Thermal Slips
   ========================================================================== */
@media print {
  body {
    background: transparent !important;
    color: #000 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Sembunyikan semua elemen UI web biasa saat cetak */
  .no-print, header, nav, footer, .kiosk-header, .btn-print, .kiosk-btn {
    display: none !important;
  }

  .print-only {
    display: block !important;
  }

  /* Standar Badge Kartu Tamu (Ukuran ID Card B2 / Thermal 80mm) */
  .badge-print-container {
    width: 340px !important;
    margin: 0 auto !important;
    padding: 16px !important;
    border: 1px dashed #999 !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }

  .page-break {
    page-break-after: always;
  }
}
