#scheduleReportModal {
  position: fixed;
  inset: 0;
  z-index: 24000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 30, 48, 0.56);
  padding: 20px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.schedule-report-dialog {
  display: flex;
  width: min(1180px, 100%);
  max-height: 94vh;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #bfcddd;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 30px 100px rgba(10, 24, 41, 0.34);
  color: #102033;
  backdrop-filter: saturate(145%) blur(24px);
  -webkit-backdrop-filter: saturate(145%) blur(24px);
}

.schedule-report-dialog > header {
  display: flex;
  flex: 0 0 auto;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #d6e0eb;
  background: rgba(248, 251, 255, 0.88);
  padding: 16px 18px;
}

.schedule-report-dialog > header span {
  color: #1262e8;
  font-size: 12px;
  font-weight: 900;
}

.schedule-report-dialog h2 {
  margin: 3px 0 0;
  color: #102033;
  font-size: 21px;
  line-height: 1.35;
}

.schedule-report-close {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid #cbd7e5;
  border-radius: 7px;
  background: #ffffff;
  color: #52657c;
  font-size: 22px;
  cursor: pointer;
}

.schedule-report-preview {
  min-height: 0;
  flex: 1;
  overflow: auto;
  overscroll-behavior: contain;
  background: #e8eef5;
  padding: 16px;
}

.schedule-report-preview img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #c5d2e1;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 16px 42px rgba(27, 49, 75, 0.14);
}

.schedule-report-dialog > footer {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #d6e0eb;
  background: #ffffff;
  padding: 12px 18px;
}

.schedule-report-status {
  min-width: 0;
  flex: 1;
  color: #52657c;
  font-size: 12px;
  font-weight: 700;
}

.schedule-report-dialog footer button {
  height: 39px;
  border: 1px solid #bccbdd;
  border-radius: 7px;
  background: #ffffff;
  padding: 0 14px;
  color: #334a64;
  font-family: inherit;
  font-weight: 900;
  cursor: pointer;
}

.schedule-report-dialog footer button[data-report-download] {
  border-color: #1262e8;
  background: #1262e8;
  color: #ffffff;
}

.schedule-report-dialog footer button[data-report-print] {
  border-color: #243349;
  background: #243349;
  color: #ffffff;
}

.schedule-report-dialog footer button:disabled {
  cursor: wait;
  opacity: 0.48;
}

@media (max-width: 640px) {
  #scheduleReportModal {
    align-items: flex-end;
    padding: 0;
  }

  .schedule-report-dialog {
    max-height: 96dvh;
    border-radius: 8px 8px 0 0;
  }

  .schedule-report-dialog > header,
  .schedule-report-preview,
  .schedule-report-dialog > footer {
    padding: 12px;
  }

  .schedule-report-dialog h2 {
    font-size: 17px;
  }

  .schedule-report-dialog > footer {
    flex-wrap: wrap;
  }

  .schedule-report-status {
    width: 100%;
    flex-basis: 100%;
  }

  .schedule-report-dialog footer button {
    flex: 1;
    padding: 0 9px;
  }
}
