.stat-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.return-row { margin-top: 12px; }
@media (max-width: 460px) { .stat-row { grid-template-columns: repeat(2, 1fr); } }
.stat-tile { position: relative; background: var(--surface-raised); border: 1px solid var(--border); border-radius: 14px; padding: 16px; min-width: 0; }
.stat-tile .label { font-size: 0.78rem; color: var(--ink-2); }
.stat-tile .value { font-size: 1.5rem; font-weight: 700; margin-top: 4px; }
.stat-tile .sub { font-size: 0.78rem; margin-top: 4px; display:flex; align-items:center; gap: 5px; }
.sub.good { color: var(--good); }
.sub.critical { color: var(--critical); }
.sub.warn { color: #b7791f; }
.sub .dot { width: 7px; height: 7px; border-radius: 50%; flex: none; }

.verdict { background: var(--surface-raised); border: 1px solid var(--border); border-radius: 16px; padding: 22px; }
.verdict .label { font-size: 0.82rem; color: var(--ink-2); }
.verdict .headline { font-size: clamp(1.6rem, 4vw, 2.4rem); font-weight: 700; margin-top: 6px; line-height: 1.15; }
.verdict .detail { font-size: 0.88rem; color: var(--ink-2); margin-top: 10px; display:flex; gap: 22px; flex-wrap: wrap; }
.verdict .detail .k { display:flex; align-items:center; gap: 6px; }
.verdict .detail .sw { width: 9px; height: 9px; border-radius: 2px; flex: none; }

table.y1 { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
table.y1 th, table.y1 td { padding: 9px 10px; border-bottom: 1px solid var(--grid); vertical-align: top; }
table.y1 thead th { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-muted); border-bottom-color: var(--baseline); }
table.y1 tbody th { text-align: left; font-weight: 500; }
table.y1 .amt { text-align: right; white-space: nowrap; font-family: "IBM Plex Mono", ui-monospace, monospace; font-variant-numeric: tabular-nums; }
table.y1 .mut { display: block; color: var(--ink-muted); font-size: 0.78rem; font-weight: 400; margin-top: 1px; max-width: 46ch; }
table.y1 tr.sec th { padding-top: 18px; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--brand); border-bottom: 1px solid var(--grid); }
table.y1 tr.sub th, table.y1 tr.sub td { font-weight: 600; }
table.y1 tr.total th, table.y1 tr.total td { font-weight: 700; font-size: 1rem; border-bottom: none; background: var(--surface); }
table.y1 tr.total.pos td { color: var(--good); }
table.y1 tr.total.neg td { color: var(--critical); }
table.y1 tr.info th { font-weight: 400; color: var(--ink-2); }
table.y1 tr.info td { color: var(--ink-2); }

.stat-tile .label { display:flex; align-items:center; gap: 6px; }
.stat-tile .info {
  flex: none; width: 17px; height: 17px; padding: 0; border-radius: 50%; border: 1px solid var(--baseline); background: transparent;
  color: var(--ink-muted); font: italic 600 0.68rem/1 Georgia, serif; cursor: help;
}
.stat-tile .info:hover, .stat-tile .info:focus-visible, .stat-tile.open .info { color: var(--page); background: var(--ink-2); border-color: var(--ink-2); }
.stat-tile .info:focus-visible { outline: 2px solid var(--accent-property); outline-offset: 2px; }
.hint-bubble {
  position: absolute; z-index: 5; left: 8px; right: 8px; top: 38px; padding: 10px 12px; border-radius: 8px;
  background: var(--ink); color: var(--page); font-size: 0.78rem; line-height: 1.45; font-weight: 400;
  box-shadow: 0 6px 20px rgba(0,0,0,.18); opacity: 0; visibility: hidden; transform: translateY(-3px);
  transition: opacity .12s, transform .12s, visibility .12s; pointer-events: none;
}
.stat-tile:has(.info:hover) .hint-bubble, .stat-tile:has(.info:focus-visible) .hint-bubble, .stat-tile.open .hint-bubble { opacity: 1; visibility: visible; transform: none; }
