#dialogCalendar {
  height: 70vh !important;
}

#showCalendar {
  height: 100% !important;
  overflow-y: auto;
  position: relative;
}

/* ===== INPUT / TRIGGER ===== */
.ant-picker {
  border-radius: 16px !important;
  border: 2px solid #e5e7eb !important;
  padding: 14px 18px !important;
  font-size: 15px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  min-height: 56px !important;
  z-index: 1000 !important;
  position: relative !important;
}

.ant-picker:hover {
  border-color: #818cf8 !important;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.1), 0 2px 6px rgba(99, 102, 241, 0.06) !important;
  transform: translateY(-1px) !important;
}

.ant-picker-focused {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12), 0 4px 16px rgba(99, 102, 241, 0.15) !important;
  transform: translateY(-1px) !important;
}

.ant-picker input {
  font-size: 15px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: #111827 !important;
  font-weight: 500 !important;
}

.ant-picker input::placeholder {
  color: #9ca3af !important;
  font-weight: 400 !important;
}

.ant-picker-separator {
  color: #6366f1 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.ant-picker-suffix {
  color: #6366f1 !important;
  font-size: 22px !important;
}

.ant-picker-suffix .material-symbols-outlined {
  font-size: 24px !important;
  transition: transform 0.3s ease !important;
}

.ant-picker:hover .ant-picker-suffix .material-symbols-outlined {
  transform: scale(1.1) !important;
}

/* ===== DROPDOWN PANEL ===== */
.ant-picker-dropdown {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  z-index: 1001 !important;
}

.ant-picker-panel-container {
  border-radius: 20px !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15), 0 8px 24px rgba(0, 0, 0, 0.1) !important;
  border: 1px solid #e5e7eb !important;
  overflow: visible !important;
  background: linear-gradient(to bottom, #ffffff, #fafafa) !important;
}

/* ===== HEADER (luna/anul) ===== */
.ant-picker-header {
  border-bottom: 2px solid #f3f4f6 !important;
  padding: 16px 20px !important;
  /* background: linear-gradient(to right, #faf5ff, #f5f3ff) !important; */
}

.ant-picker-header button {
  color: #4b5563 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  border-radius: 10px !important;
  padding: 6px 12px !important;
  transition: all 0.2s ease !important;
}

.ant-picker-header button:hover {
  color: #6366f1 !important;
  background: rgba(99, 102, 241, 0.08) !important;
  transform: scale(1.05) !important;
}

/* ===== ZILELE DIN CALENDAR ===== */
.ant-picker-content th {
  color: #6b7280 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 8px 0 !important;
}

.ant-picker-cell .ant-picker-cell-inner {
  border-radius: 10px !important;
  font-size: 14px !important;
  color: #374151 !important;
  font-weight: 500 !important;
  min-width: 36px !important;
  height: 36px !important;
  line-height: 36px !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ant-picker-cell:hover .ant-picker-cell-inner:not(.unavailable-date) {
  background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%) !important;
  color: #6366f1 !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.2) !important;
}

/* Ziua selectată (start/end) - PRIORITATE MAXIMĂ */
.ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-cell-range-end .ant-picker-cell-inner {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  border: none !important;
  opacity: 1 !important;
  box-shadow: 0 4px 16px rgba(99, 102, 241, 0.4), 0 2px 8px rgba(99, 102, 241, 0.3) !important;
  transform: scale(1.05) !important;
}

.ant-picker-cell-range-start:not(.ant-picker-cell-range-start-single)::before,
.ant-picker-cell-range-end:not(.ant-picker-cell-range-end-single)::before {
  background: linear-gradient(90deg, transparent, #ede9fe) !important;
}

/* Intervalul dintre start și end */
.ant-picker-cell-in-range::before {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%) !important;
}

.ant-picker-cell-in-range .ant-picker-cell-inner {
  color: #4f46e5 !important;
  background: transparent !important;
  font-weight: 600 !important;
}

/* Ziua de azi */
.ant-picker-cell-today .ant-picker-cell-inner::before {
  border: 2px solid #6366f1 !important;
  border-radius: 10px !important;
}

