/* OVspot V121.1: approved compact vehicle popup.
 * Applies ONLY inside the existing #vehiclePanel; renderer and map are untouched.
 */
#vehiclePanel.ov51-popup{
 --ov51-accent:#0b7f75;--ov51-blue:#1764bc;--ov51-softblue:#eaf4ff;
 --ov51-line:#dfe8ec;--ov51-ink:var(--ink,#17344a);
 --ov51-muted:var(--muted,#647b8b);--ov51-summary:#f4f6f8;
 --ov51-current:#e6f4ec;--ov51-next:#eaf4ff;
 border-radius:19px;
}
#vehiclePanel.ov51-popup #vehiclePanelBody{
 padding:10px 12px 12px!important;color:var(--ov51-ink);
}
#vehiclePanel.ov51-popup .vprHeader{
 display:grid;grid-template-columns:61px minmax(0,1fr);
 grid-template-rows:auto auto;column-gap:12px;row-gap:0;
 padding:7px 41px 12px 4px!important;margin:0!important;
 border:0!important;border-bottom:1px solid var(--ov51-line)!important;
 border-radius:0!important;background:transparent!important;
}
#vehiclePanel.ov51-popup .vprHeroBadge{
 min-width:60px!important;max-width:68px;height:57px!important;
 border-radius:12px!important;font-size:21px!important;line-height:1;
}
#vehiclePanel.ov51-popup .vprTopline{min-width:0;align-self:end!important;}
#vehiclePanel.ov51-popup .vprTopline h2{
 display:flex!important;flex-direction:column;gap:2px;
 margin:0!important;font-size:14px!important;line-height:1.2!important;
 letter-spacing:0!important;overflow:visible!important;
}
#vehiclePanel.ov51-popup .ov51LineTitle{
 font-size:12px;line-height:1.3;font-weight:830;color:var(--ov51-ink);
}
#vehiclePanel.ov51-popup .ov51Destination{
 display:block;font-size:11px;line-height:1.3;font-weight:550;
 color:var(--ov51-muted);overflow-wrap:anywhere;
}
#vehiclePanel.ov51-popup .vprHeroStop{align-self:start;}
#vehiclePanel.ov51-popup .vprHeroStatus{
 display:flex!important;gap:5px!important;margin:5px 0 0!important;
 align-items:center!important;min-height:19px!important;
}
#vehiclePanel.ov51-popup .vprHeroStatus .vprQuality{
 border-radius:999px;padding:3px 9px!important;min-height:20px!important;font-size:10px!important;
}
#vehiclePanel.ov51-popup .vprHeroStatus .vprDelay{
 font-size:10px!important;padding:4px 8px!important;border-radius:999px!important;
}
#vehiclePanel.ov51-popup .vprEta{
 grid-template-columns:4px minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
 padding:12px 10px 10px 0!important;gap:2px 10px!important;min-height:66px!important;
 margin:0!important;border:0!important;background:var(--surface,#fff)!important;
 color:var(--ov51-ink)!important;border-bottom:0!important;
}
#vehiclePanel.ov51-popup .vprEta::before{
 content:"";grid-column:1;grid-row:1 / 3;border-radius:4px;background:var(--ov51-blue);
}
#vehiclePanel.ov51-popup .vprEtaIcon{display:none!important;}
#vehiclePanel.ov51-popup .vprEta>div{grid-column:2!important;grid-row:1 / 3!important;align-self:center;min-width:0;}
#vehiclePanel.ov51-popup .vprEta b{
 color:var(--ov51-blue);font-size:10px!important;letter-spacing:.06em;text-transform:uppercase;
}
#vehiclePanel.ov51-popup .vprEta small{
 color:var(--ov51-ink)!important;font-size:13px!important;line-height:1.26!important;
 font-weight:850!important;margin-top:4px!important;
}
#vehiclePanel.ov51-popup .vprEta time{
 grid-column:3;grid-row:1!important;align-self:end;
 font-size:21px!important;color:var(--ov51-blue)!important;
 line-height:1.2!important;font-weight:900!important;
}
#vehiclePanel.ov51-popup .vprEta em{
 grid-column:3;grid-row:2!important;align-self:start;
 font-size:10px!important;color:var(--ov51-blue)!important;
}
#vehiclePanel.ov51-popup .ov51StopRail{
 margin:0 0 9px;padding:0 4px 6px;
 color:var(--ov51-blue);
}
#vehiclePanel.ov51-popup .ov51RailTrack{
 display:flex;position:relative;height:27px;align-items:center;justify-content:space-between;
 margin:0 0 2px;
}
#vehiclePanel.ov51-popup .ov51RailTrack::before{
 content:"";position:absolute;left:0;right:0;top:50%;height:3px;
 border-radius:3px;background:linear-gradient(90deg,var(--ov51-blue) 0 27%,#dbe3ec 27% 100%);
 transform:translateY(-50%);
}
#vehiclePanel.ov51-popup .ov51RailStart,
#vehiclePanel.ov51-popup .ov51RailEnd{
 display:block;width:10px;height:10px;flex:0 0 10px;
 background:#fff;border:2px solid #a6b6c8;border-radius:50%;z-index:1;
}
#vehiclePanel.ov51-popup .ov51RailStart{border-color:var(--ov51-blue);}
#vehiclePanel.ov51-popup .ov51RailVehicle{
 display:grid;place-items:center;position:absolute;left:27%;top:50%;
 transform:translate(-50%,-50%);
 width:23px;height:23px;z-index:2;border-radius:50%;
 color:white;background:var(--ov51-blue);border:2px solid white;
 box-shadow:0 0 0 1px #b1cee7;
}
#vehiclePanel.ov51-popup .ov51RailVehicle svg{width:14px;height:14px;}
#vehiclePanel.ov51-popup .ov51RailLabels{
 display:flex;justify-content:space-between;gap:16px;
 font-size:9px;line-height:1.25;font-weight:700;color:var(--ov51-blue);
}
#vehiclePanel.ov51-popup .ov51RailLabels span{
 display:block;max-width:48%;min-width:0;overflow-wrap:anywhere;
}
#vehiclePanel.ov51-popup .ov51RailLabels span:last-child{text-align:right;color:var(--ov51-ink);}
#vehiclePanel.ov51-popup .vprSummary{
 border:0!important;border-radius:12px!important;overflow:hidden!important;
 margin:0 0 8px!important;background:var(--ov51-summary)!important;
}
#vehiclePanel.ov51-popup .vprSummaryCard{
 padding:10px 12px!important;min-height:71px!important;background:transparent!important;
}
#vehiclePanel.ov51-popup .vprSummaryCard>small{
 font-size:10px!important;letter-spacing:0!important;font-weight:760;color:var(--ov51-muted);
}
#vehiclePanel.ov51-popup .vprSummaryCard>b{
 font-size:11px!important;line-height:1.25!important;overflow-wrap:anywhere!important;
}
#vehiclePanel.ov51-popup .vprSummaryCard time{font-size:12px!important;}
#vehiclePanel.ov51-popup .vprSummaryCard + .vprSummaryCard{border-left:1px solid var(--ov51-line)!important;}
#vehiclePanel.ov51-popup .vprTripMeta{
 display:flex!important;flex-wrap:wrap;gap:6px;margin:0 1px 7px!important;
 padding:2px 0 11px!important;border-bottom:1px solid var(--ov51-line)!important;
 color:var(--ov51-muted)!important;
}
#vehiclePanel.ov51-popup .vprTripMeta>div,#vehiclePanel.ov51-popup .vprTripMeta>small{
 font-size:10px!important;line-height:1.35!important;
}
#vehiclePanel.ov51-popup .vprTimeline{margin:0 0 7px!important;}
#vehiclePanel.ov51-popup .vprTimeline .timeline-head{margin:0 2px 10px!important;}
#vehiclePanel.ov51-popup .vprTimeline .timeline-head h3{font-size:10.5px!important;letter-spacing:.07em;}
#vehiclePanel.ov51-popup .vprTimeline li,
#vehiclePanel.ov51-popup .vprTimeline li[data-stop-name]{
 grid-template-columns:49px 13px minmax(0,1fr);
 gap:8px;min-height:34px!important;padding:5px 7px!important;
}
#vehiclePanel.ov51-popup .vprTimeline li>time{font-size:10.5px!important;}
#vehiclePanel.ov51-popup .vprTimeline li>div>b{
 font-size:11px!important;line-height:1.25!important;
}
#vehiclePanel.ov51-popup .vprTimeline li.passed{opacity:.67!important;}
#vehiclePanel.ov51-popup .vprTimeline li.current{
 background:var(--ov51-current)!important;box-shadow:none!important;
}
#vehiclePanel.ov51-popup .vprTimeline li.next{
 background:var(--ov51-next)!important;box-shadow:none!important;
}
#vehiclePanel.ov51-popup .vprTimeline li.current .timeline-dot::before{
 background:#09865d!important;border-color:#09865d!important;
}
#vehiclePanel.ov51-popup .vprTimeline li.next .timeline-dot::before{
 background:var(--ov51-blue)!important;border-color:var(--ov51-blue)!important;
}
#vehiclePanel.ov51-popup .vprTimeline .journey-sub{font-size:9px!important;}
#vehiclePanel.ov51-popup .vprActions{
 margin-top:12px!important;padding-top:9px!important;
 grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 37px 37px!important;
}
#vehiclePanel.ov51-popup .vprActions>#vpRoute{
 background:#078579!important;border-radius:10px!important;
 font-size:11px!important;
}
#vehiclePanel.ov51-popup .vprActions>.ov4Follow{border-radius:10px!important;}
body.theme-night #vehiclePanel.ov51-popup{
 --ov51-blue:#a7cfff;--ov51-summary:#23313c;
 --ov51-softblue:#182d41;--ov51-line:#405160;
 --ov51-current:#183a31;--ov51-next:#1a3850;
 --ov51-ink:#ebf3f8;--ov51-muted:#b1c0cb;
}
body.theme-night #vehiclePanel.ov51-popup .ov51RailStart,
body.theme-night #vehiclePanel.ov51-popup .ov51RailEnd{background:#192d39;}
body.theme-night #vehiclePanel.ov51-popup .ov51RailTrack::before{
 background:linear-gradient(90deg,var(--ov51-blue) 0 27%,#4a5c69 27% 100%);
}
body.theme-night #vehiclePanel.ov51-popup .ov51RailVehicle{color:#17344a;border-color:#192d39;}
@media(max-width:760px){
 #vehiclePanel.ov51-popup #vehiclePanelBody{padding:7px 10px 10px!important;}
 #vehiclePanel.ov51-popup .vprHeader{
  grid-template-columns:52px minmax(0,1fr);column-gap:10px;
  padding:5px 35px 11px 2px!important;
 }
 #vehiclePanel.ov51-popup .vprHeroBadge{min-width:50px!important;height:48px!important;font-size:18px!important;}
 #vehiclePanel.ov51-popup .vprTopline h2{font-size:12px!important;}
 #vehiclePanel.ov51-popup .ov51LineTitle{font-size:12px;}
 #vehiclePanel.ov51-popup .ov51Destination{font-size:11px;}
 #vehiclePanel.ov51-popup .vprEta{padding:10px 6px 7px 0!important;min-height:58px!important;}
 #vehiclePanel.ov51-popup .vprEta small{font-size:12px!important;}
 #vehiclePanel.ov51-popup .vprEta time{font-size:18px!important;}
 #vehiclePanel.ov51-popup .ov51RailLabels{font-size:8.5px;}
 #vehiclePanel.ov51-popup .vprSummaryCard{padding:9px 9px!important;min-height:67px!important;}
 #vehiclePanel.ov51-popup .vprSummaryCard>b{font-size:10px!important;}
 #vehiclePanel.ov51-popup .vprTimeline li,
 #vehiclePanel.ov51-popup .vprTimeline li[data-stop-name]{
   grid-template-columns:45px 12px minmax(0,1fr);min-height:35px!important;
 }
 #vehiclePanel.ov51-popup .vprActions{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 35px 35px!important;}
}
@media(max-width:350px){
 #vehiclePanel.ov51-popup .vprEta time{font-size:16px!important;}
 #vehiclePanel.ov51-popup .vprActions>#vpRoute{font-size:10px!important;}
 #vehiclePanel.ov51-popup .ov51RailLabels{font-size:8px;}
}

#vehiclePanel.ov51-menu-share .vprActions{
 grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 37px!important;
}
#vehiclePanel.ov51-menu-share .vprActions.noRoute{
 grid-template-columns:minmax(0,1fr) 37px!important;
}
#vehiclePanel.ov51-menu-share .vprActions #vpMore .vpMoreMenu #vpShare{
 display:flex!important;align-items:center;gap:8px;min-height:37px;
 width:100%!important;min-width:100%!important;padding:8px 10px!important;
 border:0;border-radius:8px;background:transparent;color:var(--ov51-ink);
 text-align:left;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;
}
#vehiclePanel.ov51-menu-share .vpMoreMenu #vpShare svg{width:17px;height:17px;}
#vehiclePanel.ov51-menu-share .vpMoreMenu #vpShare:hover{background:var(--ov51-summary)!important;}
@media(max-width:760px){
 #vehiclePanel.ov51-menu-share .vprActions{
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 35px!important;
 }
 #vehiclePanel.ov51-menu-share .vprActions.noRoute{
  grid-template-columns:minmax(0,1fr) 35px!important;
 }
}
