@page {
  size: A4 portrait;
  margin: 14mm 13mm 17mm;
  background: #fff;
}

:root {
  color-scheme: light !important;
}

*,
*::before,
*::after {
  box-shadow: none !important;
  text-shadow: none !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

html,
body {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: #142133 !important;
  font-size: 9.2pt;
  line-height: 1.36;
}

.site-header,
.site-footer,
.update-banner,
.storage-warning,
.screen > .screen-actions,
.sidebar-nav,
.report-controls,
.no-print,
.skip-link {
  display: none !important;
}

.app-shell,
.main-content,
.screen,
.report-shell,
.split-layout,
.content-stack {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

.report-shell > .screen-header {
  position: relative;
  min-height: 54mm;
  margin: 0 0 7mm !important;
  padding: 10mm 48mm 9mm 10mm;
  overflow: hidden !important;
  border: 0;
  border-bottom: 1.5mm solid #d9a247;
  background:
    radial-gradient(circle at 80% 12%, rgba(245, 199, 111, 0.16), transparent 35%),
    #071321 !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

.report-shell > .screen-header::after {
  position: absolute;
  top: 7mm;
  right: 8mm;
  width: 33mm;
  height: 33mm;
  border: 0.35mm solid #d9a247;
  border-radius: 50%;
  background:
    #071321 url("../img/arvore-tellus-benjamin.png") center / cover no-repeat !important;
  content: "";
}

.report-shell > .screen-header h1 {
  max-width: 118mm;
  color: #fff8ea !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24pt;
  line-height: 1.03;
}

.report-shell > .screen-header .eyebrow {
  margin-bottom: 3mm;
  color: #f5c76f !important;
  font-size: 7.4pt;
  letter-spacing: 0.13em;
}

.report-shell > .screen-header p:not(.eyebrow) {
  max-width: 118mm;
  margin-top: 4mm;
  color: #d6e0ec !important;
  font-size: 8pt;
}

[data-screen-title] {
  outline: none !important;
}

.report-section,
.report-section[hidden] {
  display: block !important;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible !important;
}

.report-section[data-report-section="dimensions"],
.report-section[data-report-section="relations"],
.report-section[data-report-section="answers"],
.report-section[data-report-section="methodology"],
.report-section[data-report-section="references"] {
  break-before: page;
  page-break-before: always;
}

h1,
h2,
h3,
h4 {
  color: #142133 !important;
  font-family: Georgia, "Times New Roman", serif;
  break-after: avoid;
  page-break-after: avoid;
}

h2 {
  margin: 0 0 4mm;
  padding-bottom: 2mm;
  border-bottom: 0.45mm solid #d9a247;
  font-size: 17pt;
}

h3 {
  margin: 0 0 1.6mm;
  font-size: 11.5pt;
}

p,
li,
dt,
dd,
th,
td {
  orphans: 3;
  widows: 3;
}

.lead {
  color: #233b57 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 11.5pt;
  line-height: 1.42;
}

.report-section > * + * {
  margin-top: 3mm;
}

.card,
.notice,
.data-table-wrap {
  border: 0.25mm solid #d7e0e8 !important;
  border-radius: 3mm;
  background: #fff !important;
  color: #142133 !important;
}

.card {
  display: block !important;
  margin: 0 0 3mm;
  padding: 3.2mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

.card-accent {
  border-top: 1mm solid #d9a247 !important;
}

.card > * + * {
  margin-top: 2.2mm;
}

.notice {
  display: block !important;
  margin: 3mm 0;
  padding: 3mm 3.5mm;
  border-left: 1mm solid #315776 !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

.notice strong {
  color: #142133 !important;
}

.score-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3mm 4mm;
  margin-top: 5mm !important;
}

.score-row {
  display: grid !important;
  gap: 1.2mm;
  padding: 2.5mm 3mm;
  border: 0.25mm solid #d7e0e8;
  border-radius: 2.5mm;
  background: #f7f9fb !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

.score-heading {
  display: flex !important;
  align-items: baseline;
  justify-content: space-between;
  gap: 2mm;
}

.score-heading strong,
.score-heading h3 {
  color: #142133 !important;
}

.score-heading span {
  color: #52657a !important;
  font-size: 7.8pt;
  white-space: nowrap;
}

.score-track {
  height: 2.3mm;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #dce5ed !important;
}

.score-value {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #9e702d, #d9a247) !important;
}

.score-scale {
  color: #617286 !important;
  font-size: 6.7pt;
}

.report-section[data-report-section="overview"] > .data-table-wrap {
  display: none !important;
}

.feedback-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4mm 4mm;
}

.feedback-item {
  display: block !important;
  margin: 0;
  padding: 0;
  border: 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

.feedback-item:last-child {
  grid-column: 1 / -1;
}

.feedback-item dt {
  margin-bottom: 0.6mm;
  color: #9e702d !important;
  font-size: 6.8pt;
  letter-spacing: 0.07em;
}

.feedback-item dd {
  color: #142133 !important;
  font-size: 8.2pt;
  line-height: 1.3;
}

.report-section[data-report-section="dimensions"] details {
  display: none !important;
}

.report-section[data-report-section="dimensions"] .card {
  margin-bottom: 2.2mm;
  padding: 2.5mm 3mm;
}

.report-section[data-report-section="dimensions"] .card > * + * {
  margin-top: 1.6mm;
}

.report-section[data-report-section="dimensions"] .card > p {
  font-size: 7.8pt;
  line-height: 1.25;
}

.report-section[data-report-section="dimensions"] .feedback-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.2mm;
}

.report-section[data-report-section="dimensions"] .feedback-item:last-child {
  grid-column: auto;
}

.report-section[data-report-section="dimensions"] .feedback-item dd {
  font-size: 7.35pt;
  line-height: 1.22;
}

.report-section[data-report-section="relations"] .card,
.report-section[data-report-section="practices"] .card {
  padding: 3.4mm 4mm;
}

.tag {
  padding: 0;
  background: transparent !important;
  color: #9e702d !important;
  font-size: 7pt;
}

.answer-list {
  display: none !important;
}

.answers-print-only {
  display: block !important;
  margin-top: 4mm !important;
  overflow: visible !important;
}

.data-table-wrap {
  width: 100%;
  overflow: visible !important;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff !important;
  color: #142133 !important;
}

.data-table thead {
  display: table-header-group;
}

.data-table th,
.data-table td {
  padding: 1.8mm 2mm;
  border: 0.2mm solid #d7e0e8;
  color: #142133 !important;
  text-align: left;
  vertical-align: top;
}

.data-table thead th {
  background: #0b2137 !important;
  color: #fff8ea !important;
  font-weight: 700;
}

.data-table tr {
  break-inside: avoid;
  page-break-inside: avoid;
}

.answers-summary-table {
  table-layout: fixed;
  font-size: 7.1pt;
  line-height: 1.24;
}

.answers-summary-table th:nth-child(1) {
  width: 6%;
}

.answers-summary-table th:nth-child(2) {
  width: 17%;
}

.answers-summary-table th:nth-child(3),
.answers-summary-table th:nth-child(5) {
  width: 31%;
}

.answers-summary-table th:nth-child(4) {
  width: 15%;
}

.report-section[data-report-section="methodology"] {
  font-size: 8.5pt;
}

.report-section[data-report-section="methodology"] h3 {
  margin-top: 4mm;
}

.report-section[data-report-section="methodology"] ul {
  display: grid;
  gap: 1.2mm;
}

.report-section[data-report-section="references"] {
  font-size: 7.3pt;
  line-height: 1.25;
}

.reference-list {
  display: block !important;
  padding-left: 4.5mm;
  columns: 2;
  column-gap: 8mm;
}

.reference-list li {
  margin: 0 0 2mm;
  padding-left: 1mm;
  break-inside: avoid;
  page-break-inside: avoid;
}

a {
  color: #142133 !important;
  text-decoration: none;
}

.print-page-break {
  break-before: page;
  page-break-before: always;
}
