/* Calendar styling is scoped so refreshing the grid never replaces form drafts. */
.live-calendar{margin-bottom:24px;padding:22px;min-width:0;overflow:hidden}
.live-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.live-calendar-heading h2{font-size:18px;margin:0 0 5px;color:#342c23}
.live-calendar-heading p{font-size:12px;line-height:1.8;color:#716353;margin:0;max-width:520px}
.live-calendar-heading>.button{white-space:nowrap;flex-shrink:0}
.live-calendar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}
.live-calendar-navigation h3{font-size:17px;margin:0;color:#342c23}
.live-calendar-navigation .icon-btn{font-size:28px;min-width:44px;min-height:44px;border:1px solid #e5ddce;border-radius:12px}
.live-calendar-grid{display:grid;gap:5px;direction:rtl;max-width:100%;min-width:0}
.live-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-width:0}
.live-calendar-week>[role=gridcell]{min-width:0}
.live-calendar-weekdays{margin-bottom:3px}
.live-calendar-weekdays span{text-align:center;font-size:11px;color:#716353;padding:8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;width:100%;min-width:0;border:1px solid transparent;border-radius:10px;color:#342c23;font-size:15px;font-variant-numeric:tabular-nums;line-height:1;cursor:pointer;background:#f6f3eb;transition:background .12s,border-color .12s}
.live-calendar-day:hover{border-color:#b99a60}
.live-calendar-day:focus-visible{outline:3px solid #80613b;outline-offset:1px;z-index:1}
.live-calendar-day i,.live-calendar-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#80613b;flex-shrink:0}
.live-calendar-day.live-working{background:#f3f5ef}
.live-calendar-day.live-working i,.live-calendar-legend .live-working{background:#52774b}
.live-calendar-day.live-holiday{background:#fbf0d9}
.live-calendar-day.live-holiday i,.live-calendar-legend .live-holiday{background:#b38329}
.live-calendar-day.live-stoppage{background:#f7e9e5}
.live-calendar-day.live-stoppage i,.live-calendar-legend .live-stoppage{background:#a95a43}
.live-calendar-day.live-weekend{background:#f0ece5;color:#827767}
.live-calendar-day.live-weekend i,.live-calendar-legend .live-weekend{background:#9d9387}
.live-calendar-day.is-today{box-shadow:inset 0 0 0 2px #b99a60;font-weight:800}
.live-calendar-day.is-selected{background:#80613b;color:#fff;border-color:#80613b;box-shadow:none}
.live-calendar-day.is-selected i{background:#f1dba6}
.live-calendar-day.is-today.is-selected{box-shadow:inset 0 0 0 2px #d7bc85}
.live-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:15px 0;font-size:11px;color:#716353}
.live-calendar-legend span{display:flex;align-items:center;gap:6px}
.live-calendar-detail{border-top:1px solid #e8e1d5;padding-top:16px;margin-top:12px}
.live-calendar-detail>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.live-calendar-detail small{font-size:11px;color:#827767;line-height:1.8}
.live-calendar-detail strong{font-size:13px;color:#342c23}
.live-calendar-detail p{font-size:13px;line-height:1.8;overflow-wrap:anywhere;margin:10px 0;color:#625647}
.live-calendar-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.live-calendar-actions .button{min-height:44px}
.live-calendar-message{font-size:12px;color:#716353;line-height:1.8}
.live-calendar .live-kind{font-size:10px;background:#f0ece5;color:#625647}
@media(min-width:1000px){
 .live-calendar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.8fr);column-gap:24px;padding:20px}
 .live-calendar-heading{grid-column:1/-1;margin-bottom:4px}
 .live-calendar-navigation{grid-column:1;grid-row:2;margin:8px 0 10px}
 .live-calendar-grid{grid-column:1;grid-row:3;gap:4px}
 .live-calendar-day{min-height:44px;font-size:14px}
 .live-calendar-weekdays span{padding:4px 0}
 .live-calendar-legend{grid-column:1;grid-row:4;margin:12px 0 0}
 .live-calendar-message{grid-column:1;grid-row:5;margin:8px 0 0}
 .live-calendar-detail{grid-column:2;grid-row:2/6;align-self:stretch;margin:8px 0 0;padding:12px 18px 8px 0;border-top:0;border-inline-start:1px solid #e8e1d5;display:flex;flex-direction:column;justify-content:center;min-width:0}
 .live-calendar-detail>div:first-child{align-items:flex-start;flex-direction:column;gap:10px}
 .live-calendar-detail strong{font-size:15px;line-height:1.8}
 .live-calendar-detail p{margin:14px 0;font-size:12px}
 .live-calendar-actions{flex-direction:column;align-items:stretch;margin-top:18px}
 .live-calendar-actions .button{justify-content:center;font-size:12px}
}
@media(max-width:600px){.live-calendar{padding:15px}.live-calendar-heading{flex-wrap:wrap}.live-calendar-heading h2{font-size:16px}.live-calendar-heading p{font-size:11px}.live-calendar-navigation{margin-top:12px}.live-calendar-grid,.live-calendar-week{gap:3px}.live-calendar-day{min-height:48px;font-size:14px;border-radius:8px}.live-calendar-legend{gap:8px 12px;font-size:10px}.live-calendar-weekdays span{font-size:9px}.live-calendar-actions .button{font-size:11px;flex:1 1 120px}}
@media(prefers-reduced-motion:reduce){.live-calendar-day{transition:none}}
