/* Shared by Desktop and Web. Hour rows expand around full-size, ordered cards. */
#calendarSurface.timeline-viewport,#calendar #calendarItems.timeline-viewport{display:block!important;position:relative!important;flex:1 1 0!important;min-height:160px!important;height:auto!important;max-height:none!important;overflow:auto!important;padding:0!important;scrollbar-gutter:stable;overscroll-behavior:contain;scroll-behavior:auto!important;container-type:normal!important}
.schedule-timeline{display:grid!important;grid-template-columns:72px repeat(var(--timeline-days),minmax(152px,1fr));grid-template-rows:54px auto;gap:0!important;min-width:calc(72px + var(--timeline-days)*152px);width:100%;padding:0 0 16px;background:#fff;color:#17241c;isolation:isolate}
.schedule-timeline.timeline-single{grid-template-columns:72px minmax(240px,1fr);min-width:320px}
.schedule-timeline .timeline-corner,.schedule-timeline .timeline-heading{position:sticky!important;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;padding:8px 10px;min-width:0;border:0;border-bottom:1px solid #cbdcd1;border-right:1px solid #dce7e0;border-radius:0;background:#f4f8f5;color:#17241c;font-size:12px;line-height:1.3;box-sizing:border-box}
.schedule-timeline .timeline-corner{left:0;z-index:25;display:block;font-size:11px;font-weight:700;padding-top:12px}
.schedule-timeline .timeline-corner small{display:block;font-size:10px;font-weight:400;color:#53685b}
.schedule-timeline .timeline-heading span{display:flex;flex-direction:column;gap:2px;font-size:11px}
.schedule-timeline .timeline-heading strong{font-size:13px;color:#17241c}
.schedule-timeline .timeline-heading.today{background:#e3f3e8;box-shadow:inset 0 3px #16833d}
.schedule-timeline .timeline-heading button{width:28px!important;min-width:28px!important;height:28px!important;padding:0!important;border:1px solid #ccdbd1!important;border-radius:6px!important;color:#235b36!important;background:#fff!important;font-size:18px!important}
.schedule-timeline .timeline-axis{position:sticky;left:0;z-index:10;height:var(--timeline-height);background:#f7faf8;border-right:1px solid #cbdcd1}
.schedule-timeline .timeline-axis time{position:absolute;right:9px;font-size:11px;line-height:16px;color:#4e6455;white-space:nowrap;transform:translateY(-50%)}
.schedule-timeline .timeline-axis time:first-child{transform:none}
.schedule-timeline .timeline-track{position:relative;height:var(--timeline-height);min-width:0;border-right:1px solid #d9e5dd;box-sizing:border-box;background-color:#fff}
.schedule-timeline .timeline-hour{display:flex;flex-direction:column;align-items:stretch;gap:var(--timeline-gap);padding:var(--timeline-padding);box-sizing:border-box;min-width:0;background-image:linear-gradient(to bottom,#cddcd2 0,#cddcd2 1px,transparent 1px),repeating-linear-gradient(to bottom,#edf2ee 0,#edf2ee 1px,transparent 1px,transparent var(--timeline-step))}
.schedule-timeline .timeline-track.today{background-color:#f4fbf6}
.schedule-timeline .timeline-event{position:relative;flex:none;z-index:1;width:100%;height:var(--timeline-card);min-width:0}
.schedule-timeline.timeline-single .timeline-event{max-width:none;container-type:inline-size}
#calendarTab .schedule-timeline .calendar-card,#calendar #calendarItems .schedule-timeline .calendar-post-card,.timeline-drag-ghost>button{position:relative!important;display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;min-width:0!important;margin:0!important;padding:8px!important;border-radius:9px!important;overflow:hidden!important;text-align:left!important;touch-action:none;user-select:none;-webkit-user-drag:none}
.schedule-timeline [data-timeline-movable="true"]{cursor:grab!important}
.schedule-timeline .calendar-card-time{display:block!important;font-size:12px!important;line-height:16px!important;font-weight:750!important}
.schedule-timeline .calendar-card-title{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px!important;line-height:16px!important}
.schedule-timeline .calendar-card-copy{height:100%!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:0!important;position:relative;z-index:2}
.schedule-timeline .calendar-card-meta{margin-top:auto!important;display:flex!important;gap:4px!important;align-items:center!important;font-size:10px!important}
.schedule-timeline .calendar-card-meta i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}
.schedule-timeline .calendar-platform-icon,.schedule-timeline .calendar-destination-icon{width:15px!important;height:15px!important}
.timeline-drag-source{opacity:.32!important}
.timeline-drop-target::after{content:"";position:absolute;left:0;right:0;top:var(--timeline-drop-y);height:2px;background:#12843e;z-index:8;pointer-events:none;box-shadow:0 0 0 1px #fff}
.timeline-drag-active,.timeline-drag-active *{cursor:grabbing!important;user-select:none!important}
.timeline-drag-overlay{position:fixed;inset:0;z-index:2147483600;pointer-events:none!important;overflow:visible;isolation:isolate}
.timeline-drag-ghost{position:absolute;z-index:1;opacity:.88;box-shadow:0 8px 26px #16372245;border-radius:9px;overflow:hidden;background:#edf8f0;color:#17241c}
.timeline-drag-ghost>button{pointer-events:none!important;background:#edf8f0!important;color:#17241c!important;border:2px solid #12843e!important;box-shadow:none!important}
.timeline-drag-ghost img{max-width:100%}
.timeline-drag-ghost .calendar-card-preview,.timeline-drag-ghost .calendar-card-thumb{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}
.timeline-drag-ghost .calendar-card-copy{position:relative;display:flex;flex-direction:column;gap:3px}
.timeline-drag-label{position:absolute;z-index:2;max-width:calc(100vw - 24px);box-sizing:border-box;padding:9px 13px;border:1px solid #168542;border-radius:8px;background:#e8f8ed;color:#104b24;font:700 13px/1.4 system-ui,sans-serif;white-space:nowrap;box-shadow:0 4px 14px #102a2240}
.timeline-drag-label.invalid{color:#7d2635;border-color:#b67784;background:#fff0f3}
html[data-theme="dark"] .schedule-timeline,html[data-theme="dark"] .schedule-timeline .timeline-track{background-color:#111c15;color:#e6f2e9}
html[data-theme="dark"] .schedule-timeline .timeline-hour{background-image:linear-gradient(to bottom,#3b5143 0,#3b5143 1px,transparent 1px),repeating-linear-gradient(to bottom,#203127 0,#203127 1px,transparent 1px,transparent var(--timeline-step))}
html[data-theme="dark"] .schedule-timeline .timeline-axis,html[data-theme="dark"] .schedule-timeline .timeline-heading,html[data-theme="dark"] .schedule-timeline .timeline-corner{background:#18271e;color:#e6f2e9}
html[data-theme="dark"] .schedule-timeline .timeline-heading strong,html[data-theme="dark"] .schedule-timeline .timeline-axis time{color:#d0e3d6}
@media(max-width:600px){.timeline-drag-label{font-size:11px;white-space:normal}.schedule-timeline{grid-template-columns:56px repeat(var(--timeline-days),minmax(152px,1fr));min-width:calc(56px + var(--timeline-days)*152px)}.schedule-timeline.timeline-single{grid-template-columns:56px minmax(240px,1fr)}}

/* Condensed stacks posts continuously; only Expanded uses hour rows. */
.schedule-timeline.timeline-compact{grid-template-columns:repeat(var(--timeline-days),minmax(152px,1fr));min-width:calc(var(--timeline-days)*152px);min-height:100%;padding:0}
.schedule-timeline.timeline-compact.timeline-single{grid-template-columns:minmax(240px,1fr);min-width:240px}
.schedule-timeline.timeline-compact .timeline-track{display:flex;flex-direction:column;align-items:flex-start;gap:0;height:auto;min-height:112px;padding:0 var(--timeline-padding);background-image:none}
.schedule-timeline.timeline-compact .timeline-event{margin:0;padding:0;flex:none}
.timeline-compact .calendar-card-title{-webkit-line-clamp:1!important}
.timeline-compact .calendar-card-subtitle,.timeline-compact .calendar-card>small{display:none!important}
#calendar #calendarItems .timeline-compact .calendar-card-copy{min-height:0!important}

.timeline-drag-ghost{opacity:1}
.timeline-drag-ghost .calendar-card-time{display:block!important;font-size:12px!important;line-height:16px!important;font-weight:750!important}
.timeline-drag-ghost .calendar-card-title{display:block!important;overflow:hidden;font-size:12px!important;line-height:16px!important;white-space:normal!important}
.timeline-drag-ghost .calendar-card-meta{display:flex!important;align-items:center;justify-content:space-between;gap:4px;font-size:10px!important;margin-top:5px}
.timeline-drag-ghost .calendar-platform-icon,.timeline-drag-ghost .calendar-destination-icon{width:15px!important;height:15px!important}

/* Daily only: proportional thumbnail, readable copy, and aligned delivery
   details. Shared selectors also style the clone outside the calendar. */
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row{
  --daily-surface:#fff;--daily-hover:#f3faf5;--daily-text:#17241c;--daily-muted:#52665a;--daily-line:#d5e3d9;--daily-thumb:#f0f5f2;
  display:grid!important;grid-template-columns:156px minmax(0,1fr) 252px!important;grid-template-rows:minmax(0,1fr)!important;
  align-items:center!important;gap:18px!important;padding:8px 16px 8px 8px!important;
  background:var(--daily-surface)!important;color:var(--daily-text)!important;text-shadow:none!important;filter:none!important;
}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row::after{display:none!important}
:is(#calendarTab,#calendar #calendarItems) :is(.calendar-card,.calendar-post-card).calendar-daily-row:hover{background:var(--daily-hover)!important}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row :is(strong,span){text-shadow:none!important;-webkit-text-fill-color:currentColor!important}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-thumbnail{
  position:relative!important;display:grid;place-items:center;width:100%;height:100%;min-width:0;min-height:0;
  overflow:hidden;border-radius:5px;background:var(--daily-thumb);color:var(--daily-muted);isolation:isolate;
}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-thumbnail :is(img,video,.secure-media-thumb){
  display:block;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;opacity:1!important;filter:none!important;
}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-thumbnail>i{display:none}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-placeholder{font-size:13px;font-weight:650}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-content{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;overflow:hidden}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-heading{display:flex;align-items:center;gap:12px;min-width:0}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-time{display:block!important;font-size:12px!important;line-height:16px!important;font-weight:750!important;color:var(--daily-text)!important;white-space:nowrap}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-type{font-size:11px;line-height:16px;font-weight:400;color:var(--daily-muted)}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal!important;font-size:15px!important;line-height:19px!important;font-weight:750;color:var(--daily-text)!important}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;font-size:12px;line-height:16px;font-weight:400;color:var(--daily-muted)}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-content:has(.calendar-daily-caption) .calendar-daily-title{-webkit-line-clamp:1}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-delivery{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:7px;min-width:0;max-height:100%;padding-left:18px;border-left:1px solid var(--daily-line)}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-destination-label{font-size:11px;line-height:14px;font-weight:400;color:var(--daily-muted)}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-platforms{display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-platforms img{width:18px!important;height:18px!important;object-fit:contain}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-status{display:block;max-width:100%;box-sizing:border-box;padding:3px 9px;border:1px solid #88cce3;border-radius:999px;background:#eaf8fd;color:#165471;font-size:11px;line-height:14px;font-weight:700;white-space:normal;text-align:right}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-status.published{background:#e7f7ec;border-color:#88c79b;color:#11692c}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-status.failed{background:#81263a;border-color:#81263a;color:#fff}
:is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-status.publishing{background:#fff4db;border-color:#ddbc77;color:#765119}
.timeline-drag-ghost:has(.calendar-daily-row){container-type:inline-size}
html[data-theme="dark"] :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row{--daily-surface:#19271f;--daily-hover:#213529;--daily-text:#e5f1e9;--daily-muted:#b2c8ba;--daily-line:#395343;--daily-thumb:#111c16}
@container(max-width:850px){
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row{grid-template-columns:120px minmax(0,1fr) 184px!important;gap:12px!important;padding-right:12px!important}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-delivery{gap:4px;padding-left:10px}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-platforms{gap:4px}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-platforms img{width:15px!important;height:15px!important}
}
@container(max-width:600px){
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) :is(.calendar-card,.calendar-post-card).calendar-daily-row{grid-template-columns:76px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) auto!important;column-gap:10px!important;row-gap:4px!important}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-thumbnail{grid-row:1 / 3}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-content{gap:2px}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-title{font-size:13px!important;line-height:16px!important;-webkit-line-clamp:1}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-caption{-webkit-line-clamp:1}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-delivery{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-left:0;border:0}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-destination-label{display:none}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-platforms{justify-content:flex-start}
  :is(#calendarTab,#calendar #calendarItems,.timeline-drag-ghost) .calendar-daily-status{flex:0 0 auto;max-width:50%;font-size:10px;line-height:12px;padding:2px 5px}
}
