.record-map{margin:0 0 32px;padding:26px 0 29px;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.record-map>header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:19px}
.record-map .eyebrow{display:block;margin-bottom:8px;color:var(--blue);font-size:9px;letter-spacing:.16em}
.record-map h3{margin:0;font-size:22px;letter-spacing:-.03em}.record-map>header>span{font-size:11px;color:var(--muted)}
.record-map-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 17px;margin-bottom:20px;color:var(--muted);font-size:10px}
.record-map-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.record-map-legend>span:first-child{margin-right:auto;color:var(--ink)}
.record-map-legend i{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--record-color);border:1px solid rgba(25,26,22,.18)}
.record-map-legend i.is-unrated{background:transparent;border-color:var(--line-strong)}
.record-map-rows{border-top:1px solid var(--line)}
.record-map-row{display:grid;grid-template-columns:180px minmax(0,1fr) 48px;gap:16px;align-items:center;min-height:55px;border-bottom:1px solid var(--line)}
.record-map-label{display:flex;align-items:center;gap:10px;min-width:0}.record-map-label small{font:10px ui-monospace,monospace;color:var(--blue)}.record-map-label strong{font-size:12px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-map-label span{font:10px ui-monospace,monospace;color:var(--muted)}
.record-map-track{display:flex;align-items:center;gap:6px;overflow-x:auto;min-height:43px;padding:7px 2px;scrollbar-width:thin}
.record-map-mark{display:block;flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;border:1px solid rgba(32,34,29,.23);border-radius:50%;background:var(--record-color);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.record-map-mark:hover{transform:scale(1.27);box-shadow:0 0 0 3px var(--theme-soft)}.record-map-mark:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.record-map-mark.is-unrated{background:transparent;border-color:var(--line-strong)}
.record-map-empty{font-size:10px;color:var(--muted)}.record-map-rated{text-align:right;color:var(--muted);font:10px ui-monospace,monospace}
.record-map-foot{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:13px;color:var(--muted);font-size:10px}
@media(max-width:760px){.record-map{padding:21px 0}.record-map-legend>span:first-child{flex-basis:100%}.record-map-row{grid-template-columns:106px minmax(0,1fr) 32px;gap:8px}.record-map-label{gap:4px}.record-map-label strong{font-size:10px}.record-map-label span{display:none}.record-map-track{gap:5px}.record-map-mark{flex-basis:16px;width:16px;height:16px;min-height:16px}.record-map-foot{line-height:1.5}}
@media(prefers-reduced-motion:reduce){.record-map-mark{transition:none}}

/* Count tiers for the monthly route bars; separate from per-practice self-ratings. */
.dashboard-count-scale{margin:0 0 23px;padding:12px 0 16px;border-block:1px solid var(--line);display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:13px}
.dashboard-count-scale>span{padding-top:7px;color:var(--muted);font-size:10px;letter-spacing:.08em}
.dashboard-count-scale>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.dashboard-count-scale>div>span{display:flex;flex-direction:column;gap:7px;min-width:0}
.dashboard-count-scale i{display:block;height:12px;background:var(--tier-color);border:1px solid rgba(41,41,37,.18)}
.dashboard-count-scale small{color:var(--muted);font:10px ui-monospace,monospace}
.dashboard-route-track i{background:var(--tier-color)}
@media(max-width:760px){.dashboard-count-scale{grid-template-columns:1fr;gap:9px}.dashboard-count-scale>div{gap:3px}.dashboard-count-scale small{font-size:9px}}
