.calendar-settings { max-width: 900px; margin: 12px auto; }
.calendar-stores { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.calendar-stores .button { width:auto; min-height:44px; }
.calendar-section { display:grid; gap:12px; padding:14px 0; border-top:1px solid #64716b; margin:14px 0; }
.calendar-weekdays { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:8px; }
.calendar-checkbox { display:flex; align-items:center; gap:8px; min-height:44px; }
.calendar-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.calendar-settings input { min-width:0; max-width:100%; }
.calendar-settings button { width:auto; min-height:44px; justify-self:start; }
.calendar-period { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 0; border-top:1px solid #ccc; }
.calendar-period span { overflow-wrap:anywhere; min-width:0; }
.calendar-sequence-notice { padding:12px; background:#fff1bc; border:1px solid #202725; border-radius:4px; }
.calendar-sequence-notice .button { display:block; min-height:44px; margin-top:8px; }
.coverage-slot.closed { background:#e9ece9; color:#43554b; border:1px dashed #64716b; }
@media(max-width:520px) { .calendar-period { display:grid; grid-template-columns:1fr; gap:6px; } .calendar-dates { gap:8px; } }
