
/* ─── BASE ─── */
.dp[data-v-5d48751d] {
  position: relative;
  width: 100%;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ─── INPUT TRIGGER ─── */
.dp-trigger[data-v-5d48751d] {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.dp-input[data-v-5d48751d] {
  width: 100%;
  padding: 8px 34px 8px 12px;
  border: 1.5px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
  color: #1e293b;
  background: #fff;
  outline: none;
  transition: border-color 150ms, box-shadow 150ms;
}
.dp-input[data-v-5d48751d]:hover:not(:disabled) {
  border-color: #94a3b8;
}
.dp-input[data-v-5d48751d]:focus,
.dp-input--open[data-v-5d48751d] {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08);
}
.dp-input[data-v-5d48751d]:disabled {
  background: #f8fafc;
  color: #94a3b8;
  cursor: not-allowed;
}
.dp-input[data-v-5d48751d]::-moz-placeholder {
  color: #94a3b8;
}
.dp-input[data-v-5d48751d]::placeholder {
  color: #94a3b8;
}
.dp-icon-btn[data-v-5d48751d] {
  position: absolute;
  right: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: #94a3b8;
  cursor: pointer;
  transition: color 150ms, background 150ms;
}
.dp-icon-btn[data-v-5d48751d]:hover:not(:disabled) {
  color: #3b82f6;
  background: #eff6ff;
}
.dp-icon-btn[data-v-5d48751d]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* ─── POPUP ─── */
.dp-popup[data-v-5d48751d] {
  /* position/coords são definidos por inline style via JS (position:fixed) */
  width: 320px;
  max-width: calc(100vw - 20px);
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 16px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  padding: 20px;
  overflow: visible;
  /* Reka-UI Dialog define body { pointer-events: none } enquanto modal aberto;
     popup teleportado para body precisa reativar pointer events para receber cliques. */
  pointer-events: auto;
}

/* ─── MONTH NAV ─── */
.dp-nav[data-v-5d48751d] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.dp-nav-arrow[data-v-5d48751d] {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  background: transparent;
  border: none;
  border-radius: 10px;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}
.dp-nav-arrow[data-v-5d48751d]:hover {
  background: #eff6ff;
  color: #3b82f6;
}
.dp-nav-arrow--sm[data-v-5d48751d] {
  width: 24px;
  height: 24px;
}
.dp-nav-title[data-v-5d48751d] {
  flex: 1;
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  color: #334155;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 8px;
  border: none;
  background: transparent;
  transition: background 150ms;
  font-family: inherit;
}
.dp-nav-title[data-v-5d48751d]:hover {
  background: #f8fafc;
}

/* ─── WEEKDAY HEADERS ─── */
.dp-weekdays[data-v-5d48751d] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 10px;
}
.dp-wk[data-v-5d48751d] {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  padding: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ─── DAYS GRID ─── */
.dp-days[data-v-5d48751d] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 2px;
}
.dp-day[data-v-5d48751d] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
}

/* Range trail (::before) */
.dp-day[data-v-5d48751d]::before {
  content: '';
  position: absolute;
  inset: 2px 0;
  background: transparent;
  z-index: 0;
  pointer-events: none;
}

/* In-range trail */
.dp-day--in-range[data-v-5d48751d]::before {
  background: #eff6ff;
}

/* Range start: trail right half */
.dp-day--range-start[data-v-5d48751d]::before {
  background: #eff6ff;
  left: 50%;
  right: 0;
}

/* Range end: trail left half */
.dp-day--range-end[data-v-5d48751d]::before {
  background: #eff6ff;
  left: 0;
  right: 50%;
}

