.map-page-container { max-width: 1480px; padding: 0 20px 32px; }
.map-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 0 18px; }
.map-heading h1 { font-size:30px; margin:0; letter-spacing:0; }
.map-count { display:flex; align-items:baseline; gap:8px; white-space:nowrap; }
.map-count .stat-number { font-size:22px; }
.map-main-panel { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:16px; margin:0; }
.map-main-panel > * { min-width:0; }
.map-filters { grid-column:1/-1; display:flex; align-items:end; flex-wrap:wrap; gap:10px; padding:0; margin:0; position:relative; z-index:1001; }
.map-filters label { display:grid; gap:4px; font-size:12px; color:var(--muted); }
.map-search-label { flex:1 1 240px; }
.map-filters input,.map-filters select,.map-filters .btn,.map-filters summary { min-height:42px; border-radius:4px; }
.map-filters .checkbox-filter { min-width:210px; }
.map-filters .checkbox-dropdown { z-index:1001; }
.map-filters .checkbox-dropdown-menu { max-height:320px; overflow:auto; }
.map-layout { margin:0; display:block; }
.map-main-panel .europe-map { height:620px; min-height:0; border-radius:4px; box-shadow:none; isolation:isolate; }
.map-main-panel .map-timeline { margin:0; padding:0 0 0 16px; border-left:1px solid var(--line); min-width:0; height:620px; display:flex; flex-direction:column; z-index:auto; }
.map-timeline > .row.between { display:block; }
.map-timeline #mapWeekLabel { font-size:18px; }
.map-timeline .muted#mapGameSummary { font-size:12px; font-weight:400; margin:6px 0 12px; }
.map-timeline .map-actions { display:grid; gap:8px; width:100%; }
.map-timeline .map-action-group { display:flex; flex-wrap:wrap; gap:6px; padding:0; background:none; border:0; box-shadow:none; }
.map-timeline .map-action-group .btn { min-height:36px; padding:6px 10px; border-radius:4px; font-size:12px; }
.map-timeline .map-checkbox { font-size:12px; display:flex; align-items:center; gap:5px; }
.map-timeline input[type=range] { flex:none; margin:14px 0; width:100%; }
.map-timeline .week-game-list { flex:1; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:0; z-index:auto; }
.map-timeline .week-game-pill { flex:none; width:100%; max-width:none; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:12px 8px; box-shadow:none; z-index:auto; }
.map-timeline .week-game-pill.active { background:var(--surface-strong); }
.map-timeline .week-game-pill strong { font-size:13px; overflow-wrap:anywhere; }
.map-timeline .week-game-pill span,.map-timeline .week-game-pill em { font-size:12px; }
.map-main-panel .map-selected-panel { margin:0; padding:16px 0; border-top:1px solid var(--line); }
.map-selected-panel h2 { font-size:20px; margin:0 0 8px; }
.map-selected-panel .card { border:0; border-radius:0; padding:0; background:none; box-shadow:none; }
.map-selected-panel .card h3 { font-size:16px; }
.map-directory { border-top:1px solid var(--line); padding-top:16px; }
.map-directory summary { font-weight:700; cursor:pointer; margin-bottom:10px; }
.map-main-panel .map-team-list { max-height:300px; overflow:auto; display:flex; gap:0; }
.map-team-list .team-row { border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 4px; box-shadow:none; }
.map-team-list .team-row strong { font-size:14px; }
.map-team-list .team-row span { font-size:12px; }
.europe-map .map-week-control,.europe-map .map-week-jump,.europe-map .map-window-badge,.europe-map .map-gesture-hint { display:none !important; }
.map-main-panel .map-timeline input[type=range] { background:transparent; height:20px; padding:0; border:0; box-shadow:none; }
.map-main-panel .map-timeline input[type=range]::-webkit-slider-runnable-track { height:5px; background:#aeb4bc; border:0; border-radius:2px; box-shadow:none; }
.map-main-panel .map-timeline input[type=range]::-webkit-slider-thumb { width:16px; height:16px; margin-top:-5px; background:#dc2338; border:2px solid white; box-shadow:none; }
.map-main-panel .map-timeline input[type=range]::-moz-range-track { height:5px; background:#aeb4bc; border:0; box-shadow:none; }
.map-main-panel .map-timeline input[type=range]::-moz-range-thumb { width:14px; height:14px; background:#dc2338; border:2px solid white; }
.map-timeline .map-action-group { justify-content:flex-start; }
.map-timeline .map-checkbox { background:none; border:0; border-radius:0; padding:4px 0; }
.map-main-panel .map-timeline input[type=range] { background:transparent !important; appearance:none; -webkit-appearance:none; accent-color:#dc2338; }
.map-main-panel .map-timeline input[type=range]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; }
.map-main-panel .map-timeline input[type=range]::-webkit-slider-runnable-track { background:#aeb4bc !important; }
.map-main-panel .map-timeline input[type=range]::-moz-range-track { background:#aeb4bc !important; }
.map-main-panel .map-timeline input[type=range]::-webkit-slider-thumb { background:#dc2338 !important; }
.map-main-panel #mapWeekLabel { line-height:1.3; letter-spacing:0; }
.map-cluster { display:grid; place-items:center; background:#fff; color:#202124; border:3px solid #d92336; border-radius:50%; font-size:13px; font-weight:800; box-shadow:0 1px 5px #0003; }
body[data-theme=dark] .map-cluster { background:#292b2f; color:#fff; }
body[data-theme=dark] .map-page-container .btn.ghost { color:#edf0f3; background:#24272b; border-color:#535961; }
body[data-theme=dark] .map-filters input,body[data-theme=dark] .map-filters select { color:#edf0f3; background:#24272b; border-color:#535961; }
body[data-theme=dark] .map-timeline .week-game-pill.active { background:#292d32; }
.map-page-container button:disabled { opacity:.45; cursor:not-allowed; }
.map-timeline .week-game-pill > a { font-size:12px; color:var(--text); text-decoration:underline; }
.europe-map .map-date-badge { font-size:12px; border-radius:4px; padding:6px 10px; max-width:70%; }
.map-page-container button:focus-visible,.map-page-container [tabindex]:focus-visible { outline:2px solid #d92336; outline-offset:2px; }
@media(max-width:900px) {
 .map-main-panel { grid-template-columns:minmax(0,1fr); }
 .map-main-panel .europe-map { height:440px; }
 .map-main-panel .map-timeline { height:auto; max-height:570px; border-left:0; padding:14px 0 0; border-top:1px solid var(--line); }
 .map-timeline .week-game-list { max-height:320px; flex:auto; }
 .map-heading h1 { font-size:24px; }
 .map-count { font-size:12px; }
}
@media(max-width:480px) {
 .map-page-container { padding:0 12px 24px; }
 .map-heading { align-items:start; }
 .map-heading h1 { max-width:220px; }
 .map-count { display:grid; gap:0; }
 .map-filters .checkbox-filter { min-width:0; flex:1 1 180px; }
 .map-filters .map-search-label { flex-basis:100%; }
 .map-filters > .btn { width:auto; flex:1 1 40%; }
 .map-main-panel .europe-map { height:360px; }
}
