.segmented-date-input {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  margin: 0;
  position: relative;
}

.segmented-date-input .segmented-date-part {
  width: 2.55rem;
  margin: 0;
  padding: 0.5rem 0.35rem;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.segmented-date-input .segmented-date-part[data-part="year"] {
  width: 3.35rem;
}

.segmented-date-input .segmented-date-sep {
  color: var(--muted, #64748b);
  font-size: 0.9rem;
  line-height: 1;
  user-select: none;
}

.segmented-date-input .segmented-date-picker-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0 0 0 0.15rem;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 0.45rem;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  color: var(--muted);
  cursor: pointer;
}

.segmented-date-input .segmented-date-picker-btn:hover:not(:disabled) {
  color: var(--ink);
  border-color: color-mix(in srgb, var(--brand) 35%, var(--line));
  background: color-mix(in srgb, var(--brand) 8%, var(--panel));
}

.segmented-date-input .segmented-date-picker-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.segmented-date-input .segmented-date-native-picker {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  border: 0;
  padding: 0;
  margin: 0;
}

.segmented-date-input.is-invalid .segmented-date-part {
  border-color: var(--err, #dc2626);
}

.segmented-date-input.is-invalid .segmented-date-picker-btn {
  border-color: var(--err, #dc2626);
}
