.report-page {
  background: #efede7;
}

.report-header {
  border-bottom: 1px solid rgba(17, 42, 64, 0.12);
  background: rgba(255, 253, 249, 0.86);
}

.report-header .nav-wrap > span {
  color: #637985;
  font-size: 12px;
}

.report-header button {
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  color: white;
  background: #112a40;
  cursor: pointer;
  font-weight: 700;
}

.report-main {
  padding: 50px 0 90px;
}

.report-loading,
.report-error {
  padding: 80px 20px;
  text-align: center;
  color: #58717e;
}

.report-cover {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  min-height: 480px;
  padding: 64px;
  align-items: end;
  border-radius: 32px;
  color: white;
  background:
    radial-gradient(circle at 92% 8%, rgba(118, 214, 212, 0.25), transparent 28%),
    radial-gradient(circle at 0 100%, rgba(244, 139, 108, 0.21), transparent 33%),
    #112a40;
}

.report-cover h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(52px, 6.5vw, 86px);
}

.report-cover p {
  margin: 25px 0 0;
  color: #a9c0cb;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.cover-score {
  display: flex;
  flex-direction: column;
  min-width: 230px;
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.07);
}

.cover-score > span {
  color: #9eb5c0;
  font-size: 11px;
}

.cover-score b {
  margin: 12px 0 7px;
  font-size: 66px;
  line-height: 1;
  letter-spacing: -0.06em;
}

.cover-score small {
  font-size: 16px;
}

.cover-score em {
  color: #76d6d4;
  font-size: 11px;
  font-style: normal;
}

.report-summary,
.report-block,
.report-methodology,
.report-next {
  margin-top: 22px;
  padding: 50px;
  border-radius: 26px;
  background: #fffdf9;
}

.report-summary h2,
.report-block h2,
.report-next h2 {
  margin-bottom: 20px;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.2;
  letter-spacing: -0.05em;
}

.report-meta {
  display: grid;
  grid-template-columns: 1.5fr 1fr 0.7fr;
  gap: 1px;
  overflow: hidden;
  margin-top: 36px;
  border: 1px solid rgba(17, 42, 64, 0.12);
  border-radius: 14px;
  background: rgba(17, 42, 64, 0.12);
}

.report-meta span {
  display: flex;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
  padding: 18px;
  background: #fffdf9;
  color: #748690;
  font-size: 10px;
}

.report-meta b {
  overflow: hidden;
  color: #112a40;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.report-block-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(17, 42, 64, 0.12);
}

.report-block-head h2 {
  margin: 0;
}

.report-block-head > p {
  max-width: 300px;
  margin: 0;
  color: #667b86;
  font-size: 12px;
}

.module-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 1fr 70px;
  gap: 28px;
  align-items: center;
  padding: 22px 0;
  border-bottom: 1px solid rgba(17, 42, 64, 0.09);
}

.module-row h3,
.full-issue h3,
.unassessed-row h3 {
  margin: 0 0 6px;
  font-size: 15px;
}

.module-row p,
.full-issue p,
.unassessed-row p {
  margin: 0;
  color: #687c86;
  font-size: 11px;
  line-height: 1.6;
}

.module-bar {
  height: 7px;
  overflow: hidden;
  border-radius: 99px;
  background: #e8e6df;
}

.module-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #31aaa9, #76d6d4);
}

.module-row > b {
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}

.full-issue-list {
  display: grid;
  gap: 12px;
}

.full-issue {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(17, 42, 64, 0.12);
  border-radius: 16px;
}

.full-issue > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 12px;
  color: #a64b38;
  background: rgba(244, 139, 108, 0.16);
  font-size: 11px;
  font-weight: 900;
}

.full-issue strong {
  display: block;
  margin-top: 12px;
  color: #285f66;
  font-size: 12px;
  line-height: 1.65;
}

.full-issue small {
  display: block;
  margin-top: 9px;
  color: #89979d;
  font-size: 10px;
  line-height: 1.5;
}

.unassessed-block {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 50px;
  color: white;
  background: #112a40;
}

.unassessed-block h2 {
  color: white;
}

.unassessed-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.unassessed-row h3 {
  color: white;
}

.unassessed-row p {
  color: #9db2bd;
}

.unassessed-row > span {
  flex: 0 0 auto;
  align-self: start;
  padding: 6px 10px;
  border-radius: 999px;
  color: #76d6d4;
  background: rgba(118, 214, 212, 0.1);
  font-size: 10px;
  font-weight: 800;
}

.report-methodology {
  color: #617681;
  font-size: 11px;
  line-height: 1.75;
}

.report-methodology b {
  color: #112a40;
}

.report-methodology p {
  margin: 9px 0 0;
}

.report-next {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
  background: #dcefed;
}

.report-next > div {
  max-width: 760px;
}

.report-next p {
  margin: 0;
  color: #4d6973;
  line-height: 1.75;
}

.report-next a {
  flex: 0 0 auto;
  padding: 16px 20px;
  border-radius: 12px;
  color: white;
  background: #112a40;
  font-weight: 800;
}

@media (max-width: 760px) {
  .report-header .nav-wrap > span {
    display: none;
  }

  .report-cover {
    grid-template-columns: 1fr;
    padding: 35px 25px;
  }

  .cover-score {
    min-width: 0;
  }

  .report-summary,
  .report-block,
  .report-methodology,
  .report-next {
    padding: 30px 22px;
  }

  .report-meta,
  .unassessed-block {
    grid-template-columns: 1fr;
  }

  .report-block-head,
  .report-next {
    align-items: flex-start;
    flex-direction: column;
  }

  .module-row {
    grid-template-columns: 1fr 55px;
    gap: 14px;
  }

  .module-bar {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media print {
  body::before,
  .report-header,
  .report-next {
    display: none !important;
  }

  .report-page {
    background: white;
  }

  .report-main {
    width: 100%;
    padding: 0;
  }

  .report-cover,
  .report-summary,
  .report-block,
  .report-methodology {
    break-inside: avoid;
    box-shadow: none;
  }
}

