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

/* Hide scrollbar for Chrome, Safari and Opera */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Mobile Safe Areas */
.pb-safe {
  padding-bottom: env(safe-area-inset-bottom, 20px);
}
.pt-safe {
  padding-top: env(safe-area-inset-top, 20px);
}

/* Dynamic Viewport Height for Mobile */
.h-dvh {
  height: 100vh; /* Fallback */
  height: 100dvh;
}

/* Material Design Elevation & Transitions */
.material-card {
  transition: transform 0.2s, box-shadow 0.2s;
}
.material-card:active {
  transform: scale(0.98);
}

/* Critical for Drag and Drop on Touch Devices */
.touch-none {
  touch-action: none !important;
}

/* Print & Export Optimization */
.break-inside-avoid {
  break-inside: avoid;
  page-break-inside: avoid;
}

.print-content {
  height: auto !important;
  overflow: visible !important;
}

@media print {
  @page { margin: 0; size: auto; }
  body { background: white; -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
  .no-print { display: none !important; }
  .print-only { display: block !important; }
  .print-break-inside-avoid { break-inside: avoid; }
  
  /* Ensure inputs look like text */
  input, textarea, select {
      border: none !important;
      background: transparent !important;
      padding: 0 !important;
      resize: none !important;
      -webkit-appearance: none;
      appearance: none;
      box-shadow: none !important;
  }
  
  /* Hide placeholder text in print if empty */
  input:placeholder-shown, textarea:placeholder-shown {
      color: transparent !important;
  }
}
