.calendar-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:18px}.calendar-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:18px}.calendar-toolbar h2{font-size:1.15rem;text-transform:capitalize;margin:0 10px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays span{text-align:center;font-size:.72rem;font-weight:750;color:var(--muted);padding:8px;text-transform:uppercase}.calendar-day{min-height:132px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;background:#fff;overflow:hidden}.calendar-day:nth-child(7n+1){border-left:1px solid var(--line)}.calendar-day.today{background:#f0f9fc}.calendar-day.today .day-number{background:var(--blue);color:#fff}.calendar-day.outside{background:#f8fafb}.day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-size:.8rem;margin-bottom:5px}.calendar-event{display:block;width:100%;text-align:left;border:0;border-left:3px solid var(--blue);border-radius:4px;background:#eaf6fb;color:#185974;margin:3px 0;padding:5px;font-size:.7rem;line-height:1.2}.calendar-event small{display:block;opacity:.75;margin-top:2px}.calendar-event.completada{border-color:#0aa66b;background:#e3f8ef;color:#08714c}.calendar-event.cancelada{border-color:#98a5ad;background:#eef1f3;color:#687681;text-decoration:line-through}.calendar-event.reprogramada{border-color:#f39a15;background:#fff2dc;color:#995d08}.schedule-item{padding:13px 0;border-bottom:1px solid var(--line)}.schedule-item>span,.schedule-item>small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.schedule-item form{margin-top:8px}@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}.calendar-day{min-height:110px}}@media(max-width:700px){.calendar-panel{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}}
.calendar-map-link{display:block;width:max-content;margin-top:8px;color:#1678a7;font-size:.82rem;font-weight:600;text-decoration:none}.calendar-map-link:hover{text-decoration:underline}
