/* RailOps unified control-room theme — isolated visual override */
body:has(.gpsApp){background:#07111e;color:#f4f8fb}
.gpsApp{
  --ro-bg:#07111e;--ro-surface:#0d1c2c;--ro-surface-2:#102337;
  --ro-line:rgba(151,177,201,.17);--ro-line-strong:rgba(87,216,208,.34);
  --ro-text:#f4f8fb;--ro-muted:#97abc0;--ro-cyan:#57d8d0;--ro-blue:#6da7ff;
  --ro-green:#71d49c;--ro-amber:#f3bd62;--ro-red:#ff7d86;
  min-height:100vh;color:var(--ro-text);
  background:radial-gradient(circle at 88% -8%,rgba(52,181,210,.14),transparent 31rem),radial-gradient(circle at 14% 110%,rgba(104,83,225,.1),transparent 34rem),var(--ro-bg)!important
}
.gpsApp *{scrollbar-color:#34516e #0a1725}

.gpsSidebar,.gpsSidebar.open,.gpsSidebar.collapsed{
  background:linear-gradient(180deg,rgba(12,28,45,.98),rgba(5,15,27,.99))!important;
  border-right:1px solid var(--ro-line)!important;box-shadow:18px 0 55px rgba(0,0,0,.22)!important
}
.gpsSidebar.open{width:250px!important;padding:18px 13px!important}
.gpsBrand{padding-bottom:17px;border-bottom:1px solid var(--ro-line)}
.gpsBrandIcon{color:var(--ro-cyan)!important;border:1px solid rgba(87,216,208,.48)!important;background:rgba(87,216,208,.09)!important;box-shadow:inset 0 0 22px rgba(87,216,208,.08),0 0 24px rgba(87,216,208,.08)!important}
.gpsBrand h1,.gpsBrandText h1{color:#fff!important;letter-spacing:-.025em!important}
.gpsBrand p,.gpsBrandText p{color:var(--ro-cyan)!important;letter-spacing:.04em}
.gpsSidebarToggle{color:#c8d8e5!important;border:1px solid var(--ro-line)!important;background:rgba(255,255,255,.045)!important}
.gpsSidebarToggle:hover,.gpsSidebarToggle:focus-visible{color:var(--ro-cyan)!important;border-color:var(--ro-line-strong)!important;background:rgba(87,216,208,.09)!important}
.gpsNav{gap:5px!important}
.gpsNavBtn,.gpsSidebar.open .gpsNavBtn{position:relative;min-height:42px!important;color:#b9cad8!important;border:1px solid transparent!important;border-radius:12px 12px 4px 12px!important;background:transparent!important;font-weight:760!important;transition:.16s ease!important}
.gpsNavBtn:hover,.gpsNavBtn:focus-visible{color:#fff!important;border-color:var(--ro-line)!important;background:rgba(255,255,255,.045)!important;transform:translateX(2px)}
.gpsNavBtn.active,.gpsSidebar.open .gpsNavBtn.active{color:var(--ro-cyan)!important;border-color:rgba(87,216,208,.24)!important;background:linear-gradient(90deg,rgba(87,216,208,.14),rgba(87,216,208,.045))!important;box-shadow:inset 3px 0 0 var(--ro-cyan),0 8px 24px rgba(0,0,0,.12)!important}
.gpsSidebarUser{margin:auto 2px 2px!important;color:var(--ro-text)!important;border:1px solid var(--ro-line)!important;border-radius:16px 16px 5px 16px!important;background:rgba(16,35,55,.74)!important}
.gpsSidebarUser small{color:var(--ro-muted)!important}
.gpsSidebarUser button{color:#c7d5df!important;border:1px solid var(--ro-line)!important;background:rgba(255,255,255,.045)!important}

.gpsMain{min-width:0;padding:22px 24px 28px!important;background:transparent!important;color:var(--ro-text)!important}
.gpsTopbar{min-height:74px;margin:0 0 18px!important;padding:15px 18px!important;align-items:center!important;border:1px solid var(--ro-line);border-radius:18px 18px 6px 18px;background:rgba(10,25,40,.78);box-shadow:0 18px 45px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(18px)}
.gpsTopbar h2{margin:0!important;color:var(--ro-text)!important;font-size:clamp(23px,2.2vw,31px)!important;letter-spacing:-.045em!important}
.gpsTopbar p{color:var(--ro-muted)!important}
.gpsSessionUser{color:var(--ro-green)!important;border:1px solid rgba(113,212,156,.24)!important;background:rgba(113,212,156,.075)!important}

.gpsRefresh,.gpsSmallBtn,.railTrackerAction,.railopsMapModeToggle,.routeHero button,.locoFleetActions button,.locoFleetActions a{
  color:#dce7ee!important;border:1px solid var(--ro-line)!important;border-radius:11px 11px 4px 11px!important;background:rgba(255,255,255,.045)!important;box-shadow:none!important;transition:.16s ease!important
}
.gpsRefresh:hover,.gpsSmallBtn:hover,.railTrackerAction:hover,.routeHero button:hover,.locoFleetActions button:hover,.locoFleetActions a:hover{color:var(--ro-cyan)!important;border-color:var(--ro-line-strong)!important;background:rgba(87,216,208,.09)!important;transform:translateY(-1px)}
.railopsMapModeToggle.active,.railTrackerAction.railopsMapModeToggle.active,.gpsPrimaryBtn,.routeSubmitButton{color:#04151b!important;border-color:var(--ro-cyan)!important;background:linear-gradient(135deg,#66e0d8,#50c9d2)!important;box-shadow:0 10px 24px rgba(87,216,208,.16)!important}

.railTrackerPage{padding:0!important;color:var(--ro-text)!important}
.railTrackerShell{gap:16px!important;align-items:stretch}
.railTrackerSide,.railTrackerMapArea{border:1px solid var(--ro-line)!important;border-radius:22px 22px 7px 22px!important;background:linear-gradient(145deg,rgba(15,34,53,.92),rgba(7,19,32,.96))!important;box-shadow:0 20px 55px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)!important}
.railTrackerSide{width:365px!important;min-width:365px!important;padding:17px!important}
.railTrackerSideHead{padding-bottom:14px!important;border-bottom:1px solid var(--ro-line)}
.railTrackerSideHead h3,.railTrackerStateHead h3,.railTrackerMapHeader h2{color:var(--ro-text)!important;letter-spacing:-.04em}
.railTrackerSideHead p,.railTrackerMapHeader p,.railTrackerStatePlaceCard small,.railTrackerLocoText small,.railTrackerIgnitionEmpty{color:var(--ro-muted)!important}
.railTrackerSideHead>span{color:var(--ro-cyan)!important;border:1px solid rgba(87,216,208,.24)!important;background:rgba(87,216,208,.08)!important}
.railTrackerLoco{margin-top:10px!important;color:var(--ro-text)!important;border:1px solid var(--ro-line)!important;border-radius:14px 14px 4px 14px!important;background:rgba(255,255,255,.035)!important;box-shadow:none!important}
.railTrackerLoco:hover{border-color:rgba(109,167,255,.34)!important;background:rgba(109,167,255,.07)!important}
.railTrackerLoco.active{border-color:rgba(87,216,208,.72)!important;background:linear-gradient(135deg,rgba(87,216,208,.13),rgba(109,167,255,.07))!important;box-shadow:inset 3px 0 0 var(--ro-cyan),0 10px 26px rgba(0,0,0,.14)!important}
.railTrackerLocoText b,.railTrackerSpeed b,.railTrackerStateLocoNumber,.railTrackerStatePlaceCard b,.railTrackerStateRows b{color:var(--ro-text)!important}
.railTrackerLocoText span,.railTrackerSpeed span,.railTrackerStatePlaceCard span,.railTrackerStateRows span{color:var(--ro-muted)!important}
.railTrackerStar{color:#5c7186!important}.railTrackerStar.on{color:var(--ro-amber)!important}
.railTrackerLeftDetail{margin-top:14px!important;padding-top:16px!important;border-top:1px solid var(--ro-line)!important;background:transparent!important}
.railTrackerStateHead button{color:var(--ro-cyan)!important;border:1px solid rgba(87,216,208,.22)!important;background:rgba(87,216,208,.07)!important}
.railTrackerStateLocoNumber{border:1px solid var(--ro-line)!important;background:rgba(255,255,255,.035)!important}
.railTrackerStatePlaceCard,.railTrackerStateRows>div,.railTrackerLeftEvents,.railTrackerLeftEvent,.railTrackerLeftEventsMore{color:var(--ro-text)!important;border-color:var(--ro-line)!important;background:rgba(255,255,255,.035)!important}
.railTrackerStateRows>div:hover{border-color:rgba(87,216,208,.24)!important;background:rgba(87,216,208,.055)!important}
.railTrackerLeftEventsHead,.railTrackerLeftEventsMore summary{color:#dce7ee!important;border-color:var(--ro-line)!important}
.railTrackerMapArea{padding:18px!important;min-width:0}
.railTrackerMapHeader{padding:2px 2px 16px!important;border-bottom:1px solid var(--ro-line)!important}
.railTrackerEyebrow{color:var(--ro-cyan)!important;letter-spacing:.12em!important}
.railTrackerActions{gap:8px!important}
.railTrackerMapBox{margin-top:16px!important;overflow:hidden;border:1px solid rgba(87,216,208,.25)!important;border-radius:18px 18px 5px 18px!important;background:#dfe9e2!important;box-shadow:0 22px 60px rgba(0,0,0,.25),0 0 0 4px rgba(87,216,208,.035)!important}
.railTrackerRouteBadge,.railopsVectorMapStatus{color:#dceaf2!important;border:1px solid rgba(151,177,201,.28)!important;background:rgba(5,16,28,.9)!important;box-shadow:0 12px 32px rgba(0,0,0,.28)!important;backdrop-filter:blur(14px)}
.railTrackerError{color:#ffd2d6!important;border:1px solid rgba(255,125,134,.35)!important;background:rgba(255,125,134,.1)!important}

.gpsPanel,.routeHero,.routePanel,.routeFilterClean,.routeExportBar,.gpsPermissionCard,.gpsUsersTablePanel,.locoFleetCard,.healthPanel,.healthCard,.backupAutomationCard,.teltonikaPanel,.teltonikaCard,.gvkPanel,.gvkStatusCard,.gvkDiagnosticPanel,.gvkPayloadPreview,.gpsEditPanel{
  color:var(--ro-text)!important;border-color:var(--ro-line)!important;background:linear-gradient(145deg,rgba(15,34,53,.9),rgba(8,21,35,.94))!important;box-shadow:0 16px 42px rgba(0,0,0,.16)!important
}
.gpsPanel h1,.gpsPanel h2,.gpsPanel h3,.gpsPanel h4,.routeHero h1,.routeHero h2,.routeHero h3,.locoFleetCard h3,.healthPanel h3,.healthCard b,.gvkPanel h3,.gvkPanel h4{color:var(--ro-text)!important}
.gpsMuted,.gpsPanel p,.routeHero p,.routePanel p,.locoFleetInfo,.healthPanel small,.healthCard small,.gvkInfo,.gvkPanel small{color:var(--ro-muted)!important}
.gpsApp input,.gpsApp select,.gpsApp textarea{color:var(--ro-text)!important;border-color:var(--ro-line)!important;background:rgba(255,255,255,.045)!important;color-scheme:dark}
.gpsApp input::placeholder,.gpsApp textarea::placeholder{color:#72889d!important}
.gpsApp input:focus,.gpsApp select:focus,.gpsApp textarea:focus{outline:3px solid rgba(87,216,208,.13)!important;border-color:var(--ro-cyan)!important}
.gpsApp label,.gpsApp th{color:#a9bdcd!important}.gpsApp table{color:var(--ro-text)!important;border-color:var(--ro-line)!important}
.gpsApp th{border-color:var(--ro-line)!important;background:rgba(255,255,255,.045)!important}.gpsApp td{border-color:var(--ro-line)!important}.gpsApp tr:hover td{background:rgba(87,216,208,.035)!important}
.locoFleetData>div,.gpsInfoLine,.healthAlert,.healthLoginList>div,.gvkReadyItem,.gvkAuditItem,.gvkAlertItem,.gvkReplayItem,.gvkValidationItem,.gvkFailureItem,.gpsLoginEvent{color:var(--ro-text)!important;border-color:var(--ro-line)!important;background:rgba(255,255,255,.035)!important}
.locoFleetData span,.gpsInfoLine span,.healthAlert small,.healthLoginList small,.gvkReadyItem small,.gvkAuditItem small,.gvkAlertItem small,.gvkReplayItem small,.gvkValidationItem small,.gpsLoginEvent small{color:var(--ro-muted)!important}
.gpsAlert.ok,.healthEmpty,.teltonikaHealthSummary:not(.warn),.backupAutomationCard.ok{color:#bff4d5!important;border-color:rgba(113,212,156,.28)!important;background:rgba(113,212,156,.075)!important}
.gpsAlert.warn,.teltonikaHealthSummary.warn,.teltonikaDeviceAlert.warn,.backupAutomationCard:not(.ok){color:#f7d89e!important;border-color:rgba(243,189,98,.3)!important;background:rgba(243,189,98,.075)!important}
.gpsAlert.danger,.teltonikaDeviceAlert.bad,.gvkFailurePanel{color:#ffc7cc!important;border-color:rgba(255,125,134,.3)!important;background:rgba(255,125,134,.075)!important}
.authPage{background:radial-gradient(circle at 15% 10%,rgba(87,216,208,.17),transparent 35%),linear-gradient(145deg,#06101c,#0d2135 58%,#123d5b)!important}
.authCard{border-color:rgba(87,216,208,.23)!important;border-radius:26px 26px 8px 26px!important;box-shadow:0 28px 90px rgba(0,0,0,.42)!important}

@media(max-width:1180px){.railTrackerShell{grid-template-columns:330px minmax(0,1fr)!important}.railTrackerSide{width:330px!important;min-width:330px!important}.railTrackerMapHeader{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:900px){
  .gpsSidebar,.gpsSidebar.open,.gpsSidebar.collapsed{border-right:0!important;border-bottom:1px solid var(--ro-line)!important;background:rgba(7,18,31,.96)!important;backdrop-filter:blur(18px)}
  .gpsMain{padding:14px!important}.gpsTopbar{min-height:64px;padding:12px 14px!important}
  .railTrackerShell{display:flex!important;flex-direction:column!important}.railTrackerSide{width:100%!important;min-width:0!important}.railTrackerMapArea{padding:14px!important}
  .railTrackerActions{width:100%;overflow-x:auto;padding-bottom:3px}.railTrackerAction{flex:0 0 auto}
}
@media(max-width:620px){
  .gpsMain{padding:10px!important}.gpsTopbar{border-radius:15px 15px 5px 15px}.gpsTopbarActions{margin-left:auto}.gpsTopbar h2{font-size:22px!important}
  .railTrackerSide,.railTrackerMapArea{padding:12px!important;border-radius:17px 17px 5px 17px!important}.railTrackerMapBox{border-radius:14px 14px 4px 14px!important}.railTrackerStateRows{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(prefers-reduced-motion:reduce){.gpsApp *,.gpsApp *::before,.gpsApp *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
