/* Compact monthly calendar and a simple alternative list. */
.calendar-page{--cal-blue:#245c84;--cal-blue-bg:#eef4fa;--cal-green:#265b42;--cal-green-bg:#edf6ef;--cal-red:#8b3040;--cal-red-bg:#fbeff1;--cal-ink:#243846;--cal-muted:#445866}
.calendar-controls,.calendar-period,.calendar-navigation,.calendar-views{display:flex;align-items:center;gap:7px}
.calendar-controls{justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:15px}
.calendar-period{gap:18px;flex-wrap:wrap}
.calendar-range{font-size:18px;line-height:1.4;letter-spacing:0}
.calendar-navigation .btn{font-size:12px;padding:6px 10px}
.calendar-views{gap:2px;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}
.calendar-views button{border:0;border-radius:5px;background:#fff;color:var(--cal-muted);padding:6px 11px;font-size:12px}
.calendar-views button[aria-pressed=true]{background:#e6eef5;color:var(--cal-blue);font-weight:700}
.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;background:#fff;border:1px solid #cdd9e1;border-radius:10px;overflow:hidden}
.calendar-weekday{background:#f3f6f8;color:var(--cal-muted);text-align:center;font-size:12px;padding:8px}
.calendar-day{min-width:0;background:#fff}
.calendar-month-grid .calendar-day{min-height:105px;border-top:1px solid #dfe7ed;border-right:1px solid #dfe7ed;padding:7px}
.calendar-month-grid .calendar-day:nth-child(7n){border-right:0}
.calendar-day-title{display:flex;justify-content:space-between;align-items:center;gap:4px;flex-wrap:wrap;font-size:13px;color:var(--cal-ink);font-weight:400;margin-bottom:5px}
.calendar-month-grid .calendar-day-title time{display:inline-grid;place-items:center;min-width:24px;min-height:24px;border-radius:6px}
.calendar-month-grid .is-today{background:#f7faff}
.calendar-month-grid .is-today .calendar-day-title time{background:var(--cal-blue);color:#fff;font-weight:700}
.calendar-today-label{font-size:11px;color:var(--cal-blue)}
.calendar-day-events{display:grid;gap:5px}
.calendar-event{display:flex;align-items:flex-start;gap:12px;border:0;border-left:3px solid var(--cal-blue);border-radius:5px;background:var(--cal-blue-bg);color:var(--cal-ink);padding:10px 12px;text-align:left;width:100%;min-width:0;font-size:13px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.calendar-event.done{border-left-color:var(--cal-green);background:var(--cal-green-bg)}
.calendar-event.cancelled{border-left-color:var(--cal-red);background:var(--cal-red-bg)}
.calendar-event-time{font-size:12px;font-weight:700;white-space:nowrap}
.calendar-event-content{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.calendar-event-name{font-size:13px;font-weight:700}
.calendar-event-status{font-size:11px;color:var(--cal-blue)}
.calendar-event.done .calendar-event-status{color:var(--cal-green)}
.calendar-event.cancelled .calendar-event-status{color:var(--cal-red)}
.calendar-event-fund,.calendar-event-note{font-size:12px;color:var(--cal-muted)}
.calendar-event-note{white-space:pre-wrap}
.calendar-event.compact{display:block;padding:4px 6px;font-size:12px}
.calendar-event.compact .calendar-event-time{font-size:11px;margin-right:5px}
.calendar-event.compact .calendar-event-content{display:inline}
.calendar-event.compact .calendar-event-name{font-size:12px;font-weight:400}
.calendar-event.compact .calendar-event-status{display:block;font-size:11px;margin-top:1px}
.calendar-event:hover{box-shadow:inset 0 0 0 1px #9aafc0}
.calendar-page button:focus-visible{outline:2px solid #243846;outline-offset:2px}
.calendar-month-blank{background:#f6f8fa;border-top:1px solid #dfe7ed;min-height:105px}
.calendar-agenda,.calendar-month-agenda{display:grid;gap:16px}
.calendar-agenda .calendar-day,.calendar-month-agenda .calendar-day{border:1px solid var(--line);border-radius:9px;padding:13px}
.calendar-agenda .calendar-day-title,.calendar-month-agenda .calendar-day-title{font-size:14px;font-weight:700;margin-bottom:9px}
.calendar-month-agenda{display:none}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;color:var(--cal-muted);font-size:11px}
.calendar-legend-item{border-left:3px solid var(--cal-blue);padding-left:6px}
.calendar-legend-item.done{border-color:var(--cal-green)}
.calendar-legend-item.cancelled{border-color:var(--cal-red)}
.phone-demo-banner{background:#fff5d8;color:#58420d;border:1px solid #94731d;border-radius:8px;padding:10px 14px;margin-bottom:18px;font-size:12px;display:flex;flex-direction:column;gap:3px}
.staff-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.staff-tabs button[aria-pressed=true]{background:#eaf3f8;border-color:#adc7d8;color:var(--blue)}
.staff-table .staff-name{font-size:13px;font-weight:700}
.staff-table .inactive-name{color:#9e3042}
.provider-note{margin-top:12px;font-size:12px;color:var(--muted)}
@media(max-width:950px){.calendar-month-grid{display:none}.calendar-month-agenda{display:grid}}
@media(max-width:620px){.calendar-period{gap:10px}.calendar-range{font-size:17px}.calendar-controls{gap:10px}.calendar-event{gap:8px;padding:9px}.calendar-event-time{font-size:12px}.calendar-event-name{font-size:13px}.calendar-event-status{font-size:11px}.calendar-event-fund,.calendar-event-note{font-size:12px}}

.calendar-event-provider{display:block;font-size:11px;color:var(--cal-muted);margin-top:2px}
