/* ═══════════════════════════════════════════════════════════════
   Just KHI — Date Picker Styles
   Strategy: wrapper has NO border/background — all visual chrome
   lives on the Flatpickr altInput itself. Calendar icon is a CSS
   background-image so it never overlaps or causes a double box.
═══════════════════════════════════════════════════════════════ */

/* SVG data URIs for the calendar icon */
/* Gray  (default) */
/* Green (hover / focus) */

/* ── Wrapper: invisible, just a layout hook ──────────────────── */
.date-input-box {
  display: block;
  width: 100%;
  position: relative;
}

/* ── Hidden original input (Flatpickr keeps it for the ISO value) */
.date-input-box .flatpickr-input:not(.flatpickr-alt-input) {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   THE VISIBLE INPUT (Flatpickr altInput)
   This is the only element the user sees — one clean box.
   Icon sits in the padding-left area via background-image.
═══════════════════════════════════════════════════════════════ */
.date-input-box .flatpickr-alt-input {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;

  /* Spacing — left padding leaves room for the icon */
  padding: .7rem .95rem .7rem 2.5rem !important;
  margin: 0 !important;

  /* Visual style — single clean rounded box */
  background-color: #ffffff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='16' height='15' rx='2'/%3E%3Cpath d='M2 8h16M6.5 2v3M13.5 2v3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: .75rem center !important;
  background-size: 16px 16px !important;

  border: 1.5px solid #e2e8f0 !important;
  border-radius: 8px !important;
  outline: none !important;
  box-shadow: none !important;

  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: .9rem !important;
  color: #0f172a !important;
  line-height: 1.5 !important;

  cursor: pointer !important;
  transition: border-color .18s ease, box-shadow .18s ease !important;
}

/* Placeholder colour */
.date-input-box .flatpickr-alt-input::placeholder {
  color: #94a3b8 !important;
  font-style: normal !important;
}

/* Hover */
.date-input-box .flatpickr-alt-input:hover {
  border-color: #94a3b8 !important;
}

/* Focus / open — green accent + green icon */
.date-input-box .flatpickr-alt-input:focus,
.date-input-box .flatpickr-alt-input.active {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, .12) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2316a34a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3.5' width='16' height='15' rx='2'/%3E%3Cpath d='M2 8h16M6.5 2v3M13.5 2v3'/%3E%3C/svg%3E") !important;
}

/* Admin context: match admin input height */
.form-group .date-input-box .flatpickr-alt-input {
  padding-top: .625rem !important;
  padding-bottom: .625rem !important;
  font-size: .875rem !important;
  border-radius: 10px !important;
}

/* ═══════════════════════════════════════════════════════════════
   CALENDAR POPUP THEME — compact, 320px wide
═══════════════════════════════════════════════════════════════ */
.flatpickr-calendar {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  width: 300px !important;
  max-width: min(300px, 96vw) !important;
  border-radius: 12px !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .13) !important;
  border: 1px solid #e2e8f0 !important;
  overflow: hidden !important;
  padding-bottom: .25rem !important;
}

/* Pointer arrow */
.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after { border-bottom-color: #0f172a !important; }

/* Header — compact navy bar */
.flatpickr-months { background: #0f172a !important; padding: 0; }
.flatpickr-month  { background: #0f172a !important; color: #fff !important; height: 36px !important; }

/* Month / year label */
.flatpickr-current-month {
  color: #fff !important;
  font-size: .85rem !important;
  font-weight: 600;
  padding-top: 6px !important;
}
.flatpickr-current-month .cur-month { color: #fff !important; font-weight: 700; }
.flatpickr-current-month .numInput  { color: #fff !important; font-weight: 600; background: transparent !important; font-size: .85rem !important; }
.flatpickr-current-month .numInputWrapper span { border-color: rgba(255,255,255,.3) !important; }

/* Prev / Next arrows */
.flatpickr-prev-month,
.flatpickr-next-month { padding: 7px 10px !important; }
.flatpickr-prev-month svg,
.flatpickr-next-month svg { fill: #fff !important; width: 14px !important; height: 14px !important; }
.flatpickr-prev-month:hover,
.flatpickr-next-month:hover { background: rgba(255,255,255,.15) !important; border-radius: 4px; }

/* Weekday row */
.flatpickr-weekdays { background: #f8fafc !important; border-bottom: 1px solid #e2e8f0; padding: .15rem 0; height: 28px !important; }
span.flatpickr-weekday {
  color: #64748b !important;
  font-weight: 700 !important;
  font-size: .65rem !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  line-height: 28px !important;
}

/* Day grid */
.flatpickr-days  { padding: .2rem .35rem .35rem !important; width: 300px !important; }
.dayContainer    { width: 300px !important; min-width: 300px !important; max-width: 300px !important; padding: 0 !important; }
.flatpickr-day {
  border-radius: 6px !important;
  font-size: .8rem !important;
  color: #0f172a;
  height: 32px !important;
  line-height: 32px !important;
  max-width: 32px !important;
  margin: 1px !important;
  border-color: transparent !important;
  transition: background .1s, color .1s;
}
.flatpickr-day:hover:not(.selected):not(.disabled):not(.prevMonthDay):not(.nextMonthDay) {
  background: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
  color: #0f172a !important;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: #cbd5e1 !important; }

/* Selected */
.flatpickr-day.selected,
.flatpickr-day.selected:hover {
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #fff !important;
  font-weight: 700;
}

/* Today (unselected) — subtle green ring */
.flatpickr-day.today:not(.selected) {
  border-color: #16a34a !important;
  color: #16a34a !important;
  font-weight: 700;
}

/* Disabled */
.flatpickr-day.disabled,
.flatpickr-day.disabled:hover {
  color: #cbd5e1 !important;
  background: transparent !important;
  cursor: not-allowed !important;
  text-decoration: line-through;
}
