/* RadarČeska · Train UX Polish v2.0.8.7
   Public railway polish: map detail, live overview, full detail, train hub,
   train profile and station pages. Loaded last on purpose; no !important. */

:root{
  --rc-rail-ink:#102b34;
  --rc-rail-muted:#647980;
  --rc-rail-soft:#f4f7f7;
  --rc-rail-line:#dfe8e8;
  --rc-rail-green:#0bb879;
  --rc-rail-green-dark:#087355;
  --rc-rail-green-soft:#e9f8f1;
  --rc-rail-blue:#2687b8;
  --rc-rail-amber:#d78916;
  --rc-rail-red:#d34d55;
  --rc-rail-shadow:0 22px 60px rgba(23,54,61,.14),0 3px 12px rgba(23,54,61,.05);
  --rc-rail-radius:24px;
}

/* ---------- map / global train mode ---------- */
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .top-shell{
  filter:saturate(.95);
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-view-nav{
  gap:8px;padding:5px;border-radius:18px;background:rgba(250,252,252,.94);
  border-color:rgba(25,66,73,.08);box-shadow:0 8px 26px rgba(22,53,61,.08);
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab{
  min-width:94px;height:42px;padding:5px 11px;border-radius:14px;column-gap:8px;
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab>span{
  width:24px;height:24px;border-radius:8px;background:#eef5f6;color:#315f6b;
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab b{font-size:10px;color:#173943}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab small{font-size:7px;color:#85969b}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab.is-active{
  background:#eaf8f2;box-shadow:inset 0 0 0 1px rgba(11,184,121,.18);color:var(--rc-rail-green-dark);
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab.is-active>span{background:#dff5eb;color:#08765a}

/* detail card: the compact premium surface from the approved mockup */
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{
  top:164px;left:26px;width:min(414px,calc(100vw - 52px));max-height:calc(100dvh - 205px);
  padding:22px;border:1px solid rgba(21,62,69,.09);border-left-width:1px;border-radius:26px;
  background:rgba(252,253,253,.975);box-shadow:var(--rc-rail-shadow);backdrop-filter:blur(24px) saturate(125%);
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard .mobile-sheet-grabber{display:none}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard .card-close{
  right:16px;top:15px;width:34px;height:34px;border-radius:12px;background:#f2f5f5;color:#405d64;
}
body.rc-train-ux-v2 .rc-train-ux-back{
  appearance:none;border:0;background:transparent;color:#587079;padding:0;margin:0 0 14px;
  display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:11px;font-weight:760;cursor:pointer;
}
body.rc-train-ux-v2 .rc-train-ux-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.rc-train-ux-v2 .train-detail-topline{margin-bottom:5px;padding-right:38px}
body.rc-train-ux-v2 .train-detail-kicker{padding:0;gap:7px;font-size:8.5px;letter-spacing:.06em;color:#55747c}
body.rc-train-ux-v2 .train-detail-glyph{width:24px;height:24px;border-radius:9px;background:#e8f7f1;color:#08765a}
body.rc-train-ux-v2 .train-detail-freshness{padding:5px 8px;border-radius:999px;background:#eef8f4;color:#24735a;font-size:8px;font-weight:800}
body.rc-train-ux-v2 #trainFollowBtn{width:30px;height:30px;border-radius:10px}
body.rc-train-ux-v2 #trainDetailCard .train-detail-title-row{align-items:flex-start;margin-top:6px}
body.rc-train-ux-v2 #trainDetailCard h2{
  margin:0 42px 3px 0;font-size:30px;line-height:1.02;letter-spacing:-.045em;color:#102934;font-weight:870;
}
body.rc-train-ux-v2 #trainDetailCard>p#trainDetailRoute{
  margin:0 0 14px;max-width:330px;font-size:12.5px;line-height:1.42;color:#536c74;font-weight:590;
}
body.rc-train-ux-v2 .rc-train-ux-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
body.rc-train-ux-v2 .rc-train-ux-badge{
  display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#eaf4fb;color:#276d92;
  font-size:8.5px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;
}
body.rc-train-ux-v2 .rc-train-ux-badge.is-live{background:#e7f8ef;color:#0b7a54}
body.rc-train-ux-v2 .rc-train-ux-delay{
  position:absolute;top:82px;right:20px;display:grid;place-items:center;min-width:92px;min-height:64px;padding:9px 12px;
  border-radius:18px;background:#ecf8f3;color:#0b7155;text-align:center;
}
body.rc-train-ux-v2 .rc-train-ux-delay strong{font-size:20px;line-height:1;font-weight:860;letter-spacing:-.03em}
body.rc-train-ux-v2 .rc-train-ux-delay span{margin-top:4px;font-size:9px;color:#66827a}
body.rc-train-ux-v2 .rc-train-ux-delay[data-tone="minor"]{background:#fff7e5;color:#a06a08}
body.rc-train-ux-v2 .rc-train-ux-delay[data-tone="major"],body.rc-train-ux-v2 .rc-train-ux-delay[data-tone="critical"]{background:#fff0ef;color:#b33f49}

body.rc-train-ux-v2 .rc-train-ux-actions{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:8px 0 14px;
}
body.rc-train-ux-v2 .rc-train-ux-action{
  appearance:none;border:1px solid #e1e8e8;background:#fff;color:#173b44;border-radius:15px;min-height:63px;padding:8px 5px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:9px;font-weight:780;cursor:pointer;
  box-shadow:0 4px 14px rgba(27,56,62,.045);transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease;
}
body.rc-train-ux-v2 .rc-train-ux-action:hover{transform:translateY(-1px);border-color:#bfdbd2;background:#fbfdfc}
body.rc-train-ux-v2 .rc-train-ux-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.rc-train-ux-v2 .rc-train-ux-action.is-primary{background:#e9f9f1;border-color:#b7e6d2;color:#087554}
body.rc-train-ux-v2 .rc-train-ux-action.is-primary.is-watched{background:#dff7ea;border-color:#87d7b7;color:#076948}
body.rc-train-ux-v2 .rc-train-ux-action[disabled]{opacity:.48;cursor:wait;transform:none}
body.rc-train-ux-v2 .rc-train-ux-action .rc-ux-star{font-size:23px;line-height:18px}

/* old technical grids are preserved in DOM for scripts/accessibility but replaced visually by the polished summary */
body.rc-train-ux-v2 #trainDetailCard>.train-mobile-summary,
body.rc-train-ux-v2 #trainDetailCard>.train-detail-primary-grid,
body.rc-train-ux-v2 #trainDetailCard>.train-detail-quick-grid{display:none}
body.rc-train-ux-v2 .rc-train-ux-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 13px}
body.rc-train-ux-v2 .rc-train-ux-fact{
  min-width:0;min-height:67px;padding:10px 11px;border-radius:16px;background:linear-gradient(135deg,#f7f9f9,#f2f6f6);
  display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;
}
body.rc-train-ux-v2 .rc-train-ux-fact-icon{display:grid;place-items:center;width:30px;height:30px;color:#08735b}
body.rc-train-ux-v2 .rc-train-ux-fact-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.rc-train-ux-v2 .rc-train-ux-fact-copy{min-width:0;display:grid;gap:1px}
body.rc-train-ux-v2 .rc-train-ux-fact-copy span{font-size:8px;color:#819298}
body.rc-train-ux-v2 .rc-train-ux-fact-copy strong{font-size:12px;line-height:1.2;color:#16323b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rc-train-ux-v2 .rc-train-ux-fact-copy small{font-size:7.5px;line-height:1.25;color:#768990;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rc-train-ux-v2 .rc-train-ux-fact.is-wide{grid-column:1/-1}

body.rc-train-ux-v2 #trainJourneyProgress{
  margin:4px 0 12px;padding:12px 4px 4px;border:0;background:transparent;border-radius:0;
}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-head{margin-bottom:8px}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-head span{font-size:9px;color:#506871;font-weight:750}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-head strong{font-size:10px;color:#60777d}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-track{height:5px;border-radius:999px;background:#dce5e7;overflow:visible}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-track i{background:linear-gradient(90deg,#0bb879,#20c894);border-radius:999px;box-shadow:0 0 0 1px rgba(7,139,91,.05)}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-meta{font-size:8px;color:#75898f;margin-top:8px}
body.rc-train-ux-v2 #trainJourneyProgress .train-progress-meta span:first-child{color:#285e52;font-weight:730}

/* keep deep/fan content available, but out of the compact card unless explicitly expanded elsewhere */
body.rc-train-ux-v2 #trainDetailCard>#trainRailfanDetail,
body.rc-train-ux-v2 #trainDetailCard>#trainJourney[hidden]{display:none}
body.rc-train-ux-v2 #trainDetailCard>#trainJourney:not([hidden]){display:block}
body.rc-train-ux-v2 .rc-train-ux-more{
  appearance:none;width:100%;min-height:40px;border:1px solid #dce5e6;border-radius:13px;background:#f8faf9;color:#244c54;
  display:flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-size:9.5px;font-weight:780;cursor:pointer;
}
body.rc-train-ux-v2 .rc-train-ux-more svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
body.rc-train-ux-v2 #trainDetailCard .train-detail-foot{margin-top:10px;padding-top:9px;border-top:1px solid rgba(27,66,72,.07);font-size:7px;color:#91a0a4}

/* live overview */
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{
  top:164px;right:26px;width:356px;padding:18px;border:1px solid rgba(21,62,69,.09);border-radius:24px;
  background:rgba(252,253,253,.97);box-shadow:var(--rc-rail-shadow);backdrop-filter:blur(24px) saturate(125%);
}
body.rc-train-ux-v2 #trainOverview .mobile-sheet-grabber{display:none}
body.rc-train-ux-v2 #trainOverview .train-overview-head{margin-bottom:7px}
body.rc-train-ux-v2 #trainOverview .overview-title-block small{font-size:8px;color:#0a8b62;letter-spacing:.12em}
body.rc-train-ux-v2 #trainOverview .overview-title-block strong{font-size:20px;color:#102d35;letter-spacing:-.03em}
body.rc-train-ux-v2 #trainOverview .overview-mobile-subline{display:block;font-size:9px;color:#7a8c91;margin-top:2px}
body.rc-train-ux-v2 #trainOverview .train-status-badge{display:none}
body.rc-train-ux-v2 #trainOverview .train-overview-text{margin:6px 0 10px;font-size:9px;color:#72858b}
body.rc-train-ux-v2 #trainOverview .train-overview-grid{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:9px}
body.rc-train-ux-v2 #trainOverview .train-stat{padding:7px 4px;border-radius:10px;background:#f5f8f7}
body.rc-train-ux-v2 #trainOverview .train-stat span{font-size:6.5px}
body.rc-train-ux-v2 #trainOverview .train-stat strong{font-size:12px;color:#173e46}
body.rc-train-ux-v2 #trainOverview .train-overview-list{gap:0;margin-top:4px;max-height:344px;border-top:1px solid #eef2f2}
body.rc-train-ux-v2 #trainOverview .train-overview-item{
  border:0;border-bottom:1px solid #edf1f1;border-radius:0;background:transparent;padding:11px 3px;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;
}
body.rc-train-ux-v2 #trainOverview .train-overview-item:hover{background:#f7faf9;transform:none}
body.rc-train-ux-v2 #trainOverview .train-overview-item.is-selected{background:#f0faf6;box-shadow:inset 3px 0 0 #0bb879}
body.rc-train-ux-v2 #trainOverview .train-overview-item-icon{width:32px;height:32px;border-radius:11px;background:#eef6f8;color:#277da1;font-size:9px}
body.rc-train-ux-v2 #trainOverview .train-overview-item-copy b{font-size:10.5px;color:#193640}
body.rc-train-ux-v2 #trainOverview .train-overview-item-copy small{font-size:8px;color:#768990;margin-top:2px}
body.rc-train-ux-v2 #trainOverview .train-overview-item-delay{font-size:8px;padding:5px 7px}
body.rc-train-ux-v2 #trainOverview .train-overview-more{height:40px;border-radius:12px;margin-top:10px;background:#f8faf9;color:#1c6553;font-size:9px}
body.rc-train-ux-v2 #trainOverview .train-overview-foot{font-size:7px}
body.rc-train-ux-v2 #trainOverview .overview-live-state{font-size:8px;color:#0a825c}

/* full-screen train detail polish */
body.rc-train-ux-v2 .train-full-detail{background:rgba(14,28,32,.32);backdrop-filter:blur(4px)}
body.rc-train-ux-v2 .train-full-detail-shell{background:#f6f8f8;color:var(--rc-rail-ink)}
body.rc-train-ux-v2 .train-full-detail-topbar{background:rgba(252,253,253,.94);border-bottom-color:#e6ecec;backdrop-filter:blur(20px)}
body.rc-train-ux-v2 .train-full-detail-main{max-width:1180px;padding:30px 26px 48px}
body.rc-train-ux-v2 .train-full-detail-hero{padding:28px;border-radius:26px;background:#fff;box-shadow:0 10px 34px rgba(24,52,58,.07);border:1px solid #e6ecec}
body.rc-train-ux-v2 .train-full-detail-hero h1{font-size:clamp(30px,4vw,50px);letter-spacing:-.05em}
body.rc-train-ux-v2 .train-full-detail-actions button{min-height:44px;border-radius:13px}
body.rc-train-ux-v2 .train-full-detail-stats{gap:8px;margin:12px 0}
body.rc-train-ux-v2 .train-full-detail-stat{border-radius:17px;background:#fff;border:1px solid #e7ecec;box-shadow:none}
body.rc-train-ux-v2 .train-full-detail-grid{gap:12px}
body.rc-train-ux-v2 .train-full-detail-card{border-radius:22px;border-color:#e5ebeb;box-shadow:none;background:#fff}

/* ---------- public train profile ---------- */
body.train-page.rc-train-ux-v2{background:#f5f7f7;color:var(--rc-rail-ink)}
body.train-page.rc-train-ux-v2 .train-page-top{max-width:1180px;padding:16px 24px;border-bottom:0;background:rgba(248,250,249,.94);backdrop-filter:blur(18px)}
body.train-page.rc-train-ux-v2 .train-page-brand{letter-spacing:-.01em}
body.train-page.rc-train-ux-v2 .train-page-main{max-width:1120px;padding:18px 18px 48px}
body.train-page.rc-train-ux-v2 .train-page-hero{position:relative;padding:32px;border:1px solid #e3e9e7;border-radius:28px;background:#fff;box-shadow:0 14px 40px rgba(25,49,42,.07)}
body.train-page.rc-train-ux-v2 .train-page-kicker{gap:7px}
body.train-page.rc-train-ux-v2 .train-page-kicker span,body.train-page.rc-train-ux-v2 .train-page-kicker em{border-radius:999px;padding:5px 9px}
body.train-page.rc-train-ux-v2 .train-page-hero h1{font-size:clamp(34px,6vw,58px);letter-spacing:-.055em;margin-bottom:8px}
body.train-page.rc-train-ux-v2 .train-page-summary{font-size:14px;gap:9px}
body.train-page.rc-train-ux-v2 .train-page-lead{max-width:760px;color:#65756e;line-height:1.6}
body.train-page.rc-train-ux-v2 .rc-watch-profile-action{margin:18px 0 8px;gap:8px}
body.train-page.rc-train-ux-v2 .rc-watch-toggle,body.train-page.rc-train-ux-v2 .rc-watch-alert-button{min-height:46px;border-radius:14px;padding:10px 14px}
body.train-page.rc-train-ux-v2 .train-page-grid{gap:12px;margin-top:12px}
body.train-page.rc-train-ux-v2 .train-page-card{border:1px solid #e3e9e7;border-radius:22px;background:#fff;box-shadow:none;padding:22px}
body.train-page.rc-train-ux-v2 .train-page-card h2{font-size:19px;letter-spacing:-.025em}
body.train-page.rc-train-ux-v2 .train-page-stats{gap:7px}
body.train-page.rc-train-ux-v2 .train-page-stat{position:relative;padding:14px 14px 14px 48px;border:0;border-radius:16px;background:#f5f8f6}
body.train-page.rc-train-ux-v2 .train-page-stat .rc-public-stat-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:#0a7658}
body.train-page.rc-train-ux-v2 .train-page-stat .rc-public-stat-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body.train-page.rc-train-ux-v2 .train-page-facts>div{border-bottom-color:#edf1ef;padding:10px 0}
body.train-page.rc-train-ux-v2 .train-page-route{border-radius:16px;background:#f0f8f4;border:0}
body.train-page.rc-train-ux-v2 .train-page-empty{border-radius:15px;background:#f6f8f7}
body.train-page.rc-train-ux-v2 .train-page-footer{color:#87928c}

/* ---------- public hub ---------- */
body.rph-page.rc-train-ux-v2{background:linear-gradient(180deg,#f3f6f5 0,#f8f9f9 34%,#f5f7f6 100%);color:var(--rc-rail-ink)}
body.rph-page.rc-train-ux-v2 .rph-top{max-width:1240px;padding:16px 22px;border-bottom:0;background:rgba(248,250,249,.92);backdrop-filter:blur(18px)}
body.rph-page.rc-train-ux-v2 .rph-main{max-width:1180px;padding:22px 18px 52px}
body.rph-page.rc-train-ux-v2 .rph-hero{padding:40px 34px;border-radius:30px;border:1px solid #e2e9e6;background:radial-gradient(circle at 92% 10%,rgba(11,184,121,.11),transparent 34%),#fff;box-shadow:0 18px 48px rgba(25,50,42,.07)}
body.rph-page.rc-train-ux-v2 .rph-hero h1{max-width:800px;font-size:clamp(34px,5vw,58px);letter-spacing:-.055em;line-height:1.02}
body.rph-page.rc-train-ux-v2 .rph-hero>p{max-width:760px;font-size:15px;line-height:1.6;color:#61736a}
body.rph-page.rc-train-ux-v2 .rph-search{max-width:780px;margin-top:22px;padding:6px;border:1px solid #dfe8e4;border-radius:17px;background:#f9fbfa;box-shadow:0 6px 20px rgba(31,63,51,.05)}
body.rph-page.rc-train-ux-v2 .rph-search input{border:0;background:transparent;min-height:48px;padding:0 14px;font-size:15px}
body.rph-page.rc-train-ux-v2 .rph-search button{border-radius:12px;background:#116a4c;color:#fff;border:0;padding-inline:22px}
body.rph-page.rc-train-ux-v2 .rph-chips{gap:7px;margin-top:10px}
body.rph-page.rc-train-ux-v2 .rph-chips button{border-radius:999px;background:#f5f8f6;border-color:#e0e8e4}
body.rph-page.rc-train-ux-v2 .rph-kpis{gap:8px;margin-top:10px}
body.rph-page.rc-train-ux-v2 .rph-kpis>div{position:relative;min-height:94px;padding:15px 14px 14px 48px;border-radius:18px;background:#fff;border:1px solid #e4ebe7;box-shadow:none}
body.rph-page.rc-train-ux-v2 .rph-kpis>div::before{content:"";position:absolute;left:15px;top:17px;width:22px;height:22px;border-radius:8px;background:#e9f7f0;box-shadow:inset 0 0 0 6px #e9f7f0}
body.rph-page.rc-train-ux-v2 .rph-kpis strong{font-size:24px;letter-spacing:-.04em}
body.rph-page.rc-train-ux-v2 .rph-grid{gap:10px}
body.rph-page.rc-train-ux-v2 .rph-card,body.rph-page.rc-train-ux-v2 .rph-section{border:1px solid #e4eae7;border-radius:22px;background:#fff;box-shadow:none;padding:22px}
body.rph-page.rc-train-ux-v2 .rph-list-grid{gap:7px}
body.rph-page.rc-train-ux-v2 .rph-list-grid>a{border:0;border-radius:16px;background:#f6f8f7;padding:15px;transition:background .16s ease,transform .16s ease}
body.rph-page.rc-train-ux-v2 .rph-list-grid>a:hover{background:#eef6f2;transform:translateY(-1px)}
body.rph-page.rc-train-ux-v2 .rc-watch-card{border:0;border-radius:17px;background:#f6f8f7}
body.rph-page.rc-train-ux-v2 .rph-feature-grid>*{border:0;border-radius:17px;background:#f5f8f6;padding:17px}

/* ---------- station pages ---------- */
body.rs-page.rc-train-ux-v2{background:#f4f7f6;color:var(--rc-rail-ink)}
body.rs-page.rc-train-ux-v2 .rs-top{max-width:1240px;padding:16px 22px;border-bottom:0;background:rgba(248,250,249,.92);backdrop-filter:blur(18px)}
body.rs-page.rc-train-ux-v2 .rs-main{max-width:1120px;padding:20px 18px 48px}
body.rs-page.rc-train-ux-v2 .rs-hero,body.rs-page.rc-train-ux-v2 .rs-directory-hero{padding:30px;border:1px solid #e3e9e6;border-radius:28px;background:radial-gradient(circle at 94% 10%,rgba(11,184,121,.09),transparent 34%),#fff;box-shadow:0 14px 40px rgba(25,50,42,.06)}
body.rs-page.rc-train-ux-v2 .rs-hero h1,body.rs-page.rc-train-ux-v2 .rs-directory-hero h1{font-size:clamp(30px,5vw,48px);letter-spacing:-.05em}
body.rs-page.rc-train-ux-v2 .rs-kpis{gap:7px}
body.rs-page.rc-train-ux-v2 .rs-kpis>div{border:0;border-radius:16px;background:#f4f8f6;padding:13px}
body.rs-page.rc-train-ux-v2 .rs-card{border:1px solid #e3e9e7;border-radius:22px;background:#fff;box-shadow:none;padding:20px}
body.rs-page.rc-train-ux-v2 .rs-live-layout{gap:10px}
body.rs-page.rc-train-ux-v2 .rs-station-map{border-radius:18px;overflow:hidden}
body.rs-page.rc-train-ux-v2 .rs-board-row{border-bottom-color:#edf1ef}
body.rs-page.rc-train-ux-v2 .rs-board-row:hover{background:#f7faf8}
body.rs-page.rc-train-ux-v2 .rs-station-grid a,body.rs-page.rc-train-ux-v2 .rs-chip-grid a{border:0;border-radius:15px;background:#f5f8f6}

/* alerts / push also inherit the airy train style */
body.rc-train-ux-v2 .rc-alert-dialog{border-radius:25px;box-shadow:0 28px 80px rgba(12,34,26,.24)}
body.rc-train-ux-v2 .rc-alert-panel{padding:24px}
body.rc-train-ux-v2 .rc-alert-note,body.rc-train-ux-v2 .rc-server-push{border-color:#e0e8e4;background:#f6f9f7;border-radius:16px}
body.rc-train-ux-v2 .rc-alert-actions button,body.rc-train-ux-v2 .rc-server-push-actions button{border-radius:13px;min-height:42px}

/* ---------- responsive / mobile-first ---------- */
@media (max-width:1100px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{right:14px;width:330px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{left:14px;width:390px}
}

@media (max-width:760px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-view-nav{
    width:calc(100vw - 16px);max-width:none;margin:6px 8px 0;padding:4px;gap:4px;border-radius:16px;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab{min-width:76px;height:39px;padding:4px 8px;grid-template-columns:20px auto;column-gap:6px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab small{display:none}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab b{font-size:9px}

  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{
    position:fixed;z-index:46;left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;max-height:min(64dvh,690px);
    padding:20px 14px calc(14px + env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(27,64,70,.08);border-radius:28px 28px 0 0;
    box-shadow:0 -18px 55px rgba(24,53,59,.16);background:rgba(253,254,254,.985);overflow:auto;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard .mobile-sheet-grabber{
    display:flex;position:sticky;top:-12px;z-index:3;width:56px;height:18px;margin:-13px auto 8px;background:transparent;border:0;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard .mobile-sheet-grabber span{width:48px;height:5px;border-radius:999px;background:#b8c7cb}
  body.rc-train-ux-v2 .rc-train-ux-back{display:none}
  body.rc-train-ux-v2 #trainDetailCard .card-close{top:14px;right:14px}
  body.rc-train-ux-v2 #trainDetailCard h2{font-size:29px;margin-right:92px}
  body.rc-train-ux-v2 #trainDetailCard>p#trainDetailRoute{font-size:12px;margin-right:88px}
  body.rc-train-ux-v2 .rc-train-ux-delay{top:58px;right:14px;min-width:82px;min-height:58px;border-radius:17px}
  body.rc-train-ux-v2 .rc-train-ux-delay strong{font-size:18px}
  body.rc-train-ux-v2 .rc-train-ux-actions{gap:7px}
  body.rc-train-ux-v2 .rc-train-ux-action{min-height:66px;border-radius:15px;font-size:9px}
  body.rc-train-ux-v2 .rc-train-ux-facts{gap:7px}
  body.rc-train-ux-v2 .rc-train-ux-fact{min-height:65px;padding:9px 10px;grid-template-columns:28px minmax(0,1fr);gap:7px}
  body.rc-train-ux-v2 .rc-train-ux-fact-icon{width:28px;height:28px}
  body.rc-train-ux-v2 .rc-train-ux-fact-copy strong{font-size:11px}
  body.rc-train-ux-v2 #trainDetailCard .train-detail-foot{display:none}

  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{
    position:fixed;z-index:42;left:10px;right:10px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-height:46dvh;padding:15px;border-radius:22px;
  }
  body.rc-train-ux-v2 #trainOverview .mobile-sheet-grabber{display:flex}
  body.rc-train-ux-v2 #trainOverview .train-overview-grid{display:none}
  body.rc-train-ux-v2 #trainOverview .train-overview-list{max-height:250px}

  body.train-page.rc-train-ux-v2 .train-page-top,body.rph-page.rc-train-ux-v2 .rph-top,body.rs-page.rc-train-ux-v2 .rs-top{padding:12px 14px}
  body.train-page.rc-train-ux-v2 .train-page-main,body.rph-page.rc-train-ux-v2 .rph-main,body.rs-page.rc-train-ux-v2 .rs-main{width:100%;padding:12px 10px 38px}
  body.train-page.rc-train-ux-v2 .train-page-hero,body.rph-page.rc-train-ux-v2 .rph-hero,body.rs-page.rc-train-ux-v2 .rs-hero,body.rs-page.rc-train-ux-v2 .rs-directory-hero{padding:22px 16px;border-radius:22px}
  body.train-page.rc-train-ux-v2 .train-page-card,body.rph-page.rc-train-ux-v2 .rph-card,body.rph-page.rc-train-ux-v2 .rph-section,body.rs-page.rc-train-ux-v2 .rs-card{padding:16px;border-radius:19px}
  body.rph-page.rc-train-ux-v2 .rph-hero h1{font-size:37px}
  body.rph-page.rc-train-ux-v2 .rph-search{display:grid;grid-template-columns:1fr;margin-top:18px}
  body.rph-page.rc-train-ux-v2 .rph-search button{min-height:45px}
  body.rph-page.rc-train-ux-v2 .rph-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.rph-page.rc-train-ux-v2 .rph-kpis>div{min-height:88px;padding-left:42px}
  body.rs-page.rc-train-ux-v2 .rs-live-layout,body.rs-page.rc-train-ux-v2 .rs-two{grid-template-columns:1fr}
  body.rs-page.rc-train-ux-v2 .rs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:420px){
  body.rc-train-ux-v2 #trainDetailCard h2{font-size:27px}
  body.rc-train-ux-v2 .rc-train-ux-actions{grid-template-columns:repeat(4,1fr);gap:5px}
  body.rc-train-ux-v2 .rc-train-ux-action{min-height:62px;padding-inline:2px}
  body.rc-train-ux-v2 .rc-train-ux-fact-copy span{font-size:7.5px}
  body.rc-train-ux-v2 .rc-train-ux-fact-copy strong{font-size:10.5px}
  body.rph-page.rc-train-ux-v2 .rph-kpis{grid-template-columns:1fr 1fr}
}

@media (prefers-reduced-motion:reduce){
  body.rc-train-ux-v2 .rc-train-ux-action,body.rph-page.rc-train-ux-v2 .rph-list-grid>a{transition:none}
}


/* --- v2.0.1 compact card + cleaner legend bar refinements --- */
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{
  position:fixed;
  top:154px;
  left:20px;
  width:min(382px,calc(100vw - 40px));
  max-height:calc(100dvh - 214px);
  padding:18px 18px 16px;
  border-radius:24px;
  overflow:hidden auto;
  box-shadow:0 18px 52px rgba(23,54,61,.15),0 2px 10px rgba(23,54,61,.05);
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard::before{
  content:"";
  position:absolute;
  right:-44px;
  top:-34px;
  width:168px;
  height:168px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(11,184,121,.14) 0,rgba(11,184,121,.08) 34%,rgba(11,184,121,0) 72%);
  pointer-events:none;
}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard::after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:61px;
  height:1px;
  background:linear-gradient(90deg,rgba(13,120,90,.12),rgba(13,120,90,0));
  pointer-events:none;
}
body.rc-train-ux-v2 .rc-train-ux-back{margin:0 0 12px;font-size:10.5px}
body.rc-train-ux-v2 .train-detail-topline{margin-bottom:4px;padding-right:32px}
body.rc-train-ux-v2 .train-detail-kicker{font-size:8px;letter-spacing:.07em}
body.rc-train-ux-v2 .train-detail-glyph{width:22px;height:22px;border-radius:8px}
body.rc-train-ux-v2 .train-detail-freshness{padding:4px 7px;font-size:7.6px}
body.rc-train-ux-v2 #trainFollowBtn{width:28px;height:28px;border-radius:10px}
body.rc-train-ux-v2 #trainDetailCard .card-close{right:12px;top:12px;width:32px;height:32px}
body.rc-train-ux-v2 #trainDetailCard .train-detail-title-row{margin-top:4px}
body.rc-train-ux-v2 #trainDetailCard h2{margin:0 82px 3px 0;font-size:27px;line-height:1;letter-spacing:-.05em}
body.rc-train-ux-v2 #trainDetailCard>p#trainDetailRoute{margin:0 0 12px;max-width:250px;font-size:12px;line-height:1.38;color:#587079}
body.rc-train-ux-v2 .rc-train-ux-badges{gap:5px;margin:7px 0 8px;padding-right:88px}
body.rc-train-ux-v2 .rc-train-ux-badge{min-height:22px;padding:4px 8px;font-size:8px;box-shadow:inset 0 0 0 1px rgba(26,68,76,.04)}
body.rc-train-ux-v2 .rc-train-ux-delay{
  top:74px;right:18px;min-width:82px;min-height:58px;padding:8px 10px;border-radius:17px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.46);
}
body.rc-train-ux-v2 .rc-train-ux-delay strong{font-size:18px}
body.rc-train-ux-v2 .rc-train-ux-delay span{font-size:8.2px}
body.rc-train-ux-v2 .rc-train-ux-actions{gap:8px;margin:6px 0 11px}
body.rc-train-ux-v2 .rc-train-ux-action{
  min-height:56px;padding:7px 4px 8px;border-radius:14px;font-size:8.7px;gap:5px;background:rgba(255,255,255,.88)
}
body.rc-train-ux-v2 .rc-train-ux-action>span:first-child{
  display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#f1f6f4;color:inherit;
}
body.rc-train-ux-v2 .rc-train-ux-action.is-primary>span:first-child,
body.rc-train-ux-v2 .rc-train-ux-action.is-primary.is-watched>span:first-child{background:rgba(255,255,255,.68)}
body.rc-train-ux-v2 .rc-train-ux-facts{gap:7px;margin:0 0 9px}
body.rc-train-ux-v2 .rc-train-ux-fact{
  min-height:58px;padding:9px 10px;border-radius:15px;background:linear-gradient(135deg,#f9fbfb,#f3f7f7);
  grid-template-columns:28px minmax(0,1fr);gap:8px;box-shadow:inset 0 0 0 1px rgba(22,66,73,.04)
}
body.rc-train-ux-v2 .rc-train-ux-fact-icon{width:28px;height:28px;border-radius:9px;background:#ecf6f2}
body.rc-train-ux-v2 .rc-train-ux-fact-icon svg{width:22px;height:22px}
body.rc-train-ux-v2 .rc-train-ux-fact-copy{gap:1px}
body.rc-train-ux-v2 .rc-train-ux-fact-copy span{font-size:7.5px;letter-spacing:.01em}
body.rc-train-ux-v2 .rc-train-ux-fact-copy strong{font-size:11.3px;line-height:1.15}
body.rc-train-ux-v2 .rc-train-ux-fact-copy small{font-size:7.2px}
body.rc-train-ux-v2 .rc-train-ux-next-stop{
  appearance:none;width:100%;min-height:38px;margin:0 0 9px;padding:8px 12px;border:1px solid #dce7e2;border-radius:13px;
  background:linear-gradient(135deg,#f7fbf9,#f1f7f4);color:#1f4953;display:flex;align-items:center;gap:10px;cursor:pointer;
}
body.rc-train-ux-v2 .rc-train-ux-next-stop[hidden]{display:none}
body.rc-train-ux-v2 .rc-next-stop-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:#e8f5ef;color:#0a775a;flex:0 0 auto}
body.rc-train-ux-v2 .rc-next-stop-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.rc-train-ux-v2 .rc-next-stop-copy{display:grid;gap:1px;min-width:0;flex:1 1 auto;text-align:left}
body.rc-train-ux-v2 .rc-next-stop-copy small{font-size:7.4px;color:#7d9097}
body.rc-train-ux-v2 .rc-next-stop-copy strong{font-size:11px;line-height:1.15;color:#14333c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rc-train-ux-v2 .rc-train-ux-next-stop em{font-style:normal;font-size:8.4px;font-weight:800;color:#0a7357;white-space:nowrap}
body.rc-train-ux-v2 .rc-train-ux-more{min-height:37px;border-radius:12px;font-size:8.8px;background:#fbfcfc}
body.rc-train-ux-v2 #trainDetailCard .train-detail-foot{margin-top:9px;padding-top:7px}
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{
  top:154px;right:20px;width:334px;padding:16px;border-radius:22px;box-shadow:0 18px 52px rgba(23,54,61,.14),0 2px 10px rgba(23,54,61,.05)
}
body.rc-train-ux-v2 #trainOverview .overview-title-block strong{font-size:18px}
body.rc-train-ux-v2 #trainOverview .train-overview-item{padding:10px 2px;grid-template-columns:34px minmax(0,1fr) auto}
body.rc-train-ux-v2 #trainOverview .train-overview-item-icon{width:29px;height:29px;border-radius:10px}
body.rc-train-ux-v2 #trainOverview .train-overview-item-copy b{font-size:10px}
body.rc-train-ux-v2 #trainOverview .train-overview-item-copy small{font-size:7.8px}

@media (min-width:761px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-view-nav{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    width:min(960px,calc(100vw - 40px));
    padding:6px;
    gap:8px;
    border-radius:18px;
    overflow:hidden;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab,
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab[data-train-tone="region"]{
    min-width:0;
    flex:none;
    height:48px;
    padding:6px 10px;
    border-radius:14px;
    grid-template-columns:28px minmax(0,1fr) auto;
    column-gap:8px;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab>span{width:28px;height:28px;border-radius:9px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab b{font-size:10px;line-height:1.05}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab small{font-size:7px;line-height:1.12;display:block}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-count{justify-self:end}
}

@media (max-width:1100px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{right:14px;width:316px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{left:14px;top:150px;width:min(372px,calc(100vw - 28px))}
}

@media (max-width:760px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{
    left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;max-height:min(58dvh,640px);
    padding:18px 14px calc(14px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard::before{right:-54px;top:-28px;width:140px;height:140px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard::after{left:14px;right:14px;top:53px}
  body.rc-train-ux-v2 #trainDetailCard h2{font-size:25px;margin-right:86px}
  body.rc-train-ux-v2 #trainDetailCard>p#trainDetailRoute{margin-right:84px;font-size:11.5px}
  body.rc-train-ux-v2 .rc-train-ux-badges{padding-right:84px}
  body.rc-train-ux-v2 .rc-train-ux-delay{top:55px;right:14px;min-width:78px;min-height:54px}
  body.rc-train-ux-v2 .rc-train-ux-actions{gap:6px}
  body.rc-train-ux-v2 .rc-train-ux-action{min-height:58px;font-size:8.4px}
  body.rc-train-ux-v2 .rc-train-ux-action>span:first-child{width:26px;height:26px}
  body.rc-train-ux-v2 .rc-train-ux-fact{min-height:56px}
  body.rc-train-ux-v2 .rc-train-ux-more{min-height:36px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainOverview{left:10px;right:10px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto}
}

@media (max-width:420px){
  body.rc-train-ux-v2 .rc-train-ux-action b{font-size:8.1px}
  body.rc-train-ux-v2 .rc-next-stop-copy strong{font-size:10.2px}
}


/* --- v2.0.2 compact jízdní řád + async refresh polish --- */
body.rc-train-ux-v2 #trainDetailCard>#trainJourney:not([hidden]){
  margin:8px 0 9px;
  padding:10px 11px 9px;
  border:1px solid #e0e9e6;
  border-radius:15px;
  background:linear-gradient(180deg,#fbfdfc,#f6faf8);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-head{
  min-height:28px;margin:0 0 5px;display:flex;align-items:center;gap:6px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-head>span{
  margin-right:auto;font-size:9.5px;font-weight:900;letter-spacing:-.01em;color:#173f47;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-actions{
  display:flex;align-items:center;gap:5px;margin-left:auto;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-actions>strong{
  max-width:116px;padding:4px 7px;border-radius:999px;background:#edf6f2;color:#3b6d61;font-size:6.7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-actions button,
body.rc-train-ux-v2 .rc-train-ux-timetable-toggle{
  min-height:26px;padding:4px 8px;border:1px solid #d8e6e0;border-radius:9px;background:#fff;color:#146f58;font:inherit;font-size:6.9px;font-weight:850;cursor:pointer;
}
body.rc-train-ux-v2 .rc-train-ux-timetable-toggle[hidden]{display:none}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{
  position:relative;max-height:132px;overflow:hidden;overscroll-behavior:contain;scrollbar-width:thin;
  mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 18px),transparent 100%);
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{
  max-height:270px;overflow:auto;mask-image:none;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{
  min-height:34px;grid-template-columns:17px minmax(0,1fr) auto;gap:7px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-copy b{font-size:8.4px;color:#23444c}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-copy small{font-size:6.6px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{font-size:6.4px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{font-size:7.9px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live{min-height:31px;border-radius:10px;background:rgba(227,247,239,.72)}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live-copy b{font-size:8px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-note{margin-top:4px;padding-top:4px;font-size:5.8px}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyProgress{margin:3px 0 6px;padding:6px 4px 2px}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyProgress .train-progress-head{margin-bottom:5px}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyProgress .train-progress-meta{margin-top:5px}
body.rc-train-ux-v2 .train-full-detail-journey-card{align-self:start}
body.rc-train-ux-v2 .train-full-detail-journey-card .train-full-detail-empty{min-height:64px;padding:16px;line-height:1.45}

@media (max-width:760px){
  body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{max-height:116px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{max-height:230px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-head>span{font-size:9px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-actions>strong{max-width:94px}
}

/* --- v2.0.3 map route polish + stable timetable / no visual jump --- */
body.rc-train-ux-v2 .app-shell[data-mode="trains"] #trainDetailCard{
  scrollbar-gutter:stable;
  overflow-anchor:none;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{
  overflow-anchor:none;
  scrollbar-gutter:stable;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{
  position:relative;
  margin:1px 0;
  padding:5px 5px 5px 1px;
  border-radius:10px;
  transition:background .14s ease,opacity .14s ease;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-current{
  opacity:.62;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-next{
  background:linear-gradient(90deg,rgba(226,248,239,.9),rgba(246,251,249,.35));
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-destination{
  background:linear-gradient(90deg,rgba(235,244,241,.78),rgba(248,250,249,.18));
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-rail,
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live-rail{
  color:#83a9a0;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-next .train-journey-dot{
  box-shadow:0 0 0 4px rgba(18,185,129,.12);
  background:#12b981;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-destination .train-journey-dot{
  background:#08745a;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop{
  min-height:20px;
  padding:2px 6px;
  margin-left:4px;
  border:1px solid #dbe8e3;
  border-radius:999px;
  background:#fff;
  color:#337364;
  font-size:6.2px;
  font-weight:850;
  line-height:1;
  vertical-align:middle;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop::before{
  content:"⌖";
  margin-right:3px;
  font-size:7px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{
  color:#1a4650;
  text-decoration:none;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link:hover{
  color:#08765a;
  text-decoration:underline;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live{
  position:relative;
  box-shadow:inset 3px 0 0 #12b981;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-gap{
  margin:4px 0 4px 18px;
  color:#85979b;
  font-size:6.6px;
}

/* Keep train surfaces stable while the live feed refreshes. */
body.rc-train-ux-v2 .rc-train-ux-facts,
body.rc-train-ux-v2 .rc-train-ux-badges,
body.rc-train-ux-v2 #trainJourney{
  contain:layout style;
}

@media (prefers-reduced-motion:no-preference){
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{transition-duration:.12s}
}

/* --- v2.0.4 timetable density + clearer map affordance --- */
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{
  min-height:28px;
  padding:3px 4px 3px 0;
  margin:0;
  grid-template-columns:15px minmax(0,1fr) auto;
  gap:6px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{
  display:inline-block;
  max-width:100%;
  font-size:8.35px;
  line-height:1.16;
  font-weight:760;
  letter-spacing:-.012em;
  color:#244a53;
  white-space:normal;
  text-wrap:pretty;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-copy{
  min-width:0;
  gap:1px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line{
  min-height:16px;
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line small{
  font-size:5.8px;
  line-height:1.1;
  color:#93a3a6;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times{
  min-width:49px;
  gap:1px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{
  font-size:5.7px;
  line-height:1.08;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{
  font-size:6.9px;
  line-height:1.08;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop{
  min-height:18px;
  padding:2px 5px;
  margin-left:2px;
  border-radius:8px;
  border-color:#d9e8e2;
  background:#f9fcfb;
  color:#24705f;
  font-size:5.65px;
  box-shadow:none;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop:hover,
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop:focus-visible{
  background:#e9f7f1;
  border-color:#acdcca;
  color:#076e51;
  outline:none;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop::before{
  font-size:6px;
  margin-right:2px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-rail,
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live-rail{
  width:15px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-dot{
  width:7px;
  height:7px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-next .train-journey-dot{
  box-shadow:0 0 0 3px rgba(18,185,129,.11);
}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{
  max-height:122px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{
  max-height:230px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live{
  min-height:26px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-live-copy b{
  font-size:7.3px;
}

@media (max-width:760px){
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{font-size:8.1px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{max-height:108px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{max-height:205px}
}

/* --- v2.0.5 passenger-only timetable --- */
body.rc-train-ux-v2 #trainJourney.rc-passenger-overridden{display:none}
body.rc-train-ux-v2 .rc-passenger-timetable{
  margin:8px 0 9px;padding:10px 11px 9px;border:1px solid #dfe9e5;border-radius:15px;
  background:linear-gradient(180deg,#fcfefd,#f5faf7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.58);
}
body.rc-train-ux-v2 .rc-passenger-timetable[hidden]{display:none}
body.rc-train-ux-v2 .rc-passenger-timetable-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child{display:grid;gap:1px;min-width:0;margin-right:auto}
body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child>span{font-size:9.8px;font-weight:900;color:#173f47;letter-spacing:-.01em}
body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child>small{font-size:6.2px;color:#84969b}
body.rc-train-ux-v2 .rc-passenger-timetable-actions{display:flex;align-items:center;gap:5px}
body.rc-train-ux-v2 .rc-passenger-timetable-actions>strong{padding:4px 7px;border-radius:999px;background:#e9f7f0;color:#246d59;font-size:6.8px;white-space:nowrap}
body.rc-train-ux-v2 .rc-passenger-timetable-actions>button{min-height:27px;padding:4px 8px;border:1px solid #d8e6e0;border-radius:9px;background:#fff;color:#126d57;font:inherit;font-size:6.9px;font-weight:850;cursor:pointer}
body.rc-train-ux-v2 .rc-passenger-list{display:grid;max-height:170px;overflow:hidden;scrollbar-width:thin;scrollbar-gutter:stable;overscroll-behavior:contain}
body.rc-train-ux-v2 .rc-passenger-timetable.is-expanded .rc-passenger-list{max-height:300px;overflow:auto}
body.rc-train-ux-v2 .rc-passenger-call{
  min-height:34px;display:grid;grid-template-columns:15px minmax(0,1fr) 74px;gap:7px;align-items:center;
  padding:4px 3px 4px 0;border-radius:10px;position:relative;
}
body.rc-train-ux-v2 .rc-passenger-call.is-next{background:linear-gradient(90deg,rgba(222,248,237,.95),rgba(247,252,249,.28))}
body.rc-train-ux-v2 .rc-passenger-call.is-past{opacity:.55}
body.rc-train-ux-v2 .rc-passenger-call.is-destination{background:linear-gradient(90deg,rgba(233,246,241,.8),rgba(249,252,250,.16))}
body.rc-train-ux-v2 .rc-passenger-rail{align-self:stretch;position:relative;display:grid;place-items:center;color:#10ae7a}
body.rc-train-ux-v2 .rc-passenger-rail::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1.5px;background:#b9dfd2;transform:translateX(-50%)}
body.rc-train-ux-v2 .rc-passenger-call:first-child .rc-passenger-rail::before{top:50%}
body.rc-train-ux-v2 .rc-passenger-call:last-child .rc-passenger-rail::before{bottom:50%}
body.rc-train-ux-v2 .rc-passenger-rail i{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:#12b981;box-shadow:0 0 0 3px #e7f8f1}
body.rc-train-ux-v2 .rc-passenger-call.is-next .rc-passenger-rail i{width:10px;height:10px;background:#08775a;box-shadow:0 0 0 4px rgba(18,185,129,.14)}
body.rc-train-ux-v2 .rc-passenger-copy{min-width:0;display:grid;gap:1px}
body.rc-train-ux-v2 .rc-passenger-titleline{display:flex;align-items:center;gap:5px;min-width:0}
body.rc-train-ux-v2 .rc-passenger-titleline>strong{min-width:0;font-size:9.4px;line-height:1.18;font-weight:790;color:#1e4650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rc-train-ux-v2 .rc-passenger-copy>small{font-size:6.15px;line-height:1.1;color:#899a9e}
body.rc-train-ux-v2 .rc-passenger-map{
  appearance:none;flex:0 0 auto;width:22px;height:22px;padding:0;border:1px solid #d8e7e1;border-radius:8px;background:#fff;color:#14715b;
  display:grid;place-items:center;cursor:pointer;
}
body.rc-train-ux-v2 .rc-passenger-map:hover,body.rc-train-ux-v2 .rc-passenger-map:focus-visible{background:#e9f7f1;border-color:#a9dcca;outline:none}
body.rc-train-ux-v2 .rc-passenger-map svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.rc-train-ux-v2 .rc-passenger-times{display:grid;gap:1px;text-align:right;justify-items:end;min-width:0}
body.rc-train-ux-v2 .rc-passenger-times span,body.rc-train-ux-v2 .rc-passenger-times strong{font-size:7.15px;line-height:1.1;white-space:nowrap}
body.rc-train-ux-v2 .rc-passenger-times span{font-weight:650;color:#809196}
body.rc-train-ux-v2 .rc-passenger-times strong{font-weight:900;color:#08735a}
body.rc-train-ux-v2 .rc-passenger-times em{font-style:normal;font-size:5.6px;font-weight:800;color:#9aa8ab;margin-right:3px;text-transform:uppercase;letter-spacing:.02em}
body.rc-train-ux-v2 .rc-passenger-legend{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;padding-top:5px;border-top:1px solid #e8efec;color:#87979b;font-size:5.6px}
body.rc-train-ux-v2 .rc-passenger-legend span{display:flex;align-items:center;gap:4px}
body.rc-train-ux-v2 .rc-passenger-legend i{width:7px;height:7px;border-radius:50%;background:#12b981;box-shadow:0 0 0 2px #e7f8f1}
body.rc-train-ux-v2 .rc-passenger-legend b{font-size:5.5px;color:#647a80}

@media (max-width:760px){
  body.rc-train-ux-v2 .rc-passenger-list{max-height:150px}
  body.rc-train-ux-v2 .rc-passenger-timetable.is-expanded .rc-passenger-list{max-height:250px}
  body.rc-train-ux-v2 .rc-passenger-call{grid-template-columns:14px minmax(0,1fr) 68px;min-height:33px}
  body.rc-train-ux-v2 .rc-passenger-titleline>strong{font-size:9.1px}
  body.rc-train-ux-v2 .rc-passenger-times span,body.rc-train-ux-v2 .rc-passenger-times strong{font-size:6.9px}
  body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child>small{display:none}
  body.rc-train-ux-v2 .rc-passenger-legend{font-size:5.2px}
}


/* --- v2.0.7 timetable readability / map icon cleanup --- */
body.rc-train-ux-v2 .rc-passenger-timetable{
  margin:10px 0 10px;
  padding:12px 13px 10px;
  border-radius:17px;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%);
}
body.rc-train-ux-v2 .rc-passenger-timetable-head{gap:10px;margin-bottom:8px}
body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child>span{
  font-size:11px;line-height:1.15;font-weight:900;letter-spacing:-.015em;
}
body.rc-train-ux-v2 .rc-passenger-timetable-head>div:first-child>small{font-size:7px}
body.rc-train-ux-v2 .rc-passenger-timetable-actions{gap:6px}
body.rc-train-ux-v2 .rc-passenger-timetable-actions>strong{
  padding:5px 8px;font-size:7.5px;
}
body.rc-train-ux-v2 .rc-passenger-timetable-actions>button{
  min-height:30px;padding:5px 9px;border-radius:10px;font-size:7.8px;
}
body.rc-train-ux-v2 .rc-passenger-list{max-height:205px}
body.rc-train-ux-v2 .rc-passenger-timetable.is-expanded .rc-passenger-list{max-height:350px}
body.rc-train-ux-v2 .rc-passenger-call{
  min-height:42px;
  grid-template-columns:16px minmax(0,1fr) 30px 84px;
  gap:7px;
  padding:5px 3px 5px 0;
  border-radius:11px;
}
body.rc-train-ux-v2 .rc-passenger-rail i{
  width:9px;height:9px;box-shadow:0 0 0 3px #e7f8f1;
}
body.rc-train-ux-v2 .rc-passenger-call.is-next .rc-passenger-rail i{
  width:11px;height:11px;box-shadow:0 0 0 4px rgba(18,185,129,.15);
}
body.rc-train-ux-v2 .rc-passenger-copy{gap:2px}
body.rc-train-ux-v2 .rc-passenger-titleline{display:block;min-width:0}
body.rc-train-ux-v2 .rc-passenger-titleline>strong{
  display:block;
  min-width:0;
  font-size:11.6px;
  line-height:1.18;
  font-weight:780;
  color:#183f49;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.rc-train-ux-v2 .rc-passenger-copy>small{
  min-height:8px;
  font-size:7px;
  line-height:1.12;
  color:#8a9b9f;
}
body.rc-train-ux-v2 .rc-passenger-map,
body.rc-train-ux-v2 .rc-passenger-map-spacer{
  align-self:center;
  justify-self:center;
  width:29px;
  height:29px;
}
body.rc-train-ux-v2 .rc-passenger-map{
  border:0;
  border-radius:10px;
  background:#eaf7f1;
  color:#08755a;
  box-shadow:none;
}
body.rc-train-ux-v2 .rc-passenger-map:hover,
body.rc-train-ux-v2 .rc-passenger-map:focus-visible{
  background:#dff3e9;
  color:#05654c;
  outline:2px solid rgba(11,184,121,.16);
  outline-offset:1px;
}
body.rc-train-ux-v2 .rc-passenger-map svg{width:17px;height:17px;stroke-width:1.75}
body.rc-train-ux-v2 .rc-passenger-times{
  gap:3px;
  align-self:center;
}
body.rc-train-ux-v2 .rc-passenger-times span,
body.rc-train-ux-v2 .rc-passenger-times strong{
  font-size:8.7px;
  line-height:1.12;
  letter-spacing:-.005em;
}
body.rc-train-ux-v2 .rc-passenger-times strong{font-size:9.2px}
body.rc-train-ux-v2 .rc-passenger-times em{
  min-width:22px;
  display:inline-block;
  margin-right:4px;
  font-size:6.4px;
  letter-spacing:.035em;
}
body.rc-train-ux-v2 .rc-passenger-legend{
  margin-top:7px;padding-top:7px;font-size:6.4px;
}
body.rc-train-ux-v2 .rc-passenger-legend b{font-size:6.4px}

@media (max-width:760px){
  body.rc-train-ux-v2 .rc-passenger-timetable{padding:11px 11px 9px}
  body.rc-train-ux-v2 .rc-passenger-list{max-height:190px}
  body.rc-train-ux-v2 .rc-passenger-timetable.is-expanded .rc-passenger-list{max-height:315px}
  body.rc-train-ux-v2 .rc-passenger-call{
    grid-template-columns:15px minmax(0,1fr) 28px 74px;
    min-height:40px;
    gap:6px;
  }
  body.rc-train-ux-v2 .rc-passenger-titleline>strong{font-size:10.8px}
  body.rc-train-ux-v2 .rc-passenger-times span{font-size:8.2px}
  body.rc-train-ux-v2 .rc-passenger-times strong{font-size:8.7px}
  body.rc-train-ux-v2 .rc-passenger-map,
  body.rc-train-ux-v2 .rc-passenger-map-spacer{width:27px;height:27px}
  body.rc-train-ux-v2 .rc-passenger-map svg{width:16px;height:16px}
}

/* --- v2.0.8 motion polish + calmer map hierarchy --- */
body.rc-train-ux-v2 #trainOverview .rc-overview-redundant{display:none}
body.rc-train-ux-v2 #trainOverview .train-overview-head{margin-bottom:10px}
body.rc-train-ux-v2 #trainOverview .overview-mobile-subline{margin-top:3px;line-height:1.25}
body.rc-train-ux-v2 #trainOverview .train-overview-grid{margin-top:2px}

@media (min-width:761px){
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-view-nav{
    width:min(980px,calc(100vw - 36px));
    grid-template-columns:1.08fr 1fr 1.08fr 1.08fr 1.22fr;
    gap:6px;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab,
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab[data-train-tone="region"]{
    min-width:0;
    padding:6px 9px;
    grid-template-columns:28px minmax(max-content,1fr) auto;
    column-gap:7px;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-copy{
    min-width:max-content;
    overflow:visible;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-copy b,
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-copy small{
    overflow:visible;
    text-overflow:clip;
    white-space:nowrap;
  }
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-copy b{font-size:9.7px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-copy small{font-size:6.8px}
  body.rc-train-ux-v2 .app-shell[data-mode="trains"] .train-tab-count{min-width:24px}
}

/* The selected journey should read as a calm rail layer, not a neon overlay. */
body.rc-train-ux-v2 .rc-passenger-timetable{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 3px 12px rgba(20,58,49,.025);
}
body.rc-train-ux-v2 .rc-passenger-call.is-next{
  background:linear-gradient(90deg,rgba(226,248,239,.92),rgba(249,252,250,.38));
}
body.rc-train-ux-v2 .rc-passenger-call.is-past{opacity:.46}
body.rc-train-ux-v2 .rc-passenger-call:not(.is-past) .rc-passenger-titleline>strong{color:#173f48}
body.rc-train-ux-v2 .rc-passenger-call.is-next .rc-passenger-titleline>strong{color:#076c52;font-weight:860}
body.rc-train-ux-v2 .rc-passenger-call.is-destination .rc-passenger-titleline>strong{font-weight:860}
body.rc-train-ux-v2 .rc-passenger-times strong{font-variant-numeric:tabular-nums}
body.rc-train-ux-v2 .rc-passenger-times span{font-variant-numeric:tabular-nums}

@media (max-width:760px){
  body.rc-train-ux-v2 #trainOverview .rc-overview-redundant{display:none}
}


/* --- v2.0.8.2 UI/timetable readability + follow action --- */
body.rc-train-ux-v2 .rc-train-ux-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:7px 0 12px}
body.rc-train-ux-v2 .rc-train-ux-action{min-height:60px;padding:7px 4px;border-radius:14px;gap:5px;font-size:8.4px}
body.rc-train-ux-v2 .rc-train-ux-action>span:first-child{width:28px;height:28px}
body.rc-train-ux-v2 .rc-train-ux-action svg{width:19px;height:19px}
body.rc-train-ux-v2 .rc-train-ux-action b{font-size:8.1px;line-height:1.05}
body.rc-train-ux-v2 .rc-train-ux-action.is-following{background:#ecf8f3;border-color:#a6dcc3;color:#0a7457}
body.rc-train-ux-v2 .rc-train-ux-timetable-toggle{display:inline-flex;align-items:center;gap:4px}
body.rc-train-ux-v2 .rc-train-ux-timetable-toggle .rc-toggle-arrow{font-size:10px;line-height:1;color:#62867c}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{min-height:34px;padding:5px 4px 5px 0;gap:7px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{font-size:9.5px;line-height:1.18;font-weight:780;color:#1f4751}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-copy{gap:2px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line{min-height:18px;gap:5px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line small{font-size:6.25px;color:#8ea0a4}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times{min-width:57px;gap:2px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{font-size:6.2px;line-height:1.08}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{font-size:7.8px;line-height:1.08}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop{display:inline-grid;place-items:center;width:24px;min-width:24px;height:22px;min-height:22px;padding:0;margin-left:1px;border-radius:999px;font-size:0;color:transparent;background:#f8fcfa;border-color:#d7e7e1}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop::before{content:"⌖";margin:0;font-size:10px;line-height:1;color:#2d7f6a}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-passenger-stop .train-journey-dot{background:#12b981;box-shadow:0 0 0 3px rgba(18,185,129,.11)}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-pass-through .train-journey-dot{background:#b7c7c5;box-shadow:none}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-passenger-stop .train-journey-station-link{color:#1a5a4b}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-pass-through .train-journey-station-link{color:#33515a}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-pass-through .train-journey-meta-line small{color:#93a0a5}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-pass-through{background:linear-gradient(90deg,rgba(243,247,247,.88),rgba(249,251,251,.4))}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop.is-passenger-stop{background:linear-gradient(90deg,rgba(231,248,240,.78),rgba(249,252,251,.3))}
body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{max-height:138px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{max-height:274px}
@media (max-width:760px){
  body.rc-train-ux-v2 .rc-train-ux-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
  body.rc-train-ux-v2 .rc-train-ux-action{min-height:56px;padding:6px 2px;font-size:7.9px}
  body.rc-train-ux-v2 .rc-train-ux-action>span:first-child{width:25px;height:25px}
  body.rc-train-ux-v2 .rc-train-ux-action b{font-size:7.6px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{font-size:9.1px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{font-size:6px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{font-size:7.4px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourneyList{max-height:132px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney[data-expanded="1"] #trainJourneyList{max-height:235px}
}

/* --- v2.0.8.4 route links + bigger timetable + map pill --- */
body.rc-train-ux-v2 #trainDetailRoute{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;line-height:1.28;
}
body.rc-train-ux-v2 .rc-train-ux-route-prefix{
  font-size:11px;font-weight:700;color:#7b8d90;text-transform:uppercase;letter-spacing:.04em;
}
body.rc-train-ux-v2 .rc-train-ux-route-link{
  display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:10px;
  background:#eef8f3;color:#0f775a;text-decoration:none;font-weight:760;
}
body.rc-train-ux-v2 .rc-train-ux-route-link:hover,
body.rc-train-ux-v2 .rc-train-ux-route-link:focus-visible{
  background:#e3f5ec;color:#0b6a50;text-decoration:none;outline:none;
}
body.rc-train-ux-v2 .rc-train-ux-route-sep{font-size:14px;font-weight:800;color:#6e8581}

body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{
  min-height:42px;padding:7px 4px 7px 0;gap:8px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-copy{gap:3px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{
  font-size:11.6px;line-height:1.24;font-weight:790;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line{min-height:20px;gap:7px}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line small{
  font-size:7px;line-height:1.12;color:#87979c;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times{
  min-width:74px;gap:2px;align-items:flex-end;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{
  font-size:7.5px;line-height:1.1;color:#7d9195;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{
  font-size:9.8px;line-height:1.1;font-weight:820;color:#0c7056;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:0;
  height:24px;min-height:24px;padding:0 10px;border-radius:999px;font-size:9.6px;font-weight:760;
  color:#216250;background:#f5fbf8;border-color:#cfe2da;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop::before{
  content:"⌖";font-size:11px;line-height:1;margin:0;color:#1d7d66;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop:hover,
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop:focus-visible{
  background:#ebf8f2;border-color:#b9dccc;color:#185947;text-decoration:none;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty{
  padding:12px 12px 11px;border-radius:14px;background:linear-gradient(180deg,rgba(240,248,244,.96),rgba(248,251,249,.92));
  border:1px solid #dce9e3;display:grid;gap:8px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty strong{
  font-size:11.4px;line-height:1.25;color:#23444c;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty p{
  margin:0;font-size:8.2px;line-height:1.35;color:#68807a;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty-meta{
  display:flex;flex-wrap:wrap;gap:6px;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty-pill{
  display:inline-grid;gap:2px;min-width:0;padding:7px 9px;border-radius:12px;background:#ffffff;border:1px solid #d7e6df;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty-pill small{
  font-size:6.5px;line-height:1;color:#7d9391;text-transform:uppercase;letter-spacing:.04em;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty-pill b{
  font-size:9.2px;line-height:1.15;color:#20434b;font-weight:780;
}

@media (max-width:760px){
  body.rc-train-ux-v2 .rc-train-ux-route-link{min-height:23px;padding:3px 7px;font-size:11px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-stop{min-height:40px;padding:6px 3px 6px 0}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-station-link{font-size:10.8px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-meta-line small{font-size:6.8px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times{min-width:69px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times span{font-size:7.1px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-times strong{font-size:9.2px}
  body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-map-stop{height:23px;min-height:23px;padding:0 9px;font-size:9.2px}
}


/* --- v2.0.8.5: remove duplicate native follow icon + real station links --- */
body.rc-train-ux-v2 #trainDetailCard #trainFollowBtn{
  display:none;
}
body.rc-train-ux-v2 #trainDetailRoute .rc-train-ux-route-link{
  position:relative;
  text-decoration:none;
  box-shadow:inset 0 -1px 0 rgba(10,119,90,.25);
}
body.rc-train-ux-v2 #trainDetailRoute .rc-train-ux-route-link::after{
  content:"↗";
  margin-left:4px;
  font-size:.72em;
  opacity:.66;
}
body.rc-train-ux-v2 #trainDetailRoute .rc-train-ux-route-link:hover,
body.rc-train-ux-v2 #trainDetailRoute .rc-train-ux-route-link:focus-visible{
  box-shadow:inset 0 -2px 0 rgba(10,119,90,.38);
}

/* --- v2.0.8.6 clickable train title --- */
body.rc-train-ux-v2 #trainDetailTitle .rc-train-ux-title-link{
  display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;border-radius:10px;
  transition:color .14s ease,background .14s ease;
}
body.rc-train-ux-v2 #trainDetailTitle .rc-train-ux-title-link span{
  font-size:.42em;line-height:1;opacity:.55;transform:translateY(-.12em);
}
body.rc-train-ux-v2 #trainDetailTitle .rc-train-ux-title-link:hover,
body.rc-train-ux-v2 #trainDetailTitle .rc-train-ux-title-link:focus-visible{
  color:#08745a;background:rgba(225,246,237,.65);outline:none;
}

/* --- v2.0.8.7 clickable title hardening + draggable live overview + integrity warning --- */
body.rc-train-ux-v2 #trainDetailTitle{
  cursor:pointer;
}
body.rc-train-ux-v2 #trainDetailTitle:focus-visible{
  outline:2px solid rgba(11,184,121,.32);outline-offset:4px;border-radius:10px;
}
body.rc-train-ux-v2 #trainDetailTitle:not(:has(.rc-train-ux-title-link))::after{
  content:"↗";display:inline-block;margin-left:7px;font-size:.38em;line-height:1;opacity:.48;vertical-align:top;transform:translateY(.28em);
}

@media (min-width:761px){
  body.rc-train-ux-v2 #trainOverview.rc-overview-draggable .train-overview-head{
    cursor:grab;user-select:none;touch-action:none;
  }
  body.rc-train-ux-v2 #trainOverview.rc-overview-draggable.is-dragging .train-overview-head{cursor:grabbing}
  body.rc-train-ux-v2 #trainOverview.rc-overview-draggable.is-dragging{
    transition:none;box-shadow:0 24px 66px rgba(23,54,61,.19),0 4px 14px rgba(23,54,61,.08);
  }
  body.rc-train-ux-v2 #trainOverview.rc-overview-draggable .overview-title-block::before{
    content:"⋮⋮";display:inline-block;margin-right:6px;color:#a2b4b1;font-size:11px;letter-spacing:-2px;vertical-align:1px;
  }
}

body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty.is-warning{
  background:linear-gradient(180deg,#fff8ef,#fffdf9);border-color:#f1d8b7;
}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty.is-warning strong{color:#8a5a13}
body.rc-train-ux-v2 #trainDetailCard #trainJourney .train-journey-empty.is-warning p{color:#846f54}
