#operating-calendar-root{max-width:1280px;margin:0 auto;padding:2rem 1.25rem 5rem;color:#163343}
.oc-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.oc-heading h1{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.6rem);margin:.2rem 0}
.oc-heading p,.oc-section-heading p{margin:.2rem 0;color:#526b73}
.oc-status{background:#f6edda;color:#704d16;padding:.6rem .9rem;border-radius:999px;font-weight:700;white-space:nowrap}
.oc-status.is-live{background:#e4f1eb;color:#1a5945}
.oc-notice{padding:1rem 1.2rem;background:#e9f1ed;border-left:4px solid #1b5c4a;border-radius:.6rem;line-height:1.5;margin-bottom:1.3rem}
.oc-panel{background:#fff;border:1px solid #d6e1dd;border-top:3px solid #bb9959;border-radius:1rem;padding:1.3rem;margin:1rem 0;box-shadow:0 8px 26px rgba(12,34,52,.05)}
.oc-section-heading{margin-bottom:1rem}.oc-section-heading h2{margin:0;font-size:1.45rem}
.oc-year-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.oc-year-navigation{display:flex;align-items:center;gap:.7rem}.oc-year-navigation strong{min-width:4ch;text-align:center;font-size:1.25rem}.oc-year-navigation button{border:1px solid #b9cbc5;background:#f6faf7;border-radius:.55rem;color:#164736;font:inherit;font-weight:700;width:2.7rem;height:2.7rem;cursor:pointer}
.oc-year-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.8rem 0;color:#36584d;font-size:.87rem}.oc-year-legend span{display:inline-flex;align-items:center;gap:.35rem}.oc-year-legend i{display:inline-block;width:.9rem;height:.9rem;border-radius:.25rem;border:1px solid rgba(12,34,52,.15)}.oc-year-legend .oc-year-conflict{background:#fff;border:2px solid #a44534;border-radius:50%}
.oc-year-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.5rem;padding:.6rem .8rem;background:#f3f7f4;border-radius:.55rem;color:#214d3d}.oc-year-selection button{border:0;background:none;color:#174d3c;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.oc-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1rem}.oc-year-month{min-width:0;padding:.8rem;background:#fbfcfa;border:1px solid #d8e4dc;border-radius:.7rem}.oc-year-month h3{margin:0 0 .65rem;font-size:1.06rem}.oc-year-weekdays,.oc-year-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.15rem}.oc-year-weekdays{margin-bottom:.35rem;color:#61796d;font-size:.72rem;font-weight:700;text-align:center}.oc-year-weekdays span{min-width:0}.oc-year-empty{min-height:2.1rem}
.oc-year-day{position:relative;min-width:0;min-height:2.1rem;padding:.2rem;border:1px solid transparent;border-radius:.36rem;color:#153f34;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.oc-year-day:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 3px 8px rgba(12,34,52,.16)}.oc-year-day:focus-visible,.oc-year-navigation button:focus-visible,.oc-year-selection button:focus-visible{outline:3px solid #b88d3f;outline-offset:2px}.oc-year-day.is-selected{outline:2px solid #8c611b;outline-offset:-1px;box-shadow:inset 0 0 0 1px #fff}.oc-year-day.is-past{opacity:.38;cursor:default}.oc-year-day span{position:absolute;right:1px;bottom:0;color:#9b6a19;font-size:.58rem}.oc-year-day i{position:absolute;top:1px;right:1px;width:5px;height:5px;border-radius:50%;background:#a44534}
.oc-year-day.mode-full,.oc-year-legend .mode-full{background:#dceee4}.oc-year-day.mode-breakfast_bar,.oc-year-legend .mode-breakfast_bar{background:#f5e8c9}.oc-year-day.mode-breakfast,.oc-year-legend .mode-breakfast{background:#dcecf2}.oc-year-day.mode-bar,.oc-year-legend .mode-bar{background:#e8e3f4}.oc-year-day.mode-restaurant_closed,.oc-year-legend .mode-restaurant_closed{background:#f4ddd2}.oc-year-day.mode-fully_closed,.oc-year-legend .mode-fully_closed{background:#e5e8e7}
.oc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem}
.oc-day{display:grid;gap:.45rem;background:#f4f8f5;padding:.8rem;border:1px solid #d6e1dd;border-radius:.7rem}
.oc-day select,.oc-period-form select,.oc-period-form input{width:100%;min-width:0;background:white;border:1px solid #b9cbc5;border-radius:.5rem;padding:.55rem;color:#163343;font:inherit}
.oc-period-form{display:grid;grid-template-columns:1fr 1fr 1.6fr 1.4fr auto;gap:.7rem;align-items:end}.oc-period-form label{display:grid;gap:.35rem;font-weight:700}
.oc-period-form button,.oc-actions button{background:#133f39;color:#fff;border:0;border-radius:.55rem;padding:.7rem 1rem;font:inherit;font-weight:700;cursor:pointer}.oc-actions button:disabled{opacity:.5;cursor:not-allowed}
.oc-periods{margin-top:1rem;display:grid;gap:.45rem}.oc-periods>div{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#f5f8f6;padding:.6rem .8rem;border-radius:.5rem}.oc-periods span{display:grid}.oc-periods small{color:#537066}.oc-periods button{border:1px solid #b7c9c1;background:white;border-radius:.4rem;padding:.4rem .7rem;cursor:pointer}
.oc-empty{color:#537066}.oc-preview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.oc-preview-day{display:grid;align-content:start;gap:.2rem;min-height:5.5rem;background:#e9f3ef;border-left:4px solid #286b55;border-radius:.5rem;padding:.65rem;font-size:.88rem}.oc-preview-day.is-restaurant-closed{background:#f7f1e5;border-color:#bb9959}.oc-preview-day.is-closed{background:#f4e9e6;border-color:#a96053}.oc-preview-day small{color:#6b6255}
.oc-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.4rem}.oc-check{display:flex;align-items:center;gap:.45rem}.oc-feedback{min-height:1.5rem;color:#214e42;font-weight:700}
.oc-holiday{color:#94662c!important;font-weight:700}.oc-conflicts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.oc-conflicts p{margin:0;padding:.8rem;background:#fff6e5;border-left:3px solid #b4812f;border-radius:.4rem}.oc-impact-error{padding:1rem;background:#fee8e4;color:#84352a;border-radius:.5rem}
.oc-followups{display:grid;gap:.55rem}.oc-followups>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:#f8f4e9;border-radius:.5rem}.oc-followups button{border:1px solid #8fa89e;background:#fff;color:#174b3d;border-radius:.45rem;padding:.5rem .7rem;cursor:pointer}
@media(max-width:1100px){.oc-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.oc-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-week,.oc-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.oc-period-form{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-period-form button{grid-column:1/-1}}
@media(max-width:600px){.oc-heading,.oc-year-heading{align-items:start;flex-direction:column}.oc-year-grid{grid-template-columns:1fr}.oc-year-selection{align-items:start;flex-direction:column}.oc-year-day{min-height:2.6rem}.oc-week,.oc-preview,.oc-conflicts{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-period-form{grid-template-columns:1fr}.oc-actions{align-items:stretch;flex-direction:column}}
.oc-year-day.has-event{box-shadow:inset 0 -4px #174e68}.oc-year-day.has-event.has-conflict{box-shadow:inset 0 -4px #174e68,0 0 0 2px #a44534}
