.gps-vehicle-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.gps-vehicle-pill { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .85rem 1rem; border: 1px solid #173846; border-radius: 1rem; background: #09212d; }
.gps-vehicle-pill div { display: flex; min-width: 0; flex-direction: column; }
.gps-vehicle-pill small, .gps-vehicle-pill > span:last-child { color: #8ea2ae; font-size: .72rem; }
.gps-online-dot { width: 9px; height: 9px; border-radius: 999px; }
.gps-online-dot.online { background: #50e3a4; box-shadow: 0 0 10px rgba(80, 227, 164, .65); }
.gps-online-dot.offline { background: #738793; }
.gps-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #173846; border-radius: 1rem; background: #071b25; }
.gps-toolbar label, .gps-panel label { display: flex; gap: .42rem; flex-direction: column; color: #9db0bc; font-size: .76rem; }
.gps-toolbar select, .gps-panel input { min-height: 43px; padding: .65rem .75rem; border: 1px solid #244554; border-radius: .7rem; color: #eef8f8; background: #0b2632; }
.gps-toolbar select { min-width: min(420px, 70vw); }
.gps-status-chip { display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .8rem; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.gps-status-chip.online { color: #50e3a4; background: rgba(80, 227, 164, .1); }
.gps-status-chip.offline { color: #aebbc3; background: #172b35; }
.gps-map-shell { overflow: hidden; border: 1px solid #173846; border-radius: 1.2rem; background: #081e2a; }
.gps-map-shell iframe { display: block; width: 100%; height: 480px; border: 0; filter: saturate(.82) brightness(.82); }
.gps-map-shell.compact iframe { height: 340px; }
.gps-position-grid, .gps-route-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: .8rem; padding: 1rem; }
.gps-position-grid > div, .gps-route-summary > div { display: flex; gap: .25rem; flex-direction: column; }
.gps-position-grid span, .gps-route-summary span { color: #8fa3af; font-size: .72rem; }
.gps-position-grid a { display: flex; align-items: center; gap: .45rem; color: #50e3a4; text-decoration: none; }
.gps-inline-state { display: flex; min-height: 240px; justify-content: center; align-items: center; gap: .7rem; border: 1px dashed #27505f; border-radius: 1rem; color: #93a7b2; }
.gps-workspace-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 1rem; }
.gps-panel { padding: 1.2rem; border: 1px solid #173846; border-radius: 1.1rem; background: #081e2a; }
.gps-panel h2 { margin: 0 0 1rem; font-size: 1.05rem; }
.gps-panel h2 i { margin-right: .35rem; color: #50e3a4; }
.gps-panel label { margin-bottom: .8rem; }
.gps-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.gps-list-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .8rem 0; border-bottom: 1px solid #17313d; }
.gps-list-row > i { color: #50e3a4; }
.gps-list-row > div { display: flex; flex-direction: column; }
.gps-list-row span { color: #91a5b1; font-size: .72rem; }
.gps-sync { padding: .25rem .45rem; border-radius: 999px; }
.gps-sync.synchronized { color: #50e3a4; background: rgba(80, 227, 164, .1); }
.gps-sync.failed { color: #ff8c91; background: rgba(255, 91, 100, .1); }
.gps-sync.pending { color: #ffc96b; background: rgba(255, 201, 107, .1); }
.gps-panel-heading { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.gps-panel-heading p, .gps-muted, .gps-safety-heading p { color: #91a5b1; }
.gps-safety-heading { display: flex; gap: 1rem; }
.gps-safety-heading > i { color: #ffc96b; font-size: 2rem; }
.gps-command-state { display: flex; gap: .55rem; flex-direction: column; margin: 1rem 0; padding: 1rem; border-radius: .85rem; }
.gps-command-state.allowed { border: 1px solid rgba(80, 227, 164, .35); background: rgba(80, 227, 164, .08); }
.gps-command-state.blocked { border: 1px solid rgba(255, 201, 107, .35); background: rgba(255, 201, 107, .08); }
.gps-command-state span { color: #c2cdd3; font-size: .82rem; }
.btn-gps-danger { padding: .75rem 1rem; border: 1px solid #ff6c74; border-radius: .75rem; color: #fff; background: #a62d36; font-weight: 800; }
.gps-command-result, .gps-feedback { display: flex; gap: .35rem; flex-direction: column; margin-top: 1rem; padding: .85rem; border: 1px solid #28505e; border-radius: .75rem; background: #0b2a36; }
.gps-command-result span, .gps-feedback { color: #b8c6cc; font-size: .82rem; }

@media (max-width: 640px) {
    .gps-toolbar { align-items: stretch; flex-direction: column; }
    .gps-toolbar select { width: 100%; min-width: 0; }
    .gps-map-shell iframe { height: 360px; }
    .gps-form-row { grid-template-columns: 1fr; }
    .gps-panel-heading { flex-direction: column; }
}
