:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161616;background:#fff;--rule:#d8d8d8;--muted:#545454}
*{box-sizing:border-box}
body{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,.table-wrap:focus-visible{outline:2px solid #161616;outline-offset:2px}
.report{height:100vh;height:100dvh;min-height:0;max-width:100rem;margin:auto;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(.55rem,1.35vw,1.25rem);padding:clamp(.75rem,2.3vw,2.25rem)}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #222;padding-bottom:clamp(.65rem,1.4vw,1.25rem)}
.eyebrow,.list-title h2{margin:0;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:750}
h1{margin:.15rem 0;font-size:clamp(1.65rem,3.8vw,3.45rem);line-height:1;letter-spacing:-.055em}
.identity,.list-title p{font-size:.8rem;color:var(--muted);margin:.4rem 0 0}
.actions{display:grid;gap:.38rem;justify-items:end;flex-shrink:0}
.pdf{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:46px;padding:.65rem .85rem;background:#151515;color:white;border-radius:5px;text-decoration:none;font-weight:700}
.pdf[aria-disabled=true]{opacity:.54;cursor:default}
.export{font-size:.74rem;text-underline-offset:3px}
.metrics{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin:0;border:1px solid var(--rule);border-radius:4px;background:#fafafa}
.metric{min-width:0;display:flex;flex-direction:column-reverse;gap:.17rem;padding:.62rem clamp(.46rem,1.1vw,1.05rem);border-inline-start:1px solid var(--rule)}
.metric:first-child{border-inline-start:0}
.metric dt{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.metric dd{margin:0;font-size:clamp(1.15rem,2.3vw,2rem);letter-spacing:-.045em;font-weight:740;font-variant-numeric:tabular-nums;line-height:1.05}
.records{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0}
.toolbar{display:flex;align-items:end;justify-content:space-between;gap:.65rem;flex-wrap:wrap;padding-bottom:.55rem}
.list-title p{margin:.16rem 0 0}
.scroll-hint{display:none}
form{display:flex;align-items:end;gap:.4rem;flex-wrap:wrap;margin:0}
form label{display:grid;gap:.14rem;font-size:.68rem;font-weight:650}
select,button,input[type=search]{min-height:36px;border:1px solid #a4a4a4;border-radius:4px;background:#fff;color:#151515;font:inherit;font-size:.8rem;padding:.25rem .35rem}
.search-control{width:min(16rem,100%)}
input[type=search]{width:100%;min-width:0;padding-inline:.55rem}
button{padding-inline:.65rem;cursor:pointer}
.table-wrap{overflow:auto;min-width:0;border-radius:4px;overscroll-behavior:contain}
table{
  --class-width:clamp(14rem,26vw,28rem);
  --horse-width:clamp(9.5rem,15vw,16rem);
  --competition-width:clamp(13rem,24vw,27rem);
  table-layout:fixed;border-collapse:separate;border-spacing:0;
  width:calc(var(--class-width) + var(--horse-width) + var(--competition-width) + 25.5rem);
  font-size:.82rem;line-height:1.28
}
col[data-field=date],col[data-field=discipline]{width:6.375rem}
col[data-field=placing],col[data-field=entries],col[data-field=height]{width:4.25rem}
col[data-field=title]{width:var(--class-width)}
col[data-field=horse]{width:var(--horse-width)}
col[data-field=competition]{width:var(--competition-width)}
th,td{text-align:left;padding:.57rem .65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
th{position:sticky;top:0;background:#f4f4f4;z-index:1}
tbody tr:nth-child(even),.mobile-rows li:nth-child(even){background:#f5f5f5}
td:nth-child(1),td:nth-child(4),td:nth-child(5),td:nth-child(6){font-variant-numeric:tabular-nums}
td:nth-child(2){font-weight:600}
.mobile-rows{display:none}
.screen-footer{display:flex;justify-content:space-between;gap:.4rem;color:var(--muted);font-size:.68rem}
@media screen and (max-width:700px){
  .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
  .metric:nth-child(5){border-inline-start:0}
  .metric:nth-child(n+5){border-top:1px solid var(--rule)}
  .metric{padding-block:.38rem}
  form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:.27rem .4rem}
  .search-control{grid-column:1/-1;width:100%}
  input[type=search]{font-size:16px}
  select{width:100%;font-size:16px;min-height:34px}
  .pdf{font-size:.88rem}
  .identity{font-size:.72rem}
  .toolbar{gap:.38rem}
  .scroll-hint{display:block}
  .table-wrap table{display:none}
  .mobile-rows{display:block;list-style:none;margin:0;padding:0;font-size:.82rem;line-height:1.25}
  .mobile-rows li{padding:.5rem .625rem}
  .record-line{display:grid;align-items:baseline;gap:.5rem;white-space:nowrap}
  .record-line + .record-line{margin-top:.2rem}
  .line-date{grid-template-columns:5.45rem minmax(8rem,1fr);color:var(--muted);font-size:.75rem}
  .line-title{grid-template-columns:minmax(10rem,1fr) 3rem;font-weight:650}
  .line-placing{grid-template-columns:5.45rem minmax(8rem,1fr)}
  .record-line [data-field=height]{text-align:right}
  .record-line :is([data-field=competition],[data-field=title],[data-field=horse]){
    min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain
  }
}
@media screen and (max-width:355px){
  .top{flex-direction:column;align-items:stretch;gap:.5rem}
  .actions{display:flex;justify-content:space-between;align-items:center;gap:.35rem}
}
@media(max-height:410px){.report{min-height:26rem}}
@media print{
  @page{size:landscape;margin:8mm}
  .report,.records,.table-wrap{display:block;overflow:visible;height:auto;max-width:none;min-height:0;padding:0;border:none}
  .actions,form,.screen-footer,.scroll-hint{display:none}
  .metrics{margin:.55rem 0;grid-template-columns:repeat(8,minmax(0,1fr))}
  .metric{padding:.25rem .35rem}
  table{width:100%;font-size:8pt}
  col[data-field]{width:auto}
  col[data-field=title],col[data-field=competition]{width:23%}
  col[data-field=horse]{width:14%}
  th,td{padding:2pt 3pt;position:static;min-width:0}
  tbody tr:nth-child(even){print-color-adjust:exact;-webkit-print-color-adjust:exact}
  tr{break-inside:avoid}
  thead{display:table-header-group}
}