.ant-picker-cell-today .ant-picker-cell-inner {
  font-weight: 700 !important;
  color: #6366f1 !important;
}

/* ===== TIME PICKER PANEL ===== */
.ant-picker-time-panel-column > li.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
  background: linear-gradient(135deg, #ede9fe 0%, #ddd6fe 100%) !important;
  color: #6366f1 !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(99, 102, 241, 0.2) !important;
}

.ant-picker-time-panel-column {
  width: 64px !important;
}

.ant-picker-time-panel-cell {
  padding: 0 4px !important;
}

.ant-picker-time-panel-cell-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
  height: 28px !important;
  line-height: normal !important;
  transition: all 0.2s ease !important;
}

.ant-picker-time-panel-cell:hover .ant-picker-time-panel-cell-inner {
  background: #f5f3ff !important;
  color: #6366f1 !important;
  transform: scale(1.05) !important;
}

/* ===== BUTON OK ===== */
.ant-picker-ok button {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
  border-color: transparent !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 8px 28px !important;
  height: auto !important;
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3) !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.ant-picker-ok button:hover {
  background: linear-gradient(135deg, #4f46e5 0%, #4338ca 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.4) !important;
}

/* ===== FOOTER ===== */
.ant-picker-footer {
  border-top: 2px solid #f3f4f6 !important;
  padding: 12px 16px !important;
  /* background: linear-gradient(to top, #fafafa, #ffffff) !important; */
}

.ant-picker-today-btn {
  color: #6366f1 !important;
  font-weight: 700 !important;
  padding: 6px 12px !important;
  border-radius: 8px !important;
  transition: all 0.2s ease !important;
}

.ant-picker-today-btn:hover {
  color: #4f46e5 !important;
  background: rgba(99, 102, 241, 0.08) !important;
  transform: scale(1.05) !important;
}

/* ===== PERIOADE INDISPONIBILE ===== */
.ant-picker-cell-disabled {
  background-color: #fee2e2 !important;
  border-color: #f87171 !important;
  opacity: 0.6 !important;
  cursor: not-allowed !important;
}

.ant-picker-cell-disabled .ant-picker-cell-inner {
  background-color: transparent !important;
  color: #ec0d0d !important;
  border-color: #f87171 !important;
  opacity: 0.9 !important;
  cursor: not-allowed !important;
}

.ant-picker-cell-disabled::before {
  display: none;
}

/* PRIORITATE: Zilele selectate peste unavailable */
.ant-picker-cell-selected .ant-picker-cell-inner.unavailable-date,
.ant-picker-cell-range-start .ant-picker-cell-inner.unavailable-date,
.ant-picker-cell-range-end .ant-picker-cell-inner.unavailable-date,
.ant-picker-cell-selected .unavailable-date,
.ant-picker-cell-range-start .unavailable-date,
.ant-picker-cell-range-end .unavailable-date {
  background: #6366f1 !important;
  color: #ffffff !important;
  border: none !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* Perioadele din trecut */
.past-date {
  opacity: 0.25 !important;
  color: #d1d5db !important;
  text-decoration: line-through !important;
  cursor: not-allowed !important;
}

.ant-picker-cell .past-date {
  opacity: 0.25 !important;
  color: #d1d5db !important;
  text-decoration: line-through !important;
}

/* ===== ANIMATION ===== */
/* ✅ Dezactivăm animațiile interne Ant Design pentru a evita double flicker */
.ant-picker-dropdown.ant-slide-up-enter,
.ant-picker-dropdown.ant-slide-up-enter-prepare,
.ant-picker-dropdown.ant-slide-up-enter-active,
.ant-picker-dropdown.ant-slide-up-appear,
.ant-picker-dropdown.ant-slide-up-appear-prepare,
.ant-picker-dropdown.ant-slide-up-appear-active {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 640px) {
  .ant-picker {
    padding: 12px 14px !important;
    font-size: 14px !important;
  }

  .ant-picker-cell .ant-picker-cell-inner {
    min-width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    font-size: 13px !important;
  }
}