* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--text); font: 16px/1.5 system-ui, sans-serif; }
a { color: inherit; }
select { font: inherit; }
.app-header { min-height: 58px; padding: 10px max(18px, calc((100% - 1040px) / 2)); display: flex; align-items: center; gap: 20px; border-top: 4px solid var(--theme-marker); border-bottom: 1px solid var(--line-strong); background: var(--header); color: var(--header-text); }
.app-header a { text-decoration: none; }
.brand { color: var(--brand); font-weight: 850; }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 18px; font-size: 14px; }
.header-actions label { display: flex; align-items: center; gap: 7px; }
main { width: min(1040px, calc(100% - 28px)); margin: 34px auto 48px; }
.overview { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 34px; padding: 22px 0 26px; border-bottom: 1px solid var(--line); }
h1 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.03em; }
.overview > div > p:not(.eyebrow):not(.privacy-note) { max-width: 650px; margin: 8px 0 0; color: var(--muted); }
.metrics { display: flex; margin: 0; }
.metrics div { min-width: 116px; padding: 5px 14px; border-left: 1px solid var(--line); }
.metrics dt { color: var(--muted); font-size: 12px; }
.metrics dd { margin: 1px 0 0; font-size: 24px; font-weight: 780; font-variant-numeric: tabular-nums; }
.tool-list { margin-top: 20px; border: 1px solid var(--line); background: var(--surface); }
.tool { min-height: 104px; padding: 18px 20px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 16px; border-bottom: 1px solid var(--line); text-decoration: none; }
.personal-tool { width: 100%; border-top: 0; border-right: 0; border-left: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.personal-tool:disabled { cursor: wait; opacity: .65; }
.personal-tool .arrow { min-width: 42px; font-size: 13px; font-weight: 800; text-align: right; }
.tool:last-child { border-bottom: 0; }
.tool:hover, .tool:focus-visible { background: var(--row-hover); outline: 0; }
.tool-number { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.tool-copy strong, .tool-copy small { display: block; }
.tool-copy strong { font-size: 20px; }
.tool-copy small { margin-top: 3px; color: var(--muted); font-size: 14px; }
.arrow { color: var(--accent); font-size: 23px; }
.database-status { margin: 11px 0 0; color: var(--muted); font-size: 13px; }
.database-status.error { color: var(--danger); }
footer { width: min(1040px, calc(100% - 28px)); margin: 0 auto 28px; color: var(--muted); font-size: 12px; }
footer a { text-underline-offset: 3px; }
@media (max-width: 650px) {
  .app-header { gap: 12px; }
  .header-actions label span { display: none; }
  .overview { grid-template-columns: 1fr; gap: 18px; margin-top: -12px; }
  .metrics { width: 100%; }
  .metrics div { flex: 1; padding-left: 10px; }
  .tool { min-height: 94px; padding: 14px 13px; grid-template-columns: 32px 1fr auto; gap: 10px; }
  .tool-copy strong { font-size: 17px; }
  .tool-copy small { line-height: 1.35; }
}
