@media print {
  .schedule-modal,
  .schedule-modal[open] {
    height: 210mm !important;
    min-height: 210mm !important;
    max-height: 210mm !important;
    padding: 4mm !important;
    overflow: hidden !important;
  }

  .schedule-modal__shell {
    height: 100% !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .schedule-print-header {
    flex: 0 0 auto;
    min-height: 17mm;
    margin-bottom: 1.5mm !important;
    padding-bottom: 1.8mm !important;
  }

  .schedule-modal__viewport {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
  }

  .weekly-timeline-wrap,
  .weekly-timeline-canvas {
    height: 100% !important;
    min-height: 0 !important;
  }

  .weekly-timeline-canvas {
    display: flex !important;
    flex-direction: column !important;
    gap: 1mm !important;
  }

  .weekly-timeline-section {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .weekly-timeline-section + .weekly-timeline-section {
    margin-top: 0 !important;
  }

  .weekly-timeline-section__head,
  .weekly-timeline__header {
    flex: 0 0 auto !important;
  }

  .weekly-timeline-section .weekly-timeline {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .weekly-timeline__body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  .weekly-timeline__time-axis,
  .weekly-timeline__day-track {
    height: 100% !important;
  }

  .weekly-timeline-section .weekly-session {
    top: calc((var(--start-slot) * 100% / var(--timeline-slots)) + 1px) !important;
    height: max(calc((var(--duration-slots) * 100% / var(--timeline-slots)) - 2px), 18px) !important;
  }

  .weekly-timeline__time {
    top: calc(var(--slot) * 100% / var(--timeline-slots)) !important;
  }

  .schedule-print-footer {
    flex: 0 0 10.5mm !important;
    min-height: 10.5mm !important;
    height: 10.5mm !important;
    margin-top: 0.4mm !important;
  }

  .schedule-print-footer__included {
    border-left: 0 !important;
    border-top: 0 !important;
    background: #fff !important;
    color: #111 !important;
    padding: 1.7mm 1.8mm !important;
    gap: 1.6mm !important;
  }

  .schedule-print-footer__included .schedule-print-footer__icon {
    width: 6mm !important;
    height: 6mm !important;
    border: 0.3mm solid #222 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 9pt !important;
  }

  .schedule-print-footer__included .schedule-print-footer__icon--trophy {
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  .schedule-print-footer__included .schedule-print-footer__icon--trophy::before {
    content: "✓";
    display: block;
    color: #111;
    font-size: 11pt;
    font-weight: 900;
    line-height: 1;
  }

  .schedule-print-footer__included strong {
    color: #111 !important;
    font-size: 9pt !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
}
