.calendar-action-menu { position: relative; min-width: 9rem; }
.calendar-action-menu summary { padding: .7rem 1rem; border: 1px solid #ccd8e5; border-radius: .8rem; cursor: pointer; font-size: 1rem; font-weight: 500; }
.calendar-action-menu > div { display: grid; gap: .4rem; margin-top: .4rem; }
.calendar-action-menu button { width: 100%; min-height: 44px; font-size: .95rem; }
.status-chip.is-availability { color: #815600; background: #fff4cd; }
.calendar-action-dialog { width: min(38rem, calc(100vw - 2rem)); max-height: 90vh; box-sizing: border-box; border: 1px solid #d6dfeb; border-radius: 1.25rem; padding: 1.5rem; color: #172a42; }
.calendar-action-dialog::backdrop { background: #10264466; }
.calendar-action-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.calendar-action-dialog header strong { font-size: 1.3rem; font-weight: 550; }
.calendar-action-dialog header button { min-width: 44px; min-height: 44px; border: 0; background: #f0f4f8; border-radius: 50%; font-size: 1.5rem; }
.calendar-action-dialog p { font-size: 1rem; line-height: 1.5; }
.calendar-action-dialog textarea { display: block; width: 100%; min-height: 5rem; box-sizing: border-box; padding: .7rem; margin-top: .5rem; border: 1px solid #ccd8e5; border-radius: .6rem; font: inherit; }
.calendar-availability-list { display: grid; gap: .5rem; max-height: 45vh; overflow-y: auto; padding: .3rem; }
.calendar-availability-list label { display: flex; gap: .8rem; align-items: center; min-height: 44px; padding: .65rem; background: #f3f6fa; border-radius: .6rem; font-size: 1rem; }
.calendar-availability-list input { width: 1.2rem; height: 1.2rem; flex: none; }
.calendar-availability-list strong { display: block; font-weight: 500; margin-top: .2rem; }
@media(max-width:600px) { .agenda-actions { flex-wrap: wrap; } .calendar-action-menu { width: 100%; } .calendar-action-dialog { padding: 1rem; } }
