body.fl-modal-open {
  overflow: hidden;
}

.fl-task-calendar-item.is-compact {
  grid-template-columns: 14px 24px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 10px;
}

.fl-task-calendar-item.is-compact .fl-task-calendar-handle,
.fl-task-calendar-item.is-compact .fl-task-calendar-check {
  margin-top: 2px;
}

.fl-task-calendar-item.is-compact .fl-task-calendar-body {
  display: grid;
  gap: 8px;
}

.fl-task-calendar-item.is-compact .fl-task-calendar-body strong {
  display: block;
  font-size: clamp(11px, 0.84vw, 13px);
  line-height: 1.24;
  letter-spacing: -0.01em;
  word-break: break-word;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 4;
}

.fl-task-calendar-item.is-compact .fl-task-calendar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.fl-task-calendar-item.is-compact .fl-task-calendar-meta .fl-priority-pill {
  max-width: 100%;
  min-width: 0;
  padding: 5px 8px;
  font-size: 10px;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fl-task-month-cell {
  min-width: 0;
}

.fl-task-month-list {
  min-width: 0;
}

.fl-task-month-more {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fl-task-modal-backdrop {
  overscroll-behavior: contain;
}

.fl-task-modal {
  overscroll-behavior: contain;
}

.fl-recurrence-day {
  transition: transform 140ms ease, box-shadow 140ms ease, background 140ms ease, color 140ms ease;
}

.fl-recurrence-day:hover {
  transform: translateY(-1px);
}

.fl-recurrence-day:focus-visible,
.fl-task-calendar-item:focus-visible,
.fl-task-modal .fl-icon-btn:focus-visible {
  outline: 2px solid rgba(115, 196, 255, 0.9);
  outline-offset: 2px;
}

@media (max-width: 1080px) {
  .fl-task-calendar-item.is-compact .fl-task-calendar-body strong {
    font-size: 12px;
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 720px) {
  .fl-task-calendar-item.is-compact {
    grid-template-columns: 12px 22px minmax(0, 1fr);
    gap: 6px;
    padding: 9px;
  }

  .fl-task-calendar-item.is-compact .fl-task-calendar-body strong {
    font-size: 12px;
    -webkit-line-clamp: 4;
  }

  .fl-task-calendar-item.is-compact .fl-task-calendar-meta .fl-priority-pill {
    font-size: 9px;
    padding: 4px 7px;
  }
}
