.action-separator { color: var(--line-strong); margin: 0 6px; }
.schedule-filter { display: flex; align-items: end; gap: 12px; margin-bottom: 16px; padding: 13px; background: #e8eef1; }
.schedule-filter label { min-width: 260px; }
.schedule-filter label:nth-child(2) { min-width: 170px; }
.person-metrics { grid-template-columns: repeat(6, minmax(110px, 1fr)); }
.person-metrics .metric-text { margin-top: 7px; font-size: 17px; }
.month-calendar { min-width: 0; max-width: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: auto; }
.calendar-weekdays, .calendar-week { display: grid; grid-template-columns: repeat(7, minmax(120px, 1fr)); min-width: 850px; }
.calendar-weekdays { position: sticky; top: 0; z-index: 2; }
.calendar-weekdays span { padding: 9px 10px; border-right: 1px solid #31536b; background: var(--navy-900); color: #fff; font-size: 12px; font-weight: 800; text-align: center; }
.calendar-day { min-height: 132px; padding: 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.calendar-day > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
.calendar-day > header > strong { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #eef3f5; }
.calendar-day article { display: grid; gap: 2px; margin-bottom: 5px; padding: 6px 7px; border-left: 3px solid var(--blue-700); border-radius: 3px; background: #edf6fa; }
.calendar-day article strong { font-size: 12px; }
.calendar-day article span { color: var(--muted); font-size: 10px; }
.calendar-day.outside { background: #f1f3f4; color: #99a5ab; }
.calendar-day.outside-plan { background: #f6f7f7; }
.recovery-tag { padding: 2px 4px; border-radius: 3px; background: var(--amber-soft); color: #735000; font-size: 9px; font-weight: 800; }
.rest-label { margin: 28px 0; color: #8b731b; font-weight: 800; text-align: center; }
.calendar-legend { color: var(--muted); font-size: 12px; }
.legend-blue, .legend-yellow { display: inline-block; width: 12px; height: 12px; margin-right: 4px; vertical-align: -2px; background: var(--blue-700); }
.legend-yellow { background: #e6b73d; }

@media (max-width: 900px) {
  .schedule-filter { align-items: stretch; flex-direction: column; }
  .schedule-filter label { min-width: 0; }
  .person-metrics { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
  .person-metrics { grid-template-columns: repeat(2, 1fr); }
  .calendar-weekdays, .calendar-week { min-width: 760px; }
}
