/* Scheduler */
.scheduler-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-6);flex-wrap:wrap;gap:var(--sp-3)}
.calendar-nav{display:flex;align-items:center;gap:var(--sp-4)}
.calendar-nav__title{font-family:var(--ff-heading);font-size:var(--fs-lg);font-weight:var(--fw-semibold);min-width:180px;text-align:center}
.calendar-nav .btn--icon{width:36px;height:36px;border:1px solid var(--clr-border);border-radius:var(--radius-md)}
.calendar-grid{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);overflow:hidden}
.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--clr-border)}
.calendar-day-label{padding:var(--sp-3);text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--clr-text-muted)}
.calendar-cells{display:grid;grid-template-columns:repeat(7,1fr)}
.calendar-cell{min-height:100px;padding:var(--sp-2);border-right:1px solid var(--clr-border);border-bottom:1px solid var(--clr-border);cursor:pointer;transition:background var(--dur-fast)}
.calendar-cell:nth-child(7n){border-right:none}
.calendar-cell:hover{background:var(--clr-surface-hover)}
.calendar-cell.is-today{background:rgba(232,168,56,0.05)}
.calendar-cell.is-other-month{opacity:.3}
.calendar-cell__date{font-size:var(--fs-xs);font-weight:var(--fw-semibold);margin-bottom:var(--sp-1);color:var(--clr-text-light)}
.calendar-cell.is-today .calendar-cell__date{color:var(--clr-accent-dark);background:rgba(232,168,56,0.15);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.calendar-event{font-size:0.65rem;padding:2px 4px;border-radius:var(--radius-sm);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--fw-medium)}
.calendar-event--accent{background:rgba(232,168,56,0.15);color:var(--clr-accent-dark)}
.calendar-event--sage{background:rgba(107,144,128,0.15);color:var(--clr-sage-dark)}
.calendar-event--coral{background:rgba(224,122,95,0.15);color:var(--clr-coral-dark)}
@media(max-width:767px){.calendar-cell{min-height:60px}.calendar-event{display:none}.calendar-cell.has-events::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--clr-accent);margin:var(--sp-1) auto 0}}
