/* Custom styles for NoName Laundry Bangkok */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Noto+Sans+Thai:wght@300;400;500;600;700&display=swap');

body {
  font-family: 'Plus Jakarta Sans', 'Noto Sans Thai', sans-serif;
}

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

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

.gradient-brand {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
}

.gradient-fresh {
  background: linear-gradient(135deg, #0d9488 0%, #0f766e 100%);
}

.gradient-dark {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
}

/* Animated pulse for live status dot */
@keyframes ping-subtle {
  0% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.4; }
  100% { transform: scale(1); opacity: 1; }
}

.animate-ping-subtle {
  animation: ping-subtle 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* ==========================================================================
   Executive Print Stylesheet for Accounting & Financial Audit Reports
   ========================================================================== */
@media print {
  @page {
    margin: 10mm 12mm;
    size: A4 portrait;
  }

  html, body {
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 10pt !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .print\:hidden {
    display: none !important;
  }

  .print\:block {
    display: block !important;
  }

  .print\:inline-block {
    display: inline-block !important;
  }

  .print\:flex {
    display: flex !important;
  }

  .print\:grid {
    display: grid !important;
  }

  /* Table and Row page-break rules */
  table {
    border-collapse: collapse !important;
    width: 100% !important;
  }

  thead {
    display: table-header-group !important;
  }

  tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .print-avoid-break {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}
