.np-calendar[data-v-2aec3624] {
  background-color: var(--ion-background-color);
}
.np-calendar-header[data-v-2aec3624] {
  padding: 16px;
}
.np-calendar-header .nav-button[data-v-2aec3624] {
  padding: 8px;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.np-calendar-header .nav-button[data-v-2aec3624]:hover {
  background-color: rgba(var(--ion-color-primary-rgb), 0.08);
}
.np-calendar-grid[data-v-2aec3624] {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.np-calendar-grid.weekday-header .weekday[data-v-2aec3624] {
  padding: 8px 4px;
  font-weight: 500;
}
.calendar-day[data-v-2aec3624] {
  min-height: 90px;
  padding: 8px;
  cursor: pointer;
  transition: background-color 0.2s;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--np-border-color);
  overflow: hidden;
  min-width: 0;
}
.calendar-day[data-v-2aec3624]:hover {
  background-color: rgba(var(--ion-color-secondary-rgb), 0.15);
}
.calendar-day.drag-over[data-v-2aec3624] {
  background-color: rgba(var(--ion-color-primary-rgb), 0.15);
  outline: 2px dashed var(--ion-color-primary);
  outline-offset: -2px;
}
.calendar-day .day-number[data-v-2aec3624] {
  font-size: 13px;
  font-weight: 400;
  margin-bottom: 4px;
  color: var(--ion-text-color);
}
.calendar-day .day-events[data-v-2aec3624] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
  overflow: hidden;
  min-width: 0;
}
.calendar-day.weekend[data-v-2aec3624] {
  background-color: rgba(var(--ion-color-medium-rgb), 0.05);
}
.calendar-day.weekend .day-number[data-v-2aec3624] {
  color: var(--ion-color-medium);
}
.calendar-day.other-month .day-number[data-v-2aec3624] {
  color: var(--ion-color-medium);
  opacity: 0.5;
}
.calendar-day.today .day-number[data-v-2aec3624] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--ion-color-primary);
  color: white;
  font-weight: 500;
}
.event-chip[data-v-2aec3624] {
  display: flex;
  align-items: center;
  padding: 3px 6px;
  border-radius: 4px;
  border-left: 3px solid;
  font-size: 11px;
  line-height: 1.3;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
  max-width: 100%;
  min-width: 0;
}
.event-chip[data-v-2aec3624]:hover {
  opacity: 0.8;
}
.event-chip.draggable[data-v-2aec3624] {
  cursor: grab;
}
.event-chip.draggable[data-v-2aec3624]:active {
  cursor: grabbing;
}
.event-chip .event-label[data-v-2aec3624] {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
}
.more-chip[data-v-2aec3624] {
  background-color: transparent;
  border-left-color: var(--ion-color-medium);
  color: var(--ion-color-medium);
  font-size: 10px;
}
.np-calendar-legend[data-v-2aec3624] {
  padding: 16px;
  flex-wrap: wrap;
}
.np-calendar-legend .legend-box[data-v-2aec3624] {
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border-left: 3px solid;
}
@media (max-width: 480px) {
.np-calendar-header[data-v-2aec3624] {
    padding: 12px;
}
.np-calendar-header .month-year[data-v-2aec3624] {
    font-size: 14px;
}
.calendar-day[data-v-2aec3624] {
    min-height: 60px;
    padding: 4px;
}
.calendar-day .day-number[data-v-2aec3624] {
    font-size: 11px;
}
.event-chip[data-v-2aec3624] {
    font-size: 9px;
    padding: 2px 4px;
}
.np-calendar-legend[data-v-2aec3624] {
    padding: 12px;
    font-size: 11px;
}
}