#panel-gps { overflow-y:auto; display:none; }
#panel-gps.active { display:block; }
.gps-monitor { max-width:1700px;margin:auto;padding:26px 28px 40px; }
.gps-monitor-header,.gps-section-head { display:flex;align-items:center;justify-content:space-between;gap:18px; }
.gps-monitor-header h2 { font-size:27px;letter-spacing:-.6px;margin:3px 0; }
.gps-eyebrow { font:10px var(--font-mono);letter-spacing:.13em;color:var(--magma); }
.gps-monitor p { color:var(--ink-faint);font-size:12px; }
.gps-monitor-header p { margin:4px 0; }
.gps-monitor-header a { color:var(--ink-soft);font-size:12px;text-decoration:none; }
.gps-filters { display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:22px 0 18px; }
.gps-filters label { display:grid;gap:6px;color:var(--ink-faint);font-size:11px; }
.gps-monitor select,.gps-monitor input[type=date],.gps-monitor input[type=search] { padding:9px 11px; background:var(--bg-raised);color:var(--ink);border:1px solid var(--line);border-radius:6px;font-size:12px; }
.gps-filters select { min-width:180px;max-width:240px; }
.gps-monitor button { cursor:pointer;border:1px solid var(--line);background:var(--bg-raised);color:var(--ink-soft);border-radius:6px;padding:8px 11px;font-size:11px; }
.gps-monitor button:hover { border-color:var(--magma);color:var(--magma); }
.gps-monitor button.gps-primary { background:var(--magma);color:var(--bg-sunken);font-weight:600;padding:10px 18px; }
#gpsLoadStatus { font-size:11px;color:var(--ink-faint);margin:auto 0 9px; }
#gpsLoadStatus.error { color:var(--sulphur); }
.gps-overview { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);margin-bottom:20px; }
.gps-overview>div { padding:17px 20px;display:grid;gap:6px;border-right:1px solid var(--line); }
.gps-overview>div:last-child { border:0; }
.gps-overview span { color:var(--ink-faint);font-size:11px; }
.gps-overview strong { font:500 24px var(--font-mono);color:var(--magma); }
.gps-overview small { font-size:10px;color:var(--ink-faint); }
.gps-map-card,.gps-compare-panel,.gps-ranking-panel,.gps-station-card { border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);overflow:hidden; }
.gps-section-head { padding:16px 18px; }
.gps-section-head h3 { margin:0;font-size:14px;font-weight:500; }
.gps-section-head p { margin:4px 0 0;font-size:10px; }
.gps-section-head label { display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-faint);margin-left:auto; }
#gpsStationMap { height:310px;background:#11232d;z-index:0; }
.gps-map-foot { padding:9px 16px;display:flex;justify-content:space-between;gap:16px;font:9px var(--font-mono);color:var(--ink-faint); }
.gps-map-station { display:flex;align-items:center;gap:4px;white-space:nowrap;color:white;font:10px var(--font-mono); }
.gps-map-station b { width:8px;height:8px;flex:none;background:#62dfc1;border:1px solid #10232b;border-radius:50%; }
.gps-map-station span { padding:2px 4px;background:#101820d9;border-radius:3px; }
.gps-movement { pointer-events:none; }
.gps-movement-line { position:absolute;bottom:0;left:0;width:2px;background:#ffcb6b;transform-origin:bottom center; }
.gps-movement-line:before { content:'';position:absolute;left:-4px;top:-2px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid #ffcb6b; }
.gps-display-controls { display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0; }
.gps-display-controls>label { display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft); }
.gps-display-controls input { accent-color:var(--magma); }
.gps-display-controls .gps-values { margin-left:auto; }
.gps-display-controls .range-select button.active { color:var(--magma);border-color:var(--magma); }
.gps-analytics { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px; }
#gpsCompareChips { padding:0 18px;display:flex;flex-wrap:wrap;gap:8px;min-height:30px; }
.gps-compare-chip { font:10px var(--font-mono);border-left:3px solid var(--series-color);padding:3px 7px;background:var(--bg-sunken); }
#gpsCompareChart { display:block;width:100%;height:235px; }
.gps-chart-readout { min-height:18px;margin:0!important;padding:3px 18px 12px;font:10px var(--font-mono)!important; }
.gps-ranking-scroll { max-height:305px;overflow:auto; }
.gps-ranking { border-collapse:collapse;width:100%;white-space:nowrap;font:10px var(--font-mono); }
.gps-ranking th { text-align:left;color:var(--ink-faint);font-weight:400;position:sticky;top:0;background:var(--bg-raised);z-index:1; }
.gps-ranking th,.gps-ranking td { padding:9px 11px;border-bottom:1px solid var(--line); }
.gps-ranking button { border:0;padding:2px;color:var(--magma);background:none; }
.gps-stations-heading { padding:24px 0 14px; }
.gps-station-cards { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.gps-station-card.selected { border-color:var(--magma); }
.gps-card-head { display:flex;align-items:center;gap:10px;padding:16px 16px 8px; }
.gps-card-head h4 { margin:0;font:600 16px var(--font-mono); }
.gps-card-head p { margin:4px 0 0;font-size:11px; }
.gps-card-head button { margin-left:auto; }
.gps-card-head button.active { color:var(--magma);border-color:var(--magma); }
.gps-card-status { padding:0 16px;font:9px var(--font-mono);color:var(--ink-faint); }
.gps-card-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 16px; }
.gps-card-stats div { display:grid;gap:3px; }
.gps-card-stats span { color:var(--ink-faint);font-size:9px; }
.gps-card-stats strong { font:500 12px var(--font-mono);color:var(--ink); }
.gps-station-card canvas { width:100%;height:205px;display:block; }
.gps-empty { padding:24px;color:var(--ink-faint);font-size:12px;grid-column:1/-1; }
.gps-method-note { margin:22px 0 0;max-width:1200px;font-size:10px!important;line-height:1.7; }
.gps-station-card.unavailable { opacity:.7; }
@media(max-width:1150px) { .gps-station-cards{grid-template-columns:repeat(2,minmax(0,1fr));}.gps-analytics{grid-template-columns:1fr;}.gps-display-controls .gps-values{margin-left:0;} }
@media(max-width:760px) {
 .gps-monitor{padding:18px 12px 28px;}.gps-monitor-header{align-items:flex-start;}.gps-monitor-header h2{font-size:23px;}.gps-monitor-header a{font-size:10px;max-width:78px;}.gps-monitor-header p{font-size:11px;}
 .gps-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;}.gps-filters select{min-width:0;max-width:none;width:100%;}.gps-filters input{min-width:0;width:100%;}#gpsLoadStatus{font-size:10px;margin:0;}
 .gps-overview{grid-template-columns:1fr 1fr;}.gps-overview>div{padding:12px;border-bottom:1px solid var(--line);}.gps-overview>div:nth-child(2){border-right:0;}.gps-overview>div:nth-child(3){border-bottom:0;}.gps-overview strong{font-size:19px;}.gps-overview small{font-size:9px;}
 .gps-section-head{padding:12px;gap:8px;flex-wrap:wrap;}.gps-section-head h3{font-size:13px;}.gps-map-card .gps-section-head>div{width:100%;}.gps-section-head label{margin-left:0;}#gpsStationMap{height:270px;}.gps-map-foot{font-size:8px;}.gps-map-foot>span:last-child{display:none;}
 .gps-display-controls{gap:12px;padding:15px 0;}.gps-display-controls>label{font-size:10px;}.gps-display-controls .gps-values{width:100%;}.gps-display-controls select{flex:1;max-width:none;}
 .gps-station-cards{grid-template-columns:1fr;}.gps-stations-heading input{width:100%;}.gps-stations-heading{padding:20px 0 12px;}
}
