/* RailOps light/dark theme switch — loaded after the unified theme */
html[data-ro-theme="dark"]{color-scheme:dark}
html[data-ro-theme="light"]{color-scheme:light}

.railopsThemeToggle{
  min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:0 12px;border:1px solid rgba(151,177,201,.2);border-radius:11px 11px 4px 11px;
  background:rgba(255,255,255,.045);color:#dce7ee;font:inherit;font-size:12px;font-weight:850;
  white-space:nowrap;cursor:pointer;transition:color .16s,border-color .16s,background .16s,transform .16s
}
.railopsThemeToggle:hover,.railopsThemeToggle:focus-visible{
  color:#57d8d0;border-color:rgba(87,216,208,.4);background:rgba(87,216,208,.09);transform:translateY(-1px)
}
.railopsThemeToggle:focus-visible{outline:3px solid rgba(87,216,208,.16);outline-offset:2px}
.railopsThemeToggleIcon{font-size:15px;line-height:1}

html[data-ro-theme="light"] body:has(.gpsApp){background:#eef3f8;color:#122033}
html[data-ro-theme="light"] .gpsApp{
  --ro-bg:#eef3f8;--ro-surface:#fff;--ro-surface-2:#f5f8fb;
  --ro-line:rgba(57,84,110,.15);--ro-line-strong:rgba(16,143,155,.34);
  --ro-text:#102034;--ro-muted:#61758a;--ro-cyan:#0e9297;--ro-blue:#2867d8;
  --ro-green:#148154;--ro-amber:#a76708;--ro-red:#c84752;
  color:var(--ro-text)!important;
  background:radial-gradient(circle at 88% -8%,rgba(28,164,181,.11),transparent 31rem),radial-gradient(circle at 12% 105%,rgba(70,91,196,.07),transparent 34rem),var(--ro-bg)!important
}

html[data-ro-theme="light"] .gpsSidebar,
html[data-ro-theme="light"] .gpsSidebar.open,
html[data-ro-theme="light"] .gpsSidebar.collapsed{
  color:var(--ro-text)!important;background:linear-gradient(180deg,#fbfdff,#f2f7fb)!important;
  border-color:var(--ro-line)!important;box-shadow:14px 0 42px rgba(33,57,79,.1)!important
}
html[data-ro-theme="light"] .gpsBrand{border-color:var(--ro-line)!important}
html[data-ro-theme="light"] .gpsBrand h1,
html[data-ro-theme="light"] .gpsBrandText h1{color:#102034!important}
html[data-ro-theme="light"] .gpsBrand p,
html[data-ro-theme="light"] .gpsBrandText p{color:#0e858b!important}
html[data-ro-theme="light"] .gpsBrandIcon{color:#087f86!important;border-color:rgba(14,146,151,.32)!important;background:rgba(14,146,151,.09)!important;box-shadow:none!important}
html[data-ro-theme="light"] .gpsSidebarToggle{color:#40566b!important;border-color:var(--ro-line)!important;background:#fff!important}
html[data-ro-theme="light"] .gpsNavBtn,
html[data-ro-theme="light"] .gpsSidebar.open .gpsNavBtn{color:#50677d!important}
html[data-ro-theme="light"] .gpsNavBtn:hover,
html[data-ro-theme="light"] .gpsNavBtn:focus-visible{color:#17324a!important;border-color:var(--ro-line)!important;background:rgba(26,83,127,.055)!important}
html[data-ro-theme="light"] .gpsNavBtn.active,
html[data-ro-theme="light"] .gpsSidebar.open .gpsNavBtn.active{color:#087f86!important;border-color:rgba(14,146,151,.23)!important;background:linear-gradient(90deg,rgba(14,146,151,.12),rgba(14,146,151,.035))!important;box-shadow:inset 3px 0 0 #0e9297,0 8px 24px rgba(32,79,101,.07)!important}
html[data-ro-theme="light"] .gpsSidebarUser{color:#102034!important;border-color:var(--ro-line)!important;background:#fff!important;box-shadow:0 10px 24px rgba(33,57,79,.07)!important}
html[data-ro-theme="light"] .gpsSidebarUser small{color:#61758a!important}
html[data-ro-theme="light"] .gpsSidebarUser button{color:#40566b!important;border-color:var(--ro-line)!important;background:#f4f7fa!important}

html[data-ro-theme="light"] .gpsMain{color:var(--ro-text)!important}
html[data-ro-theme="light"] .gpsTopbar{border-color:var(--ro-line)!important;background:rgba(255,255,255,.82)!important;box-shadow:0 16px 42px rgba(33,57,79,.08)!important}
html[data-ro-theme="light"] .gpsTopbar h2{color:#102034!important}
html[data-ro-theme="light"] .gpsTopbar p{color:#61758a!important}
html[data-ro-theme="light"] .gpsSessionUser{color:#11734b!important;border-color:rgba(20,129,84,.2)!important;background:rgba(20,129,84,.07)!important}
html[data-ro-theme="light"] .railopsThemeToggle{color:#354b60;border-color:var(--ro-line);background:#f8fafc}
html[data-ro-theme="light"] .railopsThemeToggle:hover{color:#087f86;border-color:rgba(14,146,151,.3);background:rgba(14,146,151,.07)}

html[data-ro-theme="light"] .gpsRefresh,
html[data-ro-theme="light"] .gpsSmallBtn,
html[data-ro-theme="light"] .railTrackerAction,
html[data-ro-theme="light"] .railopsMapModeToggle,
html[data-ro-theme="light"] .routeHero button,
html[data-ro-theme="light"] .locoFleetActions button,
html[data-ro-theme="light"] .locoFleetActions a{color:#294157!important;border-color:var(--ro-line)!important;background:#f8fafc!important}
html[data-ro-theme="light"] .gpsRefresh:hover,
html[data-ro-theme="light"] .gpsSmallBtn:hover,
html[data-ro-theme="light"] .railTrackerAction:hover{color:#087f86!important;border-color:rgba(14,146,151,.3)!important;background:rgba(14,146,151,.07)!important}
html[data-ro-theme="light"] .railopsMapModeToggle.active,
html[data-ro-theme="light"] .railTrackerAction.railopsMapModeToggle.active,
html[data-ro-theme="light"] .gpsPrimaryBtn,
html[data-ro-theme="light"] .routeSubmitButton{color:#fff!important;border-color:#0e9297!important;background:linear-gradient(135deg,#14a5a8,#087f86)!important}

html[data-ro-theme="light"] .railTrackerPage{color:#102034!important}
html[data-ro-theme="light"] .railTrackerSide,
html[data-ro-theme="light"] .railTrackerMapArea{color:#102034!important;border-color:var(--ro-line)!important;background:linear-gradient(145deg,#fff,#f7fafc)!important;box-shadow:0 18px 48px rgba(33,57,79,.09)!important}
html[data-ro-theme="light"] .railTrackerSideHead{border-color:var(--ro-line)!important}
html[data-ro-theme="light"] .railTrackerSideHead h3,
html[data-ro-theme="light"] .railTrackerStateHead h3,
html[data-ro-theme="light"] .railTrackerMapHeader h2,
html[data-ro-theme="light"] .railTrackerLocoText b,
html[data-ro-theme="light"] .railTrackerSpeed b,
html[data-ro-theme="light"] .railTrackerStateLocoNumber,
html[data-ro-theme="light"] .railTrackerStatePlaceCard b,
html[data-ro-theme="light"] .railTrackerStateRows b{color:#102034!important}
html[data-ro-theme="light"] .railTrackerSideHead p,
html[data-ro-theme="light"] .railTrackerMapHeader p,
html[data-ro-theme="light"] .railTrackerStatePlaceCard small,
html[data-ro-theme="light"] .railTrackerLocoText small,
html[data-ro-theme="light"] .railTrackerLocoText span,
html[data-ro-theme="light"] .railTrackerSpeed span,
html[data-ro-theme="light"] .railTrackerStatePlaceCard span,
html[data-ro-theme="light"] .railTrackerStateRows span{color:#61758a!important}
html[data-ro-theme="light"] .railTrackerLoco{color:#102034!important;border-color:var(--ro-line)!important;background:#f8fafc!important}
html[data-ro-theme="light"] .railTrackerLoco:hover{border-color:rgba(40,103,216,.26)!important;background:rgba(40,103,216,.045)!important}
html[data-ro-theme="light"] .railTrackerLoco.active{border-color:rgba(14,146,151,.55)!important;background:linear-gradient(135deg,rgba(14,146,151,.1),rgba(40,103,216,.045))!important;box-shadow:inset 3px 0 0 #0e9297,0 10px 26px rgba(33,57,79,.07)!important}
html[data-ro-theme="light"] .railTrackerLeftDetail{border-color:var(--ro-line)!important}
html[data-ro-theme="light"] .railTrackerStateLocoNumber,
html[data-ro-theme="light"] .railTrackerStatePlaceCard,
html[data-ro-theme="light"] .railTrackerStateRows>div,
html[data-ro-theme="light"] .railTrackerLeftEvents,
html[data-ro-theme="light"] .railTrackerLeftEvent,
html[data-ro-theme="light"] .railTrackerLeftEventsMore{color:#102034!important;border-color:var(--ro-line)!important;background:#f7fafc!important}
html[data-ro-theme="light"] .railTrackerMapHeader{border-color:var(--ro-line)!important}
html[data-ro-theme="light"] .railTrackerMapBox{border-color:rgba(14,146,151,.24)!important;box-shadow:0 20px 48px rgba(33,57,79,.12),0 0 0 4px rgba(14,146,151,.035)!important}

html[data-ro-theme="light"] .gpsPanel,
html[data-ro-theme="light"] .routeHero,
html[data-ro-theme="light"] .routePanel,
html[data-ro-theme="light"] .routeFilterClean,
html[data-ro-theme="light"] .routeExportBar,
html[data-ro-theme="light"] .gpsPermissionCard,
html[data-ro-theme="light"] .gpsUsersTablePanel,
html[data-ro-theme="light"] .locoFleetCard,
html[data-ro-theme="light"] .healthPanel,
html[data-ro-theme="light"] .healthCard,
html[data-ro-theme="light"] .backupAutomationCard,
html[data-ro-theme="light"] .teltonikaPanel,
html[data-ro-theme="light"] .teltonikaCard,
html[data-ro-theme="light"] .gvkPanel,
html[data-ro-theme="light"] .gvkStatusCard,
html[data-ro-theme="light"] .gvkDiagnosticPanel,
html[data-ro-theme="light"] .gvkPayloadPreview,
html[data-ro-theme="light"] .gpsEditPanel{color:#102034!important;border-color:var(--ro-line)!important;background:linear-gradient(145deg,#fff,#f8fafc)!important;box-shadow:0 15px 38px rgba(33,57,79,.075)!important}
html[data-ro-theme="light"] .gpsPanel h1,
html[data-ro-theme="light"] .gpsPanel h2,
html[data-ro-theme="light"] .gpsPanel h3,
html[data-ro-theme="light"] .gpsPanel h4,
html[data-ro-theme="light"] .routeHero h3,
html[data-ro-theme="light"] .locoFleetCard h3,
html[data-ro-theme="light"] .healthPanel h3,
html[data-ro-theme="light"] .healthCard b,
html[data-ro-theme="light"] .gvkPanel h3,
html[data-ro-theme="light"] .gvkPanel h4{color:#102034!important}
html[data-ro-theme="light"] .gpsMuted,
html[data-ro-theme="light"] .gpsPanel p,
html[data-ro-theme="light"] .routeHero p,
html[data-ro-theme="light"] .routePanel p,
html[data-ro-theme="light"] .locoFleetInfo,
html[data-ro-theme="light"] .healthPanel small,
html[data-ro-theme="light"] .healthCard small,
html[data-ro-theme="light"] .gvkInfo,
html[data-ro-theme="light"] .gvkPanel small{color:#61758a!important}
html[data-ro-theme="light"] .gpsApp input,
html[data-ro-theme="light"] .gpsApp select,
html[data-ro-theme="light"] .gpsApp textarea{color:#102034!important;border-color:var(--ro-line)!important;background:#fff!important;color-scheme:light}
html[data-ro-theme="light"] .gpsApp label,
html[data-ro-theme="light"] .gpsApp th{color:#536a7f!important}
html[data-ro-theme="light"] .gpsApp table{color:#102034!important}
html[data-ro-theme="light"] .gpsApp th{background:#f2f6f9!important}
html[data-ro-theme="light"] .gpsApp tr:hover td{background:rgba(14,146,151,.035)!important}
html[data-ro-theme="light"] .locoFleetData>div,
html[data-ro-theme="light"] .gpsInfoLine,
html[data-ro-theme="light"] .healthAlert,
html[data-ro-theme="light"] .healthLoginList>div,
html[data-ro-theme="light"] .gvkReadyItem,
html[data-ro-theme="light"] .gvkAuditItem,
html[data-ro-theme="light"] .gvkAlertItem,
html[data-ro-theme="light"] .gvkReplayItem,
html[data-ro-theme="light"] .gvkValidationItem,
html[data-ro-theme="light"] .gvkFailureItem,
html[data-ro-theme="light"] .gpsLoginEvent{color:#102034!important;border-color:var(--ro-line)!important;background:#f7fafc!important}

@media(max-width:620px){.railopsThemeToggle{width:36px;padding:0}.railopsThemeToggleText{display:none}}
