.report-page {
  margin:0;
  background:#edf3f8;
  color:#0f1d2e;
  font-family:Inter,"Segoe UI",Arial,sans-serif
}
.calculation-report {
  color:#0f1d2e;
  font-size:14px;
  line-height:1.5;
  min-width:0
}
.report-page .calculation-report {
  width:min(980px,calc(100% - 32px));
  margin:24px auto 48px
}
.calculation-report * {
  box-sizing:border-box
}
.calculation-report .report-hero {
  padding:28px;
  background:#0d3f7a;
  color:white;
  border-radius:18px
}
.calculation-report h1 {
  font-size:clamp(24px,4vw,40px);
  line-height:1.15;
  margin:12px 0;
  overflow-wrap:anywhere
}
.calculation-report .report-kpis {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:16px 0
}
.calculation-report .report-kpis article {
  padding:18px;
  background:#fff;
  border:1px solid #c8d5e2;
  border-radius:12px
}
.calculation-report .report-kpis span {
  display:block;
  font-size:12px;
  color:#405368
}
.calculation-report .report-kpis strong {
  display:block;
  margin-top:8px;
  font-size:clamp(18px,2.5vw,26px);
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere
}
.calculation-report .report-section {
  padding:20px;
  margin:12px 0;
  background:#fff;
  border:1px solid #c8d5e2;
  border-radius:12px
}
.calculation-report h2 {
  font-size:18px;
  color:#0d3f7a;
  margin:0 0 12px;
  line-height:1.4
}
.calculation-report dl {
  margin:0
}
.calculation-report .report-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(100px,auto);
  gap:16px;
  padding:9px 0;
  border-top:1px solid #dde5ed
}
.calculation-report dt {
  color:#405368;
  overflow-wrap:anywhere
}
.calculation-report dd {
  margin:0;
  text-align:right;
  font-weight:650;
  font-variant-numeric:tabular-nums
}
.calculation-report .report-note {
  font-size:12px;
  color:#405368;
  margin-top:12px
}
.calculation-report .report-warning {
  padding:14px;
  background:#fff4cf;
  color:#634b0c;
  border-radius:10px
}
.calculation-report .report-comment {
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.calculation-report .report-floor-plan {
  display:block;
  max-width:100%;
  max-height:640px;
  object-fit:contain;
  margin:auto
}
.calculation-report .report-table-scroll {
  overflow-x:auto
}
.calculation-report table {
  border-collapse:collapse;
  width:100%;
  font-size:12px
}
.calculation-report th,.calculation-report td {
  padding:8px;
  text-align:right;
  border-bottom:1px solid #dde5ed
}
.calculation-report th {
  color:#405368
}
.calculation-report .report-download {
  display:inline-block;
  color:#0d3f7a;
  background:#fff;
  padding:10px 18px;
  border-radius:8px;
  font-weight:650;
  text-decoration:none
}
.calculation-report :focus-visible {
  outline:3px solid #c9a84c;
  outline-offset:3px
}
.calc-report-dialog {
  padding:0;
  width:min(1100px,96vw);
  max-width:96vw;
  height:92vh;
  max-height:92vh;
  border:0;
  border-radius:14px
}
.calc-report-dialog::backdrop {
  background:rgba(15,29,46,.65)
}
.calc-report-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  background:#fff
}
.calc-report-toolbar h2 {
  font-size:16px;
  margin:0
}
.calc-report-dialog iframe {
  display:block;
  width:100%;
  height:calc(100% - 66px);
  border:0;
  background:#edf3f8
}
.calc-attachment {
  grid-column:1/-1
}
.calc-attachment img {
  max-width:100%;
  max-height:180px;
  object-fit:contain
}
.calc-attachment p {
  margin:8px 0
}
.calc-field-help {
  grid-column:1/-1;
  font-size:12px;
  color:#405368
}
.calc-comment-field {
  grid-column:1/-1
}
.calc-comment-field textarea {
  width:100%;
  min-height:100px;
  resize:vertical
}
.calc-field input:focus-visible,.calc-comment-field textarea:focus-visible {
  outline:none;
  outline-offset:0
}
@media(max-width:600px) {
  .calculation-report .report-kpis {
    grid-template-columns:1fr
  }
  .calculation-report .report-section {
    padding:14px
  }
  .calculation-report .report-row {
    grid-template-columns:1fr;
    gap:3px
  }
  .calculation-report dd {
    text-align:left
  }
  .report-page .calculation-report {
    width:calc(100% - 20px);
    margin-top:10px
  }
  .calc-report-toolbar {
    flex-wrap:wrap
  }
  .calc-report-dialog iframe {
    height:calc(100% - 92px)
  }
}
@media print {
  .report-page {
    background:white
  }
  .report-page .calculation-report {
    width:100%;
    margin:0
  }
  .calculation-report .report-section {
    border-radius:0
  }
  .calculation-report .report-download {
    display:none
  }
  .calculation-report h2 {
    break-after:avoid
  }
  .calculation-report .report-row {
    break-inside:avoid
  }
  .calculation-report .report-kpis {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
.calc-attachment [hidden] {
  display:none!important
}
