.catering-calendar {max-width:650px;border:1px solid #ddd4c5;padding:20px;margin:20px 0;background:var(--panel,#fff);border-radius:6px;}
.calendar-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.calendar-heading h3 {margin:0;font-size:22px;text-align:center;}
.catering-shell .calendar-heading button {font-size:24px;padding:4px 14px;min-width:46px;}
.calendar-grid {width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed;}
.calendar-grid th {text-align:center;font-size:12px;padding:4px 0;font-weight:650;}
.calendar-grid td {padding:0;vertical-align:top;}
.catering-shell .calendar-grid button {display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:64px;padding:6px 1px;background:transparent;color:inherit;border:1px solid #ddd4c5;border-radius:4px;}
.calendar-grid button span {font-size:17px;font-weight:700;}
.calendar-grid button small {font-size:10px;font-weight:400;line-height:1.5;}
.catering-shell .calendar-grid .is-blocked {background:#f3dddf;color:#78202b;border-color:#b9616a;opacity:1;}
.catering-shell .calendar-grid .is-past {opacity:.4;}
.catering-shell .calendar-grid .is-selected {background:#8e2023;color:white;border-color:#8e2023;}
.calendar-grid [aria-current=date] span {text-decoration:underline;text-underline-offset:4px;}
.calendar-status,.calendar-legend {font-size:13px;line-height:1.5;margin-bottom:0;}
.calendar-editor {border-top:1px solid #ddd;padding-top:22px;margin-top:20px;}
.calendar-editor-summary {white-space:pre-wrap;font-size:14px;line-height:1.6;}
.calendar-history {white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;}
@media(max-width:540px){.catering-calendar{padding:10px;margin:16px 0;}.calendar-grid{border-spacing:2px;}.catering-shell .calendar-grid button{min-height:54px;}.calendar-grid button small{font-size:9px;}.calendar-heading h3{font-size:18px;}}
