.report-page { color: #20352e; max-width: 1240px; padding-top: 34px; padding-bottom: 8px; }
.report-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; margin-bottom: 24px; }
.report-heading h1 { margin: 0 0 9px; font-size: 30px; font-weight: 650; letter-spacing: -.035em; line-height: 1.25; }
.report-heading p { max-width: 700px; margin: 0; font-size: 15px; line-height: 1.6; color: #52645b; }
.report-heading p a { color: #245e46; text-decoration: underline; text-underline-offset: 3px; }
.report-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 2px; }
.report-actions .button { min-height: 40px; padding: 9px 14px; font-size: 14px; font-weight: 500; }
.report-progress { display: flex; gap: 10px; align-items: center; min-height: 34px; margin-bottom: 16px; color: #355f4c; font-size: 14px; }
.report-spinner { width: 15px; height: 15px; border: 2px solid #d3e2d7; border-top-color: #287557; border-radius: 50%; animation: report-spin .8s linear infinite; flex-shrink: 0; }
@keyframes report-spin { to { transform: rotate(360deg); } }
.report-error { color: #893b2c; background: #fff4ef; border: 1px solid #e9cbc0; border-radius: 6px; padding: 14px 18px; margin-block: 0 20px; font-size: 15px; line-height: 1.65; }
.report-comparison { margin: 0 0 22px; padding: 19px 22px; border: 1px solid #d7e2d9; border-left: 4px solid #708a7b; border-radius: 5px; background: #fff; }
.report-comparison h3 { margin: 0 0 7px; color: #244e3b; font-size: 22px; font-weight: 650; letter-spacing: -.02em; line-height: 1.4; }
.report-comparison p { margin: 0; max-width: 1040px; color: #4e6256; font-size: 15px; line-height: 1.65; }
.report-comparison[data-result="unique"] { background: #f3faf4; border-color: #c6ddca; border-left-color: #32814c; }
.report-comparison[data-result="unique"] h3 { color: #26743c; }
.report-comparison[data-result="shared"] { background: #fffbf1; border-color: #e8dbb8; border-left-color: #a77816; }
.report-comparison[data-result="shared"] h3 { color: #775615; }
.report-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 18px; margin-bottom: 4px; }
.report-overview-card { display: grid; grid-template-rows: subgrid; grid-row: span 7; justify-items: center; align-items: center; min-width: 0; margin-bottom: 18px; padding: 21px 18px 16px; background: #fff; border: 1px solid #d7e1d9; border-radius: 6px; text-align: center; }
.report-overview-label { grid-row: 1; color: #52665a; font-size: 14px; line-height: 1.5; }
.report-overview-card h3 { grid-row: 2; margin: 6px 0 0; color: #183f30; font-size: 22px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; overflow-wrap: anywhere; }
.report-overview-detail { grid-row: 3; min-height: 21px; margin: 5px 0 0; color: #52665a; font-size: 14px; line-height: 1.5; }
.report-overview-icon { grid-row: 4; width: 64px; height: 64px; margin: 18px 0; color: #397960; flex-shrink: 0; }
.report-overview-frequency { grid-row: 5; display: flex; justify-content: center; align-items: baseline; flex-wrap: wrap; gap: 5px; margin-top: 0; color: #55675c; font-size: 13px; line-height: 1.6; }
.report-overview-frequency strong { color: #213d2d; font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; }
.report-overview-card meter { grid-row: 6; display: block; width: 100%; height: 10px; margin-top: 9px; appearance: none; border: 0; border-radius: 3px; background: #e8eeea; overflow: hidden; }
.report-overview-card meter::-webkit-meter-bar { height: 10px; border: 0; border-radius: 3px; background: #e8eeea; box-shadow: none; }
.report-overview-card meter::-webkit-meter-optimum-value { background: #418457; }
.report-overview-card meter::-webkit-meter-suboptimum-value { background: #c3912f; }
.report-overview-card meter::-webkit-meter-even-less-good-value { background: #c96550; }
.report-overview-card meter::-moz-meter-bar { background: #418457; border: 0; border-radius: 2px; }
.report-overview-card meter:-moz-meter-sub-optimum::-moz-meter-bar { background: #c3912f; }
.report-overview-card meter:-moz-meter-sub-sub-optimum::-moz-meter-bar { background: #c96550; }
.report-overview-count { grid-row: 7; min-height: 20px; margin: 8px 0 0; color: #596b5f; font-size: 13px; line-height: 1.5; }
.report-summary { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 20px; margin: 0; padding: 16px 0; border-block: 1px solid #d9e1d9; }
.report-summary > div { display: grid; align-content: start; gap: 5px; }
.report-summary dt { color: #52645a; font-size: 14px; line-height: 1.5; }
.report-summary dd { margin: 0; color: #234831; font-size: 23px; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.report-meta { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-block: 11px 27px; color: #627166; font-size: 13px; line-height: 1.6; }
.report-meta code { font-size: 13px; }
.report-network { border: 1px solid #d6e0d7; background: #fff; border-radius: 6px; margin-bottom: 28px; overflow: hidden; }
.report-network h2 { margin: 0; padding: 16px 20px; border-bottom: 1px solid #dfe7e0; color: #234b37; font-size: 18px; line-height: 1.4; font-weight: 650; letter-spacing: -.015em; }
.report-network-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 0; padding: 20px; }
.report-network-values dt { margin-bottom: 7px; color: #52675a; font-size: 13px; line-height: 1.5; }
.report-network-values dd { margin: 0; color: #203d2e; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.report-network-values > div:first-child dd { font-family: Consolas, 'Liberation Mono', monospace; }
.report-attributes { border: 1px solid #d6e0d7; border-radius: 6px; background: #fff; overflow: hidden; }
.report-table-heading { display: flex; gap: 15px; align-items: center; justify-content: space-between; padding: 18px 20px; }
.report-table-heading h2 { margin: 0; color: #234b37; font-size: 20px; font-weight: 650; letter-spacing: -.02em; }
.report-table-heading > span { color: #53685b; font-size: 13px; }
.report-filters { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; padding: 0 20px 18px; }
.report-search { display: block; flex: 1 1 280px; }
.report-search input, .report-category select { border: 1px solid #cbd8cd; border-radius: 4px; min-height: 42px; background: #fff; font-size: 14px; color: #243e2f; padding: 9px 12px; }
.report-search input { width: 100%; }
.report-search input::placeholder { color: #66796b; opacity: 1; }
.report-category select { min-width: 175px; }
.report-checkbox { display: inline-flex; align-items: center; gap: 8px; color: #3c5646; font-size: 14px; line-height: 1.6; }
.report-checkbox input { width: 16px; height: 16px; accent-color: #316947; flex-shrink: 0; margin: 0; }
.report-filters > .report-checkbox { margin-left: auto; }
.report-table-scroll { width: 100%; overflow-x: auto; }
.report-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.report-table th { padding: 13px 20px; background: #eef3ee; border-block: 1px solid #dbe4db; color: #324f3c; text-align: left; font-size: 14px; font-weight: 650; text-transform: none; letter-spacing: 0; }
.report-table thead th:nth-child(1) { width: 30%; }
.report-table thead th:nth-child(2) { width: 18%; }
.report-table thead th:nth-child(3) { width: 52%; }
.report-table td { vertical-align: top; padding: 16px 20px; border-bottom: 1px solid #dfe6de; color: #263e30; font-size: 15px; line-height: 1.65; white-space: normal; overflow-wrap: anywhere; }
.report-table tbody tr:last-child td { border-bottom: 0; }
.report-table tbody tr:not(.report-group-row):nth-child(odd) { background: #fafcf9; }
.report-table tbody tr:not(.report-group-row):hover { background: #f2f7ef; }
.report-table .report-group-row th, .report-table .report-group-row td { padding: 13px 20px; border: 0; background: #245b48; color: #fff; text-align: left; font-size: 15px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.report-table .fp-attribute-label, .report-table .report-attribute-label { display: block; font-size: 15px; font-weight: 600; color: #263f2e; }
.report-table .fp-attribute-description, .report-table .report-attribute-description { display: block; font-size: 13px; color: #536b59; line-height: 1.65; margin-top: 5px; }
.report-table .fp-attribute-meta, .report-table .report-attribute-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.report-table .fp-attribute-meta span, .report-table .report-attribute-meta span { font-size: 12px; background: #edf3e8; color: #496240; border-radius: 3px; padding: 2px 6px; }
.report-table .fp-attribute-value, .report-table .report-attribute-value { display: block; white-space: pre-wrap; font: 14px/1.75 Consolas, 'Liberation Mono', monospace; color: #233e2c; overflow-wrap: anywhere; word-break: break-word; }
.report-table .is-unavailable { color: #657265; font: 14px/1.7 'Segoe UI', sans-serif; }
.report-ratio { display: inline-block; min-width: 65px; padding: 4px 10px; border: 1px solid #dce4dc; border-radius: 18px; background: #eff3ed; color: #40583f; text-align: center; font-size: 14px; font-weight: 650; line-height: 1.5; font-variant-numeric: tabular-nums; white-space: nowrap; }
.report-ratio.is-rare { background: #fbeae4; border-color: #efd0c5; color: #9b3d29; }
.report-ratio.is-uncommon { background: #fff3d8; border-color: #eddaaa; color: #7b5609; }
.report-ratio.is-common { background: #e6f3e7; border-color: #c8e3cb; color: #2b6e38; }
.report-table .fp-comparison-value, .report-table .report-comparison-value { display: block; color: #315b39; font-size: 15px; font-weight: 600; }
.report-table .fp-comparison-note, .report-table .report-comparison-note { display: block; color: #596d5c; font-size: 12px; line-height: 1.6; margin-top: 5px; }
.report-attribute-detail { margin-top: 6px; color: #556c5a; font-size: 13px; line-height: 1.6; }
.report-attribute-detail summary { width: fit-content; cursor: pointer; color: #466750; text-underline-offset: 3px; }
.report-attribute-detail summary:hover { text-decoration: underline; }
.report-attribute-detail p { margin: 7px 0 0; color: #52685a; font-size: 13px; line-height: 1.65; }
.report-empty { text-align: center; padding: 26px 20px; font-size: 15px; margin: 0; color: #52664f; }
@media (max-width: 1000px) {
  .report-heading { flex-direction: column; gap: 16px; }
  .report-actions { justify-content: flex-start; }
  .report-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; margin-bottom: 6px; }
  .report-overview-card { padding-inline: 24px; margin-bottom: 16px; }
  .report-overview-icon { margin-block: 14px; }
  .report-network-values { grid-template-columns: 1fr 1fr; }
  .report-table { min-width: 760px; }
}
@media (max-width: 650px) {
  .report-page { padding-top: 26px; }
  .report-heading h1 { font-size: 27px; }
  .report-heading p { font-size: 14px; }
  .report-actions .button { min-height: 42px; }
  .report-comparison { padding: 16px; }
  .report-comparison h3 { font-size: 20px; }
  .report-comparison p { font-size: 14px; }
  .report-overview { column-gap: 12px; margin-bottom: 10px; }
  .report-overview-card { padding: 17px 14px 14px; margin-bottom: 12px; }
  .report-overview-card h3 { font-size: 19px; }
  .report-overview-label { font-size: 13px; }
  .report-overview-icon { width: 54px; height: 54px; }
  .report-overview-count { font-size: 12px; }
  .report-summary { grid-template-columns: 1fr 1fr; gap: 18px; }
  .report-summary > div:last-child { grid-column: 1 / -1; }
  .report-summary dd { font-size: 23px; }
  .report-network-values { gap: 20px; padding: 18px; }
  .report-network h2, .report-table-heading { padding-inline: 18px; }
  .report-filters { padding-inline: 18px; gap: 11px; }
  .report-search { flex-basis: 100%; }
  .report-search input, .report-category select { font-size: 16px; }
  .report-category { flex: 1; }
  .report-category select { width: 100%; min-width: 0; }
  .report-filters > .report-checkbox { margin-left: 0; }
  .report-table th, .report-table td, .report-table .report-group-row th { padding-inline: 16px; }
}
@media (max-width: 390px) {
  .report-overview { grid-template-columns: 1fr; }
  .report-overview-card { padding-inline: 24px; }
  .report-network-values { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .report-spinner { animation: none; } }
