body {
  font-family:
    BlinkMacSystemFont,
    -apple-system,
    Segoe UI,
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    Fira Sans,
    Droid Sans,
    Helvetica Neue,
    Helvetica,
    Arial,
    sans-serif;
}
/* --------------------------------------------- */

/*  FLATPICKR : calendrier uniquement, on ne touche pas à l'input  */
.flatpickr-calendar {
  font-family: inherit;
  border-radius: 1rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
  border: 1px solid #d1d5db;
  font-size: 0.875rem;
  overflow: hidden;
}

.flatpickr-months {
  background: #f9fafb;
  padding: 8px 0;
  border-bottom: 1px solid #e5e7eb;
}

.flatpickr-month,
.flatpickr-prev-month,
.flatpickr-next-month {
  color: #111827 !important;
  fill: #111827 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  font-weight: 600;
  font-size: 0.95rem;
  color: #111827;
}

.flatpickr-prev-month:hover svg,
.flatpickr-next-month:hover svg {
  fill: #bc00cc !important;
}

.flatpickr-weekdays {
  background: #f9fafb;
}

span.flatpickr-weekday {
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 600;
}

.flatpickr-day {
  border-radius: 0.5rem;
  font-size: 0.85rem;
  color: #111827;
}

.flatpickr-day:hover {
  background: #f3e5f5;
  border-color: #f3e5f5;
  color: #bc00cc;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: #bc00cc !important;
  border-color: #bc00cc !important;
  color: #fff !important;
}

.flatpickr-day.today {
  border-color: #bc00cc;
  color: #bc00cc;
  font-weight: 700;
}

.flatpickr-day.today:hover {
  background: #bc00cc;
  color: #fff;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  color: #d1d5db;
}

/* ── Empêche flatpickr de cacher/modifier l'input original ── */
.flatpickr-input {
  cursor: pointer !important;
}

/*  TOM SELECT catégorie  */
.ts-wrapper {
  width: 100%;
  position: relative;
}

.ts-control {
  background: #f9fafb !important;
  border: 1px solid #d1d5db !important;
  border-radius: 9999px !important;
  padding: 1.1rem 1.25rem !important;
  font-size: 0.875rem !important;
  color: #111827 !important;
  box-shadow: none !important;
  cursor: pointer;
  min-height: unset !important;
  flex-wrap: nowrap !important;
}

.ts-wrapper.focus .ts-control {
  box-shadow: 0 0 0 2px #bc00cc !important;
  border-color: #bc00cc !important;
  outline: none !important;
}

.ts-wrapper::after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #6b7280;
}

.ts-dropdown {
  border-radius: 1rem !important;
  border: 1px solid #d1d5db !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
  font-size: 0.875rem;
  margin-top: 4px;
  overflow: hidden;
}

.ts-dropdown .ts-dropdown-content {
  padding: 4px;
}

.ts-dropdown .option {
  border-radius: 0.5rem;
  padding: 0.55rem 1rem;
  color: #111827;
  cursor: pointer;
}

.ts-dropdown .option:hover,
.ts-dropdown .option.active {
  background: #f3e5f5 !important;
  color: #bc00cc !important;
}

.ts-dropdown .option.selected {
  background: #bc00cc !important;
  color: #fff !important;
}

.ts-control .item {
  color: #111827;
  font-size: 0.875rem;
}

.ts-control .placeholder {
  color: #9ca3af;
}

/*  Conteneur date+heure : hauteur unifiée  */
.date-group {
  display: flex;
  align-items: stretch;
  height: 58px;
  width: 100%;
}

.date-group input[type="text"] {
  width: 66.666%;
  height: 100%;
  box-sizing: border-box;
  /* on garde les classes Tailwind, juste on force la hauteur */
}

/* État désactivé visuel */
.date-group.is-disabled input,
.date-group.is-disabled select {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}
