/* Calendário mensal – fase 6. Ficheiro separado para atualização fiável. */
.calendar-month-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 16px}
.calendar-view-switcher{display:inline-flex;gap:7px}
.calendar-view-switcher .button{padding:9px 13px}
.calendar-view-switcher .button.is-current{border-color:var(--brand);background:var(--brand);color:#fff}
.calendar-month{padding:18px}
.calendar-month-toolbar{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0 0 18px}
.calendar-month-toolbar h2{margin:0;text-align:center;color:#24354c;font-size:20px}
.calendar-month-toolbar>div{display:flex;align-items:center;gap:9px}
.calendar-month-arrow{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #d5e2e9;border-radius:9px;background:#fff;color:#176b87;font-size:20px;font-weight:800}
.calendar-month-arrow:hover{border-color:#8ebecb;background:#f2fafb}
.calendar-month-scroll{overflow-x:auto}
.calendar-month-board{min-width:760px}
.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-month-weekdays{border:1px solid #dbe5eb;border-bottom:0;border-radius:12px 12px 0 0;background:#f5f9fb}
.calendar-month-weekdays span{padding:10px 8px;color:#64768b;font-size:11px;font-weight:850;text-align:right;text-transform:uppercase;letter-spacing:.04em}
.calendar-month-grid{overflow:hidden;border:1px solid #dbe5eb;border-radius:0 0 12px 12px}
.calendar-month-cell{min-height:144px;padding:8px;border-right:1px solid #e5edf1;border-bottom:1px solid #e5edf1;background:#fff}
.calendar-month-cell:nth-child(7n){border-right:0}
.calendar-month-cell:nth-last-child(-n+7){border-bottom:0}
.calendar-month-cell.is-outside{background:#f8fafb}
.calendar-month-cell.is-outside .calendar-month-day,.calendar-month-cell.is-outside .calendar-month-event,.calendar-month-cell.is-outside .calendar-month-more{opacity:.48}
.calendar-month-cell.is-today{background:#f1fafb}
.calendar-month-day{display:flex;justify-content:flex-end;margin:0 0 7px}
.calendar-month-day time{display:inline-flex;min-width:23px;height:23px;align-items:center;justify-content:center;border-radius:999px;color:#43566c;font-size:12px;font-weight:850}
.calendar-month-cell.is-today .calendar-month-day time{background:var(--brand);color:#fff}
.calendar-month-events{display:grid;gap:4px}
.calendar-month-event{display:block;overflow:hidden;padding:3px 5px;border-radius:5px;background:#edf5f7;color:#38566a;font-size:11px;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.calendar-month-event.is-editable{background:#e3f4f6;color:#126d86}
.calendar-month-event.is-editable:hover{background:#ceeaf0;text-decoration:underline}
.calendar-month-more{display:block;padding:2px 5px;color:#58748a;font-size:11px;font-weight:850}
.calendar-month-create{max-width:820px;margin:20px auto 0}
.calendar-month-create .form-card{padding:22px}
@media(max-width:680px){.calendar-month{padding:12px}.calendar-month-actions{align-items:stretch;flex-direction:column}.calendar-month-actions>.button{width:100%;text-align:center}.calendar-view-switcher{width:100%}.calendar-view-switcher .button{flex:1;text-align:center}.calendar-month-toolbar{grid-template-columns:36px minmax(0,1fr) auto;gap:7px}.calendar-month-toolbar h2{font-size:17px}.calendar-month-toolbar>div{gap:5px}.calendar-month-toolbar .button{padding:8px 9px}.calendar-month-arrow{width:32px;height:32px}.calendar-month-cell{min-height:132px}}
