/* Hallmark · macrostructure: operational calendar · tone: existing shop UI · anchor hue: shop accent */
.calendar-page { display:grid; gap:16px; min-width:0 }
.cal-toolbar,.cal-nav { display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.cal-toolbar { justify-content:space-between }
.cal-toolbar h2 { margin:0; font-size:20px; overflow-wrap:anywhere; min-width:0 }
.cal-toolbar .field { margin:0; min-width:0; max-width:100% }
.cal-nav .btn { white-space:nowrap }
.cal-grid { border:1px solid var(--line); border-radius:8px; overflow:clip }
.cal-weekdays,.cal-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)) }
.cal-weekdays { background:var(--bg-2); padding:8px 0; text-align:center; color:var(--txt-3); font-size:12px }
.cal-day { min-height:140px; min-width:0; padding:8px; border-top:1px solid var(--line); border-right:1px solid var(--line) }
.cal-day h3 { font-size:13px; margin:0 0 8px }
.cal-today h3 { color:var(--accent); text-decoration:underline; text-underline-offset:4px }
.cal-outside { background:var(--bg-2) }
.cal-event { display:grid; gap:3px; min-width:0; margin:6px 0; padding:8px; border-left:3px solid var(--accent); border-radius:3px; background:var(--panel); color:var(--txt); text-decoration:none; font-size:12px }
.cal-event span,.cal-event strong,.cal-event small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0 }
.cal-event small { color:var(--txt-3) }
.cal-delivery { border-left-style:double; border-left-width:5px }
.cal-task { border-left-color:var(--violet) }
.cal-event:hover { background:var(--bg-2) }
.cal-event:focus-visible { outline:2px solid var(--accent); outline-offset:2px }
.cal-event:active { opacity:.8 }
.cal-agenda { display:none }
.cal-agenda section { padding:12px 0; border-bottom:1px solid var(--line) }
.cal-agenda h3 { font-size:14px; margin:0 0 8px }
.cal-agenda-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:8px }
.cal-hidden { display:none }
.cal-force { display:block }
.cal-unscheduled { display:grid; gap:8px }
.cal-unscheduled a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
@media(max-width:800px) { .cal-grid { display:none } .cal-agenda { display:block } .cal-toolbar { align-items:flex-start; flex-direction:column } }
