.gnss-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.gnss-summary .metric b{font-size:1.05rem;line-height:1.35}.gnss-last{border-top-color:#c62828!important}.map-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.map-switch{display:flex;align-items:center;gap:8px;font-weight:650}.map-switch input{width:18px;height:18px}.map-legend{margin-left:auto;font-size:.86rem;color:var(--muted)}.gnss-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:3px}.gnss-dot.normal{background:#2f91c9}.gnss-dot.last{background:#ef5350;box-shadow:0 0 0 2px #c62828}.map-box-enhanced{height:560px}.gps-table-wrap{overflow:auto;max-height:520px;margin-top:16px;border:1px solid var(--line);border-radius:12px}.gps-table-wrap table{margin:0}.gps-table tbody tr{cursor:pointer}.gps-table tbody tr:hover,.gps-selected-row{background:#eaf5fc!important}.gps-last-row{background:#fff0f0}.gps-last-row td:first-child{border-left:4px solid #c62828}.gnss-popup strong{color:#b71c1c}.leaflet-popup-content{line-height:1.45}@media(max-width:850px){.gnss-summary{grid-template-columns:1fr}.map-legend{width:100%;margin-left:0}.map-box-enhanced{height:430px}}
html.dark .gps-table tbody tr:hover,html.dark .gps-selected-row{background:#19394b!important}html.dark .gps-last-row{background:#3a2528}
