/* Calendar refinement: inherits existing theme tokens and component controls. */
#calendarView { max-width: 1700px; }
.calendar-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; padding:0 32px; }
.calendar-main { padding:0; }
.calendar-pace { border-top:1px solid var(--border); margin-top:24px; padding-top:16px; color:var(--muted); font-size:13px; line-height:1.6; }
.calendar-pace h3 { color:var(--ink); margin:0; font-size:15px; }
#calendarView .cal-toolbar { align-items:flex-start; flex-wrap:wrap; gap:12px; padding-bottom:16px; }
#calendarView .cal-toolbar-right { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; }
#calendarView .cal-toolbar .input { width:auto; max-width:180px; min-width:110px; height:32px; font-size:12px; }
#calendarView .cal-view-toggle { flex-shrink:0; }
#calendarView .cal-month-label { min-width:0; font-size:17px; }
.calendar-state { color:var(--muted); font-size:12px; line-height:1.6; margin:0 0 12px; }
.calendar-legend { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:11px; color:var(--muted); margin-bottom:12px; }
#calendarView .day-post-pill, #calendarView .day-note-pill { min-width:0; max-width:100%; text-align:left; }
#calendarView .day-post-copy { min-width:0; overflow-wrap:anywhere; }
#calendarView .day-note-pill { border-left-width:3px !important; border-style:dashed !important; }
#calendarView .day-note-pill.is-action { border-style:solid !important; }
#calendarView .content-calendar-pill { border:1px dashed var(--brand); background:var(--brand-dim); }
#calendarView .cal-day { min-width:0; }
#calendarView .day-add-note-btn { opacity:1; }
#calendarView .cal-day:focus-visible, #calendarView .cal-week-day:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
#calendarView.is-agenda-view .cal-grid, #calendarView.is-agenda-view .cal-week, #calendarView.is-agenda-view .cal-dow { display:none !important; }
#calendarView.is-agenda-view .cal-agenda { display:block !important; }
#calendarView:not(.is-agenda-view) .cal-agenda { display:none !important; }
.calendar-agenda-day { padding:16px; border:1px solid var(--border); background:var(--surface); border-radius:10px; margin-bottom:12px; }
.calendar-agenda-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
.calendar-agenda-day .day-post-pill, .calendar-agenda-day .day-note-pill { display:block; width:100%; margin:8px 0; }
.calendar-agenda-empty { font-size:12px; color:var(--muted); margin:8px 0; }
.calendar-drawer.modal { justify-content:flex-end; align-items:stretch; padding:0; }
.calendar-drawer .modal-card, .calendar-drawer .modal-card.lg { width:min(560px,100%); max-width:560px; height:100dvh; max-height:100dvh; border-radius:0; margin:0; padding:24px; overflow-y:auto; overflow-x:hidden; box-sizing:border-box; }
.calendar-drawer .modal-hdr { position:sticky; top:-24px; z-index:2; background:var(--surface); padding:16px 0; }
.calendar-drawer .row { flex-wrap:wrap; }
.calendar-drawer #contentDetailView { display:block; padding:0; max-width:100%; }
.calendar-drawer textarea, .calendar-drawer input, .calendar-drawer select { max-width:100%; box-sizing:border-box; }
#composerCalendarContext { display:flex; flex-wrap:wrap; align-items:center; gap:10px; border:1px solid var(--border); background:var(--surface); border-radius:8px; margin:12px 0; padding:12px; font-size:12px; color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:768px) {
 #calendarView .calendar-layout { padding:0; }
 #calendarView .calendar-main { padding:14px 12px; }
 #calendarView .cal-toolbar { position:static; }
 #calendarView .cal-toolbar-nav { width:100%; justify-content:space-between; flex-wrap:wrap; }

 #calendarView .cal-toolbar-right { width:100%; }
 #calendarView .cal-toolbar .btn { min-height:36px; }
 #calendarView .cal-toolbar .input { flex:1 1 130px; max-width:none; }
 #calendarView .cal-grid, #calendarView .cal-week, #calendarView .cal-dow { display:none !important; }
 #calendarView .cal-agenda { display:block !important; }
 #calendarView .cal-view-toggle[aria-label="Calendar view mode"] { display:none; }
 .calendar-drawer .modal-card, .calendar-drawer .modal-card.lg { padding:18px; }
 .mobile-tabs .mob-tab[data-view="approvalsView"], .mobile-tabs .mob-tab[data-view="libraryView"], .mobile-tabs .mob-tab[data-view="pulseView"] { display:none; }
 #composerCalendarContext { margin:12px; }
}

#composerCalendarContext[hidden] { display:none; }

#calendarView [data-calendar-date].is-selected { outline:2px solid var(--brand); outline-offset:-2px; }
#calendarView .cal-toolbar-nav { padding-inline:4px; }

#calendarView .content-calendar-toggle { display:none; } /* Replaced by the Content items filter. */

/* Keep modal controls above the existing mobile navigation, including nested confirmations. */
.modal { z-index:150; }
.calendar-drawer .modal-card { animation:calendarDrawerIn .16s ease-out; }
@keyframes calendarDrawerIn { from { opacity:0; transform:translateX(12px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .calendar-drawer .modal-card { animation:none; } }
#calendarView .cal-week-hdr { display:none; } /* Range controls live in the shared toolbar. */

.queue-health-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:24px; }
#queueHealthView { max-width:1100px; }
#queueHealthView .plan-health-body { padding:16px; }
#queueHealthView .plan-health-row { padding:12px 0; border-bottom:1px solid var(--border); }
.note-state { display:inline-block; font-size:10px; font-weight:700; line-height:1.6; margin-right:4px; white-space:nowrap; }
#calendarView .day-note-pill.is-done { opacity:.8; border-style:solid !important; }
#calendarView .day-note-pill.is-done .note-copy, .snap-modal-note.is-done .snap-modal-note-text { text-decoration:line-through; }
.note-completion-status { padding:10px 12px; border:1px solid var(--border); border-radius:6px; font-weight:700; }
@media(max-width:768px) { #queueHealthView .queue-health-header, #queueHealthView > .plan-health-strip, #queueHealthView > .calendar-pace { margin:16px; } .queue-health-header { flex-wrap:wrap; } }

/* Empty-day actions have their own rhythm rather than one crowded button row. */
#sharedDayBody .day-empty-state { padding:24px 16px; text-align:center; border:1px dashed var(--border2); border-radius:14px; background:var(--surface2); margin:12px 0 18px; }
#sharedDayBody .day-empty-state .empty-title { margin-bottom:8px; }
#sharedDayBody .day-empty-state .empty-desc { max-width:34ch; margin:auto; line-height:1.6; }
#sharedDayBody .day-detail-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 10px; }
#sharedDayBody .day-detail-actions .btn { height:auto; min-height:46px; width:100%; padding:11px 14px; line-height:1.4; white-space:normal; text-align:center; }
#sharedDayBody .day-detail-actions [data-plan-campaign] { grid-column:1/-1; }
#sharedDayBody .day-detail-actions + .calendar-state { line-height:1.55; margin-top:14px; }
@media(max-width:460px){ #sharedDayBody .day-detail-actions { grid-template-columns:1fr; } #sharedDayBody .day-detail-actions [data-plan-campaign] { grid-column:auto; } }
