/* Project "Календарь" in the approved board concept: month grid on desktop, agenda list for the month on phones. */
.workspace > .calendar-view { margin: 0 24px 32px !important; padding: 0 !important; display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 12px !important; border: 0 !important; background: #fff !important; }
.calendar-view > .task-visibility-bar { display: none !important; }

.calendar-view .calendar-toolbar { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; }
.calendar-view .calendar-toolbar h3 { margin: 0 !important; color: #24202c !important; font-size: 20px !important; font-weight: 600 !important; letter-spacing: -.2px !important; }
.calendar-view .calendar-toolbar > span { color: #898397 !important; font-size: 14px !important; }
.calendar-view .calendar-jump { min-height: 34px !important; padding: 6px 12px !important; border: 0 !important; border-radius: 7px !important; background: #eee8ff !important; color: #7047db !important; font-size: 13px !important; font-weight: 500 !important; }
.calendar-view .calendar-nav { display: flex !important; gap: 6px !important; margin-left: auto !important; }
.calendar-view .calendar-nav button { min-width: 40px !important; min-height: 40px !important; padding: 6px 14px !important; border: 1px solid #ddd7e7 !important; border-radius: 7px !important; background: #fff !important; box-shadow: none !important; color: #514a60 !important; font-size: 14px !important; }
.calendar-view .calendar-nav button[data-calendar-nav='prev'],.calendar-view .calendar-nav button[data-calendar-nav='next'] { padding: 0 !important; font-size: 20px !important; line-height: 1 !important; }

.calendar-view .calendar-month { display: grid !important; grid-template-columns: repeat(7,minmax(0,1fr)) !important; border: 1px solid #eae5f3 !important; border-radius: 8px !important; background: #fff !important; overflow: hidden !important; }
.calendar-view .calendar-weekday { padding: 10px 12px !important; border-bottom: 1px solid #ece8f2 !important; background: #fbfaff !important; color: #898397 !important; font-size: 12px !important; font-weight: 500 !important; text-transform: uppercase !important; }
.calendar-view .calendar-day { display: flex !important; flex-direction: column !important; gap: 4px !important; min-width: 0 !important; min-height: 116px !important; padding: 8px !important; border-right: 1px solid #f0edf5 !important; border-bottom: 1px solid #f0edf5 !important; background: #fff !important; }
.calendar-view .calendar-day:nth-child(7n) { border-right: 0 !important; }
.calendar-view .calendar-day.weekend { background: #fcfbfe !important; }
.calendar-view .calendar-day.outside { background: #faf9fc !important; }
.calendar-view .calendar-day.outside .calendar-day-number { color: #c3bccf !important; }
.calendar-view .calendar-day-number { align-self: flex-start !important; display: grid !important; place-items: center !important; min-width: 26px !important; height: 26px !important; padding: 0 4px !important; border-radius: 13px !important; color: #494558 !important; font-size: 13px !important; font-weight: 500 !important; }
.calendar-view .calendar-day.today .calendar-day-number { background: #7954d6 !important; color: #fff !important; font-weight: 600 !important; }

.calendar-view .calendar-chip { display: block !important; width: 100% !important; min-height: 0 !important; margin: 0 !important; padding: 4px 8px !important; border: 0 !important; border-left: 3px solid #8b60e7 !important; border-radius: 4px !important; background: #f3efff !important; box-shadow: none !important; color: #3d3550 !important; font-size: 12px !important; font-weight: 500 !important; line-height: 1.35 !important; text-align: left !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; transform: none !important; }
.calendar-view .calendar-chip:hover,.calendar-view .calendar-chip.active { background: #e8e0ff !important; }
.calendar-view .calendar-chip.priority-urgent { border-left-color: #d74d61 !important; }
.calendar-view .calendar-chip.priority-high { border-left-color: #e0a030 !important; }
.calendar-view .calendar-chip.overdue { background: #ffedf0 !important; color: #a23a4b !important; }
.calendar-view .calendar-chip.done { border-left-color: #63ac45 !important; background: #eef7ea !important; color: #6b7a66 !important; text-decoration: line-through !important; text-decoration-color: #a8c59c !important; }

.calendar-view .calendar-agenda { display: none !important; }
.calendar-view .calendar-row { display: grid !important; grid-template-columns: minmax(0,1fr) !important; gap: 4px !important; width: 100% !important; margin: 0 !important; padding: 10px 12px !important; border: 0 !important; border-bottom: 1px solid #f0edf5 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; text-align: left !important; transform: none !important; }
.calendar-view .calendar-row:last-child { border-bottom: 0 !important; }
.calendar-view .calendar-row strong { color: #24202c !important; font-size: 15px !important; font-weight: 500 !important; overflow-wrap: anywhere !important; }
.calendar-view .calendar-row > span { color: #746c84 !important; font-size: 13px !important; }
.calendar-view .due-badge { display: inline-flex !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: #857b95 !important; font-size: 13px !important; font-weight: 500 !important; white-space: nowrap !important; }
.calendar-view .due-badge::before { display: none !important; }
.calendar-view .due-badge.overdue { color: #d74d61 !important; }
.calendar-view .due-badge.today { color: #7954d6 !important; }
.calendar-view .due-badge.done { color: #63ac45 !important; }

@media (max-width: 1100px) {
  .calendar-view .calendar-day { min-height: 92px !important; padding: 6px !important; }
}
@media (max-width: 760px) {
  .workspace > .calendar-view { margin: 0 14px 14px !important; }
  .calendar-view .calendar-toolbar h3 { font-size: 18px !important; }
  .calendar-view .calendar-nav { margin-left: 0 !important; width: 100% !important; }
  .calendar-view .calendar-nav button[data-calendar-nav='today'] { flex: 1 !important; }
  .calendar-view .calendar-month { display: none !important; }
  .calendar-view .calendar-agenda { display: grid !important; border: 1px solid #eae5f3 !important; border-radius: 8px !important; overflow: hidden !important; }
  .calendar-view .calendar-agenda .empty { padding: 16px !important; color: #898397 !important; }
}
