:root { color-scheme: light dark; font-family: system-ui, sans-serif; }
body { margin: 0; }
.topnav { display: flex; gap: 1rem; align-items: center; padding: .6rem 1rem;
  border-bottom: 1px solid #8884; flex-wrap: wrap; }
.topnav a { text-decoration: none; font-weight: 600; }
.topnav .logout { margin-left: auto; }
.page { padding: 1rem; max-width: 75rem; margin: 0 auto; }
table { border-collapse: collapse; width: 100%; font-size: .9rem; }
th, td { text-align: left; padding: .35rem .5rem; border-bottom: 1px solid #8883; }
th a { text-decoration: none; }
tr:hover td { background: #8881; }
.filters { display: flex; flex-wrap: wrap; gap: .5rem .8rem; align-items: end;
  margin-bottom: 1rem; }
.filters label { display: flex; flex-direction: column; font-size: .75rem; gap: .15rem; }
.filters input, .filters select { padding: .25rem; min-width: 5rem; }
.badge { display: inline-block; padding: 0 .35rem; border-radius: .3rem;
  font-size: .75rem; font-weight: 700; }
.badge.hot { background: #d33; color: #fff; }
.badge.private { background: #06c; color: #fff; }
.badge.stale { background: #a80; color: #fff; }
.badge.removed { background: #888; color: #fff; }
.badge.relisted { background: #6a4c93; color: #fff; }
.below { color: #2a7; font-weight: 600; }
.above { color: #c55; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: .25rem 1rem; }
.kv dt { font-weight: 600; }
pre.report { white-space: pre-wrap; background: #8881; padding: 1rem;
  border-radius: .5rem; font-size: .85rem; }
.chart-wrap { max-width: 60rem; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.photos img { max-width: 100%; }
/* Phone (Phase 4 Track 3 mobile pass) */
@media (max-width: 40rem) {
  .hide-sm { display: none; }
  .page { padding: .6rem; }
  .topnav { gap: .4rem .9rem; padding: .5rem .6rem; }
  .topnav .logout { margin-left: 0; }
  .filters { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .filters input:not([type="checkbox"]), .filters select { min-width: 0; width: 100%;
    box-sizing: border-box; }
  .filters input[type="checkbox"] { min-width: 0; }
  .filters button { grid-column: 1 / -1; }
  /* 16px inputs keep iOS Safari from zooming in on focus */
  input, select, button { font-size: 1rem; }
  .kv { grid-template-columns: 1fr; gap: 0; }
  .kv dd { margin: 0 0 .5rem; }
  .star { min-width: 2.75rem; min-height: 2.75rem; font-size: 1.4rem; }
  th, td { padding: .35rem .3rem; }
}
