/* Presentation only. Scoped to the unlocked campaign page, including the
   older production markup. Do not hide controls, limits or risk notices. */
.schedule-page--campaign-dispatch .schedule-shell-frame {
  box-sizing: border-box;
  width: 100%;
  max-width: 1024px;
  margin-inline: auto;
  padding: 32px !important;
  gap: 24px !important;
}
:root.light .schedule-page--campaign-dispatch {
  --schedule-bg: #f7f9fc;
}
.schedule-page--campaign-dispatch .schedule-shell {
  background: var(--schedule-bg) !important;
  box-shadow: none !important;
}
.schedule-page--campaign-dispatch .schedule-topbar {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--schedule-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.schedule-page--campaign-dispatch .schedule-topbar__title {
  font-size: 20px !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)) !important;
  gap: 24px !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .schedule-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.schedule-page--campaign-dispatch .schedule-stat-card {
  padding: 11px 14px !important;
  border-radius: 8px !important;
  background: var(--schedule-surface) !important;
  box-shadow: none !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid > .schedule-surface {
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid > .schedule-surface > .grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* The queue counters keep their two columns; only the campaign form stacks. */
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid > .schedule-surface:last-child > .grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.schedule-page--campaign-dispatch .schedule-section-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.schedule-page--campaign-dispatch .schedule-form-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.schedule-page--campaign-dispatch .schedule-input {
  border-radius: 6px !important;
  box-shadow: none !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid > .schedule-surface:first-child > .grid > .space-y-7 > .space-y-2 > .grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.schedule-page--campaign-dispatch .schedule-shell-frame > .grid > .schedule-surface:last-child > .space-y-3 {
  min-height: 176px;
  padding: 16px;
  border: 1px solid var(--schedule-border);
  border-radius: 8px;
}
@media (max-width: 640px) {
  .schedule-page--campaign-dispatch .schedule-shell-frame {
    padding: 16px !important;
  }
  .schedule-page--campaign-dispatch .schedule-stat-card {
    min-width: 0;
    padding: 9px 10px !important;
  }
  .schedule-page--campaign-dispatch .schedule-stat-label {
    white-space: normal;
  }
}
