.tracks-page { max-width:1000px; margin:0 auto; min-width:0; }
.tracks-page .icon-action { display:grid; place-items:center; width:44px; height:44px; flex:none; }
.tracks-page .icon-action img,.tracks-page .search-box img { width:22px; height:22px; }
.tracks-desktop-back { display:none; margin-bottom:18px; }
.tracks-cars { display:grid; gap:14px; }
.track-car { display:grid; grid-template-columns:minmax(0,1fr) 22px; gap:8px 16px; padding:16px; width:100%; min-width:0; text-align:left; background:var(--paper); border:1px solid var(--line); border-radius:8px; box-shadow:var(--soft-raised); color:var(--ink); }
.track-car:hover { background:var(--soft-hover); }
.track-car:active { box-shadow:var(--soft-inset); }
.track-car-plate { justify-self:start; padding:9px 12px; background:var(--canvas); box-shadow:var(--soft-inset); border:1px solid #c9d7df; border-radius:7px; font-size:18px; line-height:1.3; font-weight:750; max-width:100%; overflow-wrap:anywhere; }
.track-car>img { width:22px; height:22px; align-self:center; }
.track-car-name,.track-car-signal { grid-column:1/-1; min-width:0; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.track-car-signal { color:var(--muted); font-size:12px; }
.track-car-signal.is-stale { color:#916b25; }
.track-map-heading { display:flex; align-items:center; gap:12px; justify-content:space-between; margin-top:22px; }
.track-map-heading h2 { font-size:17px; line-height:1.4; margin:0; overflow-wrap:anywhere; }
.track-map-heading p { margin:5px 0 0; font-size:12px; color:var(--muted); }
.track-progress { font-size:13px; line-height:1.5; color:var(--muted); margin:14px 0; min-height:20px; }
.track-map-frame { position:relative; isolation:isolate; }
.track-map { height:480px; height:min(60svh,540px); min-height:320px; width:100%; background:#dfe8e4; border:1px solid var(--line); border-radius:8px; }
.track-map-empty { position:absolute; z-index:450; top:45%; left:50%; transform:translate(-50%,-50%); margin:0; padding:12px 16px; width:max-content; max-width:75%; border:1px solid var(--line); border-radius:8px; background:var(--paper); box-shadow:0 2px 8px #34455022; font-size:13px; text-align:center; pointer-events:none; }
.track-map .leaflet-control-zoom a { background:#fff; color:#263c40; }
.track-tile-error { display:flex; align-items:center; gap:12px; color:#8b6100; font-size:13px; }
.track-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 0; margin:0; border-bottom:1px solid var(--line); }
.track-summary span { display:block; font-size:12px; color:var(--muted); margin-bottom:5px; }
.track-summary b { font-size:15px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.track-note { color:var(--muted); font-size:12px; line-height:1.5; }
.track-days { margin-top:18px; }
.track-days summary { font-weight:650; font-size:15px; padding:12px 0; cursor:pointer; }
.track-days summary span { color:var(--muted); font-size:12px; margin-left:8px; }
.track-day { display:grid; grid-template-columns:24px 9px auto minmax(0,1fr); align-items:center; gap:10px; padding:12px 0; border-top:1px solid var(--line); font-size:13px; cursor:pointer; }
.track-day input { width:20px; height:20px; margin:0; }
.track-day-color { width:9px; height:9px; border-radius:50%; }
.track-day>span:last-child { text-align:right; font-size:12px; color:var(--muted); overflow-wrap:anywhere; }
@media(min-width:760px) { .tracks-desktop-back { display:block; } }
@media(min-width:1050px) { .tracks-cars { grid-template-columns:repeat(2,minmax(0,1fr)); } }
