@import "tailwindcss";
@import "flatpickr/dist/flatpickr.css";

/* Custom styles for select dropdowns */
select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 0.5rem center;
  background-repeat: no-repeat;
  background-size: 1.5em 1.5em;
  padding-right: 2.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%234f46e5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
}

/* Print styles */
@media print {
  @page {
    size: A4;
    margin: 1cm;
  }

  body {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  /* Hide navigation, footer, and action buttons */
  nav,
  footer,
  .print\:hidden {
    display: none !important;
  }

  /* Optimize layout for print */
  .container,
  .max-w-7xl {
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* Simplify cards for print */
  .shadow-lg,
  .shadow-xl {
    box-shadow: none !important;
  }

  .rounded-xl,
  .rounded-lg {
    border-radius: 0 !important;
  }

  /* Ensure proper page breaks */
  .page-break-before {
    page-break-before: always;
  }

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

  .page-break-inside-avoid {
    page-break-inside: avoid;
  }

  /* Improve table printing */
  table {
    page-break-inside: auto;
  }

  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  /* Print links as text */
  a[href]:after {
    content: none !important;
  }

  /* Optimize text for print */
  body {
    font-size: 10pt;
    line-height: 1.3;
  }

  h1 {
    font-size: 18pt;
  }

  h2 {
    font-size: 14pt;
  }

  h3 {
    font-size: 12pt;
  }

  /* Keep colors for badges and important elements */
  .bg-green-100,
  .bg-blue-100,
  .bg-yellow-100,
  .bg-red-100,
  .bg-purple-100,
  .bg-indigo-100 {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

/* Flatpickr custom Tailwind theme */
.flatpickr-calendar {
  @apply shadow-lg border border-gray-200 rounded-lg text-sm;
  font-family: inherit;
}

.flatpickr-months {
  @apply bg-indigo-600 rounded-t-lg;
}

.flatpickr-current-month {
  @apply text-white;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  @apply bg-indigo-600 text-white font-medium text-sm;
}

.flatpickr-current-month .numInputWrapper input {
  @apply text-white font-medium text-sm;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  @apply bg-indigo-700;
}

.flatpickr-prev-month,
.flatpickr-next-month {
  @apply text-white hover:text-indigo-100;
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
  fill: rgb(224, 231, 255);
}

.flatpickr-weekday {
  @apply text-gray-600 font-medium text-xs uppercase;
}

.flatpickr-day {
  @apply text-gray-700 hover:bg-indigo-50 hover:border-indigo-200 rounded-lg text-sm;
  border: 1px solid transparent;
  font-weight: 400;
}

.flatpickr-day.today {
  @apply border-indigo-500 bg-indigo-50 font-semibold;
}

.flatpickr-day.selected {
  @apply bg-indigo-600 border-indigo-600 text-white font-semibold;
}

.flatpickr-day.selected:hover {
  @apply bg-indigo-700 border-indigo-700;
}

.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  @apply text-gray-300 cursor-not-allowed;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
  @apply text-gray-400;
}

.flatpickr-time {
  @apply border-t border-gray-200;
}

.flatpickr-time input {
  @apply text-gray-900 font-medium text-sm;
}

.flatpickr-time input:hover,
.flatpickr-time input:focus {
  @apply bg-indigo-50;
}

.flatpickr-time .flatpickr-am-pm {
  @apply text-gray-700 hover:bg-indigo-50 text-sm;
}

.flatpickr-time .arrowUp,
.flatpickr-time .arrowDown {
  @apply text-gray-400 hover:text-indigo-600;
}

/* Make time picker inputs more minimal */
.flatpickr-time input.flatpickr-hour,
.flatpickr-time input.flatpickr-minute {
  @apply text-center tabular-nums font-medium;
}

.flatpickr-time-separator {
  @apply text-gray-400 font-normal;
}
