.cal-week-todo {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 500;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.15s, box-shadow 0.15s;
  z-index: 2;
  border-left: 3px solid;
  opacity: 0.9;
}
.cal-week-todo:hover { opacity: 1; box-shadow: 0 2px 6px rgba(0,0,0,0.2); }
.cal-week-todo .ev-icon { font-size: 8px; margin-right: 3px; }

.cal-week-meeting {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: 4px;
  padding: 4px 6px;
  font-size: 11px;
  font-weight: 500;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.15s, box-shadow 0.15s;
  z-index: 1;
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
  border-left: 3px solid;
}
.cal-week-meeting:hover { opacity: 0.9; box-shadow: 0 2px 8px rgba(0,0,0,0.25); }
.cal-week-meeting .ev-icon { font-size: 10px; margin-right: 3px; }

.cal-week-deadline {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: 600;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.15s;
  z-index: 2;
  border-left: 3px solid;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cal-week-deadline:hover { opacity: 0.85; }
.cal-week-deadline .ev-icon { font-size: 8px; margin-right: 3px; }

.cal-week-workphase {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 9px;
  font-weight: 500;
  overflow: hidden;
  cursor: pointer;
  transition: opacity 0.15s;
  z-index: 3;
  border-left: 2px solid;
  opacity: 0.85;
}
.cal-week-workphase:hover { opacity: 1; }
.cal-week-workphase .ev-icon { font-size: 8px; margin-right: 3px; }

.cal-allday-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px 3px 4px;
  min-height: 22px;
  border-bottom: 1px solid var(--border);
}
.cal-allday-chip {
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 10px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  transition: opacity 0.15s;
}
.cal-allday-chip:hover { opacity: 0.85; }

.cal-todo-chip {
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 10px;
  font-weight: 500;
  margin-bottom: 1px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-left: 2px solid;
  opacity: 0.9;
}
.cal-todo-chip:hover { opacity: 1; }

.cal-meeting-chip {
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 10px;
  font-weight: 500;
  margin-bottom: 1px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-left: 2px solid;
}
.cal-meeting-chip:hover { opacity: 0.9; }

.cal-deadline-chip {
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 10px;
  font-weight: 600;
  margin-bottom: 1px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-left: 2px solid;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cal-deadline-chip:hover { opacity: 0.85; }

.cal-workphase-chip {
  border-radius: 3px;
  padding: 1px 4px;
  font-size: 9px;
  font-weight: 500;
  margin-bottom: 1px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-left: 2px solid;
  opacity: 0.85;
}
.cal-workphase-chip:hover { opacity: 1; }

.ev-recurrence { font-size: 9px; margin-left: 4px; opacity: 0.7; }
