.card { margin: 14px 0; }
.card h2 { margin-top: 0; font-size: 1.15rem; }
.grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.grid label { display: block; }
.grid input, .grid select { width: 100%; }
.results { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 12px 0; }
.stat { padding: 12px; border-radius: 10px; background: color-mix(in srgb, var(--accent) 14%, transparent); }
.stat b { display: block; font-size: 1.4rem; }
.stat span { color: var(--muted); font-size: .9rem; }
.err { color: #d9534f; min-height: 1.2em; }
.note { color: var(--muted); font-size: .92rem; }
table.t { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
table.t th, table.t td { text-align: right; padding: 6px 8px; border-bottom: 1px solid var(--border, rgba(128,128,128,.3)); }
table.t th:first-child, table.t td:first-child { text-align: left; }
td.best { font-weight: 700; color: #2e9e6b; }
.scroll { max-height: 360px; overflow: auto; }
.quick { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 14px; }
.tabs a { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--border, rgba(128,128,128,.4)); text-decoration: none; }
.tabs a[aria-current] { background: var(--accent); color: var(--accent-text); }
.disclaimer { font-size: .88rem; color: var(--muted); border-left: 3px solid var(--accent); padding-left: 10px; margin: 14px 0; }
textarea { width: 100%; min-height: 8em; }
