.upload-progress {
  display: grid;
  gap: 7px;
  width: min(100%, 420px);
  margin-top: 10px;
}
.upload-progress[hidden] { display: none; }
.upload-progress-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #173247;
  font-size: 13px;
  font-weight: 750;
}
.upload-progress-track {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe8ee;
}
.upload-progress-bar {
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #246ea5;
  transition: width .15s ease;
}
.upload-progress.is-error .upload-progress-head { color: #9b241c; }
.upload-progress.is-error .upload-progress-bar { background: #b42318; }
.upload-progress.is-processing .upload-progress-bar {
  animation: upload-processing 1s ease-in-out infinite alternate;
}
@keyframes upload-processing {
  from { opacity: .45; }
  to { opacity: 1; }
}
.upload-form.is-uploading input,
.upload-form.is-uploading button { pointer-events: none; opacity: .68; }
@media (max-width: 760px) {
  .dashboard-page {
    padding-top: 24px;
  }
  .dashboard-page > .page-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
  }
  .dashboard-page > .page-heading h1 {
    margin: 0 0 5px;
    font-size: 32px;
    line-height: 1.08;
  }
  .dashboard-page > .page-heading p {
    margin: 0;
    color: #173247;
    font-size: 19px;
    font-weight: 750;
    line-height: 1.25;
  }
  .dashboard-page > .page-heading .button {
    align-self: end;
    padding: 12px 17px;
  }
  .dashboard-page .consultation-card {
    position: relative;
  }
  .dashboard-page .consultation-card::before {
    content: "→";
    position: absolute;
    top: 18px;
    left: 18px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e23b32;
    color: #fff;
    box-shadow: 0 8px 18px rgba(226, 59, 50, .28);
    font-size: 21px;
    font-weight: 800;
  }
  .dashboard-page .consultation-card > .list-row:first-child h2 {
    max-width: 100%;
    padding-left: 52px;
    margin: 0 0 8px;
    font-size: 24px;
    line-height: 1.18;
    letter-spacing: 0;
    overflow-wrap: break-word;
  }
  .dashboard-page .consultation-doctor {
    display: grid;
    gap: 2px;
    margin: 11px 0 8px 52px;
  }
  .dashboard-page .consultation-doctor strong {
    display: block;
    color: #173247;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.25;
  }
  .dashboard-page .consultation-doctor span {
    display: block;
    color: #667985;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .dashboard-page .consultation-time {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 11px;
    color: #173247;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.3;
  }
  .dashboard-page .consultation-time::before {
    content: "\25F7";
    color: #e23b32;
    font-size: 18px;
  }
  .upload-form { align-items: stretch; flex-direction: column; }
  .upload-form input, .upload-form button, .upload-progress { width: 100%; max-width: 100%; }
}