/* ─── Rounded trail at week boundaries ─── */
.dp-day--in-range.dp-day--wk-start[data-v-5d48751d]::before {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.dp-day--in-range.dp-day--wk-end[data-v-5d48751d]::before {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}
.dp-day--range-end.dp-day--wk-start[data-v-5d48751d]::before {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
.dp-day--range-start.dp-day--wk-end[data-v-5d48751d]::before {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
}

/* ─── Day number circle ─── */
.dp-day-num[data-v-5d48751d] {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #334155;
  transition: all 0.2s;
}

/* Hover */
.dp-day:not(.dp-day--selected):not(.dp-day--range-start):not(.dp-day--range-end):not(.dp-day--disabled):not(.dp-day--other):hover .dp-day-num[data-v-5d48751d] {
  background: #eff6ff;
  color: #3b82f6;
}

/* Selected (single mode) */
.dp-day--selected .dp-day-num[data-v-5d48751d] {
  background: #3b82f6;
  color: #fff;
  font-weight: 600;
}

/* Range start circle */
.dp-day--range-start .dp-day-num[data-v-5d48751d] {
  background: #3b82f6;
  color: #fff;
  font-weight: 600;
}

/* Range end circle */
.dp-day--range-end .dp-day-num[data-v-5d48751d] {
  background: #3b82f6;
  color: #fff;
  font-weight: 600;
}

/* Today */
.dp-day--today:not(.dp-day--selected):not(.dp-day--range-start):not(.dp-day--range-end) .dp-day-num[data-v-5d48751d] {
  border: 2px solid #3b82f6;
  color: #2563eb;
  font-weight: 600;
}

/* Other month */
.dp-day--other .dp-day-num[data-v-5d48751d] {
  opacity: 0.1;
}
.dp-day--other[data-v-5d48751d] {
  cursor: default;
  pointer-events: none;
}

/* Disabled */
.dp-day--disabled .dp-day-num[data-v-5d48751d] {
  color: #cbd5e1;
}
.dp-day--disabled[data-v-5d48751d] {
  cursor: not-allowed;
}

/* ─── YEAR PICKER ─── */
.dp-years[data-v-5d48751d] {
  padding: 4px 0 8px;
}
.dp-years-nav[data-v-5d48751d] {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}
.dp-years-grid[data-v-5d48751d] {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
}
.dp-year-btn[data-v-5d48751d] {
  padding: 8px 4px;
  background: transparent;
  border: 1.5px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  font-family: inherit;
  color: #475569;
  cursor: pointer;
  transition: all 150ms;
  outline: none;
}
.dp-year-btn[data-v-5d48751d]:hover {
  background: #f1f5f9;
  border-color: #e2e8f0;
}
.dp-year-btn--active[data-v-5d48751d] {
  background: #2563eb;
  color: #fff;
  border-color: #2563eb;
  font-weight: 600;
}
.dp-year-btn--active[data-v-5d48751d]:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

/* ─── DIVIDER ─── */
.dp-divider[data-v-5d48751d] {
  height: 1px;
  background-color: #f1f5f9;
  margin: 16px -20px;
}

/* ─── FOOTER ─── */
.dp-footer[data-v-5d48751d] {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ─── TIME BOX ─── */
.dp-time-box[data-v-5d48751d] {
  position: relative;
  flex: 1;
  min-width: 0;
}
.dp-time-input[data-v-5d48751d] {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 7px 10px;
  cursor: pointer;
  transition: all 0.15s;
}
.dp-time-input[data-v-5d48751d]:focus-within {
  border-color: #3b82f6;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.08);
}
.dp-time-icon[data-v-5d48751d] {
  flex-shrink: 0;
}
.dp-time-field[data-v-5d48751d] {
  flex: 1;
  min-width: 0;
  background: transparent;
  border: none;
  outline: none;
  font-size: 12px;
  font-weight: 500;
  font-family: inherit;
  color: #334155;
  padding: 0;
  cursor: text;
}
.dp-time-field[data-v-5d48751d]::-moz-placeholder {
  color: #cbd5e1;
}
.dp-time-field[data-v-5d48751d]::placeholder {
  color: #cbd5e1;
}
.dp-time-chev[data-v-5d48751d] {
  flex-shrink: 0;
  transition: transform 0.2s;
}
.dp-time-chev--open[data-v-5d48751d] {
  transform: rotate(180deg);
}

/* Time dropdown */
.dp-time-menu[data-v-5d48751d] {
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 100;
  max-height: 140px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #f1f5f9;
  border-radius: 10px;
  box-shadow: 0 8px 20px -4px rgba(0, 0, 0, 0.08);
  padding: 3px;
}
.dp-time-menu[data-v-5d48751d]::-webkit-scrollbar {
  width: 3px;
}
.dp-time-menu[data-v-5d48751d]::-webkit-scrollbar-track {
  background: transparent;
}
.dp-time-menu[data-v-5d48751d]::-webkit-scrollbar-thumb {
  background: #e2e8f0;
  border-radius: 2px;
}
.dp-time-opt[data-v-5d48751d] {
  display: block;
  width: 100%;
  padding: 6px 10px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  font-family: inherit;
  color: #64748b;
  cursor: pointer;
  text-align: left;
  transition: all 0.15s;
}
.dp-time-opt[data-v-5d48751d]:hover {
  background: #eff6ff;
  color: #3b82f6;
}
.dp-time-opt--active[data-v-5d48751d] {
  background: #eff6ff;
  color: #3b82f6;
  font-weight: 600;
}
.dp-time-opt--active[data-v-5d48751d]:hover {
  background: #dbeafe;
}

/* ─── CONFIRM BUTTON ─── */
.dp-confirm[data-v-5d48751d] {
  background: #3b82f6;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  font-family: inherit;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  outline: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s, transform 0.1s;
}
.dp-confirm[data-v-5d48751d]:hover {
  background: #2563eb;
}
.dp-confirm[data-v-5d48751d]:active {
  transform: scale(0.97);
}

/* ─── TRANSITIONS ─── */
.dp-anim-enter-active[data-v-5d48751d],
.dp-anim-leave-active[data-v-5d48751d] {
  transition: opacity 180ms ease, transform 180ms ease;
}
.dp-anim-enter-from[data-v-5d48751d] {
  opacity: 0;
  transform: translateY(-6px) scale(0.98);
}
.dp-anim-leave-to[data-v-5d48751d] {
  opacity: 0;
  transform: translateY(-4px) scale(0.99);
}
.dp-menu-anim-enter-active[data-v-5d48751d],
.dp-menu-anim-leave-active[data-v-5d48751d] {
  transition: opacity 120ms ease, transform 120ms ease;
}
.dp-menu-anim-enter-from[data-v-5d48751d] {
  opacity: 0;
  transform: translateY(4px);
}
.dp-menu-anim-leave-to[data-v-5d48751d] {
  opacity: 0;
  transform: translateY(4px);
}

/* ─── COMPAT ─── */
.dp-trigger.required-field .dp-input[data-v-5d48751d] {
  border-left: 4px solid #ef4444 !important;
  padding-left: 10px;
}
