@import url("https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;500;600;700&display=swap");
/* =========================================================
   SIGNALCORE NT — projeção pública
   Home "Agora no Transporte" + página Grande São Paulo.
   ========================================================= */

.nt-sc-live-dot {
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #0a9a42;
	box-shadow: 0 0 0 4px rgba(10,154,66,.12);
}

.nt-sc-line-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--nt-line-color, #0a7d2c);
	color: var(--nt-line-text, #fff) !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}

/* ---------- HOME ---------- */
.nt-home-v3-page .nt-sc-home-strip {
	display: grid;
	grid-template-columns: minmax(190px, .78fr) minmax(0, 3fr) auto;
	align-items: center;
	gap: 18px;
	width: 100%;
	margin: 18px 0 28px;
	padding: 13px 15px;
	border: 1px solid #dfe9e2;
	border-radius: 12px;
	background: linear-gradient(90deg, #f3faf5 0%, #fff 38%, #fff 100%);
	box-shadow: 0 5px 20px rgba(12,67,31,.035);
	font-family: "Source Sans 3", sans-serif;
}

.nt-sc-home-strip__intro {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
}
.nt-sc-home-strip__intro > div { min-width: 0; }
.nt-sc-home-strip__intro strong {
	display: block;
	margin: 0;
	font-family: "Titillium Web", sans-serif !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.1;
	color: #075d28;
	text-transform: uppercase;
	letter-spacing: .25px;
}
.nt-sc-home-strip__intro small {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	line-height: 1.2;
	color: #6d776f;
}

.nt-sc-home-strip__lines {
	display: flex;
	align-items: stretch;
	gap: 8px;
	min-width: 0;
	overflow-x: auto;
	padding: 2px 2px 5px;
	scrollbar-width: thin;
}

.nt-sc-home-line {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	flex: 0 0 auto;
	min-width: 118px;
	padding: 5px 8px 5px 6px;
	border: 1px solid #e5ebe7;
	border-radius: 9px;
	background: #fff;
	color: #152019 !important;
	text-decoration: none !important;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nt-sc-home-line:hover { transform: translateY(-1px); border-color: #bfd8c7; box-shadow: 0 5px 12px rgba(5,94,39,.07); }
.nt-sc-home-line.is-alert { border-color: #ecd9b5; background: #fffdf8; }
.nt-sc-home-line.is-unknown { opacity: .78; }
.nt-sc-home-line .nt-sc-line-badge { width: 27px; height: 27px; font-size: 11px; }
.nt-sc-home-line__copy { min-width: 0; }
.nt-sc-home-line__copy strong,
.nt-sc-home-line__copy small { display: block; white-space: nowrap; }
.nt-sc-home-line__copy strong { max-width: 116px; overflow: hidden; text-overflow: ellipsis; font-size: 11px; line-height: 1.05; font-weight: 700; }
.nt-sc-home-line__copy small { margin-top: 2px; font-size: 10px; line-height: 1; color: #0b7c35; font-weight: 700; }
.nt-sc-home-line.is-alert .nt-sc-home-line__copy small { color: #b16b00; }
.nt-sc-home-line.is-unknown .nt-sc-home-line__copy small { color: #6e756f; }

.nt-sc-home-strip__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
	white-space: nowrap;
}
.nt-sc-home-strip__meta small { font-size: 10px; color: #7a847c; }
.nt-sc-home-strip__meta a { font-size: 12px; font-weight: 700; color: #087731 !important; text-decoration: none !important; }

/* ---------- GRANDE SÃO PAULO ---------- */
.nt-signalcore-gsp-page {
	--nt-sc-green: #087d31;
	--nt-sc-green-dark: #055e26;
	--nt-sc-border: #dfe7e1;
	--nt-sc-muted: #68736b;
	--nt-sc-text: #101813;
	--nt-sc-container: 1360px;
}
.nt-signalcore-gsp-page .site-content > .ast-container,
.nt-signalcore-gsp-page .ast-container #primary,
.nt-signalcore-gsp-page #primary,
.nt-signalcore-gsp-page .site-main,
.nt-signalcore-gsp-page .entry-content { width: 100% !important; max-width: none !important; }
.nt-signalcore-gsp-page .site-content > .ast-container { padding-left: 0 !important; padding-right: 0 !important; }
.nt-signalcore-gsp-page #primary,
.nt-signalcore-gsp-page .entry-content { margin: 0 !important; }
.nt-signalcore-gsp-page .entry-header,
.nt-signalcore-gsp-page .entry-title { display: none !important; }
.nt-sc-gsp-shell, .nt-sc-gsp-shell * { box-sizing: border-box; }
.nt-sc-gsp-shell { width: 100%; padding: 28px 0 0; color: var(--nt-sc-text); font-family: "Source Sans 3", sans-serif; }
.nt-sc-gsp-container { width: min(calc(100% - 48px), var(--nt-sc-container)); margin-inline: auto; }

.nt-sc-gsp-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(320px, .75fr);
	align-items: end;
	gap: 48px;
	padding: 30px 32px;
	border: 1px solid var(--nt-sc-border);
	border-radius: 15px;
	background:
		linear-gradient(105deg, rgba(255,255,255,.98) 0%, rgba(245,251,247,.95) 62%, rgba(228,244,233,.92) 100%),
		url("https://noticiasdotransporte.com.br/wp-content/uploads/2024/1212NT-1781x2048-0x.png");
	background-size: cover;
	box-shadow: 0 7px 26px rgba(9,64,28,.045);
}
.nt-sc-gsp-eyebrow { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--nt-sc-green); }
.nt-sc-gsp-hero h1 { max-width: 850px; margin: 0 0 9px !important; font-family: "Titillium Web", sans-serif !important; font-size: clamp(34px, 3.1vw, 52px) !important; line-height: 1.03 !important; font-weight: 700 !important; letter-spacing: -.9px; color: #0d1710 !important; }
.nt-sc-gsp-hero p { max-width: 830px; margin: 0 !important; font-size: 17px !important; line-height: 1.42 !important; color: #536158 !important; }
.nt-sc-gsp-source { display: flex; align-items: center; gap: 11px; padding: 14px 16px; border: 1px solid rgba(8,125,49,.16); border-radius: 11px; background: rgba(255,255,255,.83); }
.nt-sc-gsp-source strong, .nt-sc-gsp-source small { display: block; }
.nt-sc-gsp-source strong { font-size: 13px; color: #16321e; }
.nt-sc-gsp-source small { margin-top: 2px; font-size: 11px; color: #718077; }

.nt-sc-gsp-overview,
.nt-sc-gsp-alerts,
.nt-sc-gsp-events,
.nt-sc-gsp-news { margin-top: 32px; }
.nt-sc-gsp-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 13px; }
.nt-sc-gsp-section-heading > div > span { display: block; margin-bottom: 1px; font-size: 11px; font-weight: 800; color: var(--nt-sc-green); text-transform: uppercase; letter-spacing: .08em; }
.nt-sc-gsp-section-heading h2 { margin: 0 !important; font-family: "Titillium Web", sans-serif !important; font-size: 28px !important; line-height: 1.1 !important; font-weight: 700 !important; color: #111a14 !important; }
.nt-sc-gsp-section-heading > small { font-size: 12px; color: var(--nt-sc-muted); }
.nt-sc-gsp-section-heading > a { font-size: 13px; font-weight: 700; color: var(--nt-sc-green) !important; text-decoration: none !important; }

.nt-sc-gsp-line-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nt-sc-gsp-line {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(145px, auto);
	align-items: center;
	gap: 12px;
	min-height: 72px;
	padding: 11px 13px;
	border: 1px solid var(--nt-sc-border);
	border-radius: 11px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(22,48,30,.025);
}
.nt-sc-gsp-line.is-alert { border-color: #ead7ae; background: #fffdf8; }
.nt-sc-gsp-line.is-unknown { opacity: .78; }
.nt-sc-gsp-line__main strong, .nt-sc-gsp-line__main span, .nt-sc-gsp-line__status strong, .nt-sc-gsp-line__status small { display: block; }
.nt-sc-gsp-line__main strong { font-family: "Titillium Web", sans-serif !important; font-size: 17px; font-weight: 700; line-height: 1.08; color: #172019; }
.nt-sc-gsp-line__main span { margin-top: 3px; font-size: 11px; line-height: 1.2; color: #6c776f; }
.nt-sc-gsp-line__status { text-align: right; }
.nt-sc-gsp-line__status strong { font-size: 12px; color: #087d31; }
.nt-sc-gsp-line.is-alert .nt-sc-gsp-line__status strong { color: #a86200; }
.nt-sc-gsp-line__status small { max-width: 220px; margin-top: 2px; font-size: 11px; line-height: 1.2; color: #68736b; }

.nt-sc-gsp-alert-list { display: grid; gap: 10px; }
.nt-sc-gsp-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 13px; padding: 16px; border: 1px solid #e9d5ae; border-left: 4px solid #d98c17; border-radius: 11px; background: #fffcf5; }
.nt-sc-gsp-alert strong, .nt-sc-gsp-alert span { display: block; }
.nt-sc-gsp-alert strong { font-size: 16px; color: #332816; }
.nt-sc-gsp-alert span { margin-top: 2px; font-size: 12px; color: #796a50; }
.nt-sc-gsp-alert p { margin: 8px 0 0 !important; font-size: 13px !important; line-height: 1.45 !important; color: #594e3b !important; }

.nt-sc-gsp-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.nt-sc-gsp-event-grid article { padding: 17px; border: 1px solid var(--nt-sc-border); border-radius: 11px; background: #fff; }
.nt-sc-gsp-event-grid strong { display: block; font-size: 15px; color: #152019; }
.nt-sc-gsp-event-grid p { margin: 7px 0 !important; font-size: 13px !important; color: #5e6961 !important; }
.nt-sc-gsp-event-grid small { color: var(--nt-sc-green); font-weight: 700; }

.nt-sc-gsp-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nt-sc-gsp-news-card { display: grid !important; grid-template-columns: 138px minmax(0, 1fr); min-height: 126px; overflow: hidden; border: 1px solid var(--nt-sc-border); border-radius: 11px; background: #fff; color: #111a14 !important; text-decoration: none !important; }
.nt-sc-gsp-news-card img, .nt-sc-gsp-news-card__fallback { width: 138px; height: 100%; min-height: 126px; object-fit: cover; border-radius: 0 !important; }
.nt-sc-gsp-news-card__fallback { display: grid; place-items: center; background: #e8f4eb; color: var(--nt-sc-green); font-family: "Titillium Web", sans-serif; font-size: 28px; font-weight: 800; }
.nt-sc-gsp-news-card__body { display: block; padding: 12px 13px; }
.nt-sc-gsp-news-card__body small { display: block; margin-bottom: 3px; font-size: 10px; color: #78827b; }
.nt-sc-gsp-news-card__body strong { display: block; font-family: "Titillium Web", sans-serif !important; font-size: 16px; line-height: 1.15; font-weight: 700; color: #101813; }
.nt-sc-gsp-news-card__body > span { display: block; margin-top: 5px; font-size: 11px; line-height: 1.3; color: #68736b; }

.nt-sc-gsp-unavailable { margin-top: 30px; padding: 28px; border: 1px solid #e3e8e4; border-radius: 13px; background: #f8faf9; text-align: center; }
.nt-sc-gsp-unavailable h2 { margin: 0 0 6px !important; font-family: "Titillium Web", sans-serif !important; font-size: 26px !important; color: #253029 !important; }
.nt-sc-gsp-unavailable p { max-width: 700px; margin: 0 auto !important; color: #6b756e !important; }

.nt-sc-gsp-container > .nt-newsletter-strip { margin-top: 38px; }

@media (max-width: 1100px) {
	.nt-sc-home-strip { grid-template-columns: minmax(180px, .65fr) minmax(0, 2fr) !important; }
	.nt-sc-home-strip__meta { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
	.nt-sc-gsp-hero { grid-template-columns: 1fr; gap: 20px; }
	.nt-sc-gsp-source { max-width: 430px; }
	.nt-sc-gsp-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	.nt-home-v3-page .nt-sc-home-strip { display: block; margin: 14px 0 24px; padding: 12px; }
	.nt-sc-home-strip__intro { margin-bottom: 10px; }
	.nt-sc-home-strip__lines { margin-inline: -2px; }
	.nt-sc-home-strip__meta { display: flex; flex-direction: row; align-items: center; justify-content: space-between; margin-top: 8px; white-space: normal; }
	.nt-sc-home-strip__meta small { max-width: 55%; }

	.nt-sc-gsp-shell { padding-top: 18px; }
	.nt-sc-gsp-container { width: min(calc(100% - 24px), var(--nt-sc-container)); }
	.nt-sc-gsp-hero { padding: 22px 18px; border-radius: 12px; }
	.nt-sc-gsp-hero h1 { font-size: 34px !important; }
	.nt-sc-gsp-hero p { font-size: 15px !important; }
	.nt-sc-gsp-line-grid { grid-template-columns: 1fr; }
	.nt-sc-gsp-line { grid-template-columns: auto minmax(0, 1fr); }
	.nt-sc-gsp-line__status { grid-column: 2; text-align: left; }
	.nt-sc-gsp-line__status small { max-width: none; }
	.nt-sc-gsp-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
	.nt-sc-gsp-section-heading h2 { font-size: 24px !important; }
	.nt-sc-gsp-event-grid, .nt-sc-gsp-news-grid { grid-template-columns: 1fr; }
	.nt-sc-gsp-news-card { grid-template-columns: 110px minmax(0, 1fr); }
	.nt-sc-gsp-news-card img, .nt-sc-gsp-news-card__fallback { width: 110px; }
}

/* =========================================================
   SIGNALCORE NT v2.3 — Agora nos Trilhos + mapa oficial
   ========================================================= */

/* ---------- HOME: visual alinhado ao conceito aprovado ---------- */
.nt-home-v3-page .nt-sc-home-strip {
	display: block;
	width: 100%;
	margin: 18px 0 28px;
	padding: 0;
	border: 1px solid #dfe6e1;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(19,56,31,.035);
	overflow: hidden;
}
.nt-sc-home-strip__main {
	display: grid;
	grid-template-columns: 235px minmax(0,1fr) 84px;
	align-items: stretch;
	min-height: 128px;
}
.nt-sc-home-strip__intro {
	display: grid;
	grid-template-columns: 58px minmax(0,1fr);
	align-items: center;
	gap: 13px;
	padding: 16px 17px;
	border-right: 1px solid #e3e8e4;
}
.nt-sc-home-strip__icon {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 3px solid #087d31;
	border-radius: 50%;
	color: #087d31;
}
.nt-sc-home-strip__icon svg { width: 37px; height: 37px; display: block; }
.nt-sc-home-strip__intro strong {
	display: block;
	font-family: "Titillium Web", sans-serif !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #075d28;
}
.nt-sc-home-strip__intro small {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	line-height: 1.28;
	color: #5f6962;
}
.nt-sc-home-strip__lines {
	display: flex;
	align-items: stretch;
	gap: 0;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 0;
	scrollbar-width: thin;
	scroll-snap-type: x proximity;
}
.nt-sc-home-line {
	position: relative;
	display: grid !important;
	grid-template-rows: 21px 42px auto auto;
	align-content: center;
	justify-items: center;
	gap: 3px;
	flex: 0 0 100px;
	min-width: 100px;
	padding: 11px 8px 9px;
	border: 0;
	border-right: 1px solid #e4e9e5;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	color: #132019 !important;
	text-align: center;
	text-decoration: none !important;
	scroll-snap-align: start;
	transition: background .18s ease;
}
.nt-sc-home-line:hover { transform: none; border-color: #e4e9e5; box-shadow: none; background: #f7fbf8; }
.nt-sc-home-line.is-alert,
.nt-sc-home-line.is-scheduled { background: #fffdf8; }
.nt-sc-home-line.is-closed { background: #f7f8f7; opacity: .72; }
.nt-sc-home-line.is-assisted { background: #f3fbf8; }
.nt-sc-home-line.is-unknown { opacity: .72; }
.nt-sc-home-line__operator {
	display: block;
	max-width: 90px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 9px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .035em;
	color: #47544b;
}
.nt-sc-home-line .nt-sc-line-badge {
	width: 38px;
	height: 38px;
	font-size: 16px;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);
}
.nt-sc-home-line__name {
	display: block;
	max-width: 92px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.1;
	color: #344039;
}
.nt-sc-home-line__state {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	max-width: 94px;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.05;
	color: #087d31;
	text-align: center;
}
.nt-sc-home-line__state i {
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}
.nt-sc-home-line.is-alert .nt-sc-home-line__state { color: #ef6c00; }
.nt-sc-home-line.is-scheduled .nt-sc-home-line__state { color: #d98c00; }
.nt-sc-home-line.is-assisted .nt-sc-home-line__state { color: #138965; }
.nt-sc-home-line.is-closed .nt-sc-home-line__state { color: #7b837e; }
.nt-sc-home-line.is-unknown .nt-sc-home-line__state { color: #808783; }
.nt-sc-home-strip__all {
	display: grid !important;
	place-content: center;
	justify-items: center;
	gap: 6px;
	padding: 10px;
	color: #087d31 !important;
	text-decoration: none !important;
	text-align: center;
	background: #fbfdfb;
}
.nt-sc-home-strip__all > span {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid #bed4c4;
	border-radius: 50%;
	font-size: 24px;
	line-height: 1;
}
.nt-sc-home-strip__all small { font-size: 10px; line-height: 1.05; font-weight: 700; }
.nt-sc-home-strip__meta {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 35px;
	padding: 7px 14px;
	border-top: 1px solid #e3e8e4;
	white-space: normal;
}
.nt-sc-home-strip__meta > small { font-size: 10px; color: #667068; }
.nt-sc-home-strip__source {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 10px;
	color: #68726a;
	white-space: nowrap;
}
.nt-sc-home-strip__source img {
	display: block !important;
	width: auto !important;
	height: 27px !important;
	max-width: 110px !important;
	object-fit: contain;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* ---------- STATUS CARDS: estados distintos ---------- */
.nt-sc-gsp-line.is-scheduled { border-color: #ecd7a5; background: #fffdf7; }
.nt-sc-gsp-line.is-assisted { border-color: #b9ddd0; background: #f5fcf9; }
.nt-sc-gsp-line.is-closed { border-color: #e0e3e1; background: #f7f8f7; opacity: .78; }
.nt-sc-gsp-line.is-scheduled .nt-sc-gsp-line__status strong { color: #b97900; }
.nt-sc-gsp-line.is-assisted .nt-sc-gsp-line__status strong { color: #16775b; }
.nt-sc-gsp-line.is-closed .nt-sc-gsp-line__status strong { color: #747b76; }
.nt-sc-gsp-alert.is-scheduled { border-color: #ead7ae; border-left-color: #e0a21d; background: #fffdf7; }

/* ---------- MAPA OFICIAL / GRANDE SP ---------- */
.nt-sc-gsp-map {
	margin-top: 30px;
	border: 1px solid var(--nt-sc-border);
	border-radius: 15px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(20,49,29,.03);
}
.nt-sc-gsp-map__heading {
	align-items: flex-end;
	margin: 0;
	padding: 18px 20px 14px;
	border-bottom: 1px solid var(--nt-sc-border);
}
.nt-sc-gsp-map__heading > div > span { margin-bottom: 2px; }
.nt-sc-gsp-map__heading h2 { font-size: 30px !important; }
.nt-sc-gsp-map__heading p {
	max-width: 760px;
	margin: 4px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	color: #6d786f !important;
}
.nt-sc-gsp-map__heading > a { flex: 0 0 auto; }
.nt-sc-map-selector {
	display: flex;
	align-items: stretch;
	gap: 7px;
	overflow-x: auto;
	padding: 10px 14px;
	border-bottom: 1px solid var(--nt-sc-border);
	scrollbar-width: thin;
}
.nt-sc-map-selector button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	min-height: 38px;
	padding: 4px 9px 4px 5px;
	border: 1px solid #e0e7e2;
	border-radius: 999px;
	background: #fff;
	color: #435047;
	font-family: "Source Sans 3", sans-serif;
	font-size: 10px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.nt-sc-map-selector button.is-all { padding-inline: 14px; }
.nt-sc-map-selector button:hover { border-color: #bcd4c3; background: #f8fcf9; }
.nt-sc-map-selector button.is-active { border-color: #0a8134; box-shadow: 0 0 0 2px rgba(10,129,52,.10); background: #f2fbf5; color: #075e29; }
.nt-sc-map-selector .nt-sc-line-badge--selector { width: 28px; height: 28px; font-size: 11px; }
.nt-sc-map-selector button.is-scheduled { border-bottom-color: #e3a527; }
.nt-sc-map-selector button.is-alert { border-bottom-color: #ef7912; }
.nt-sc-map-selector button.is-closed { opacity: .62; }
.nt-sc-map-legend {
	display: flex;
	align-items: center;
	gap: 15px;
	overflow-x: auto;
	padding: 9px 17px;
	border-bottom: 1px solid var(--nt-sc-border);
	font-size: 10px;
	font-weight: 650;
	color: #68736c;
	white-space: nowrap;
}
.nt-sc-map-legend span { display: inline-flex; align-items: center; gap: 6px; }
.nt-sc-map-legend i {
	position: relative;
	display: inline-block;
	width: 25px;
	height: 4px;
	border-radius: 999px;
	background: #5c7668;
}
.nt-sc-map-legend i[data-state="scheduled"],
.nt-sc-map-legend i[data-state="attention"] {
	background: #71828b;
	box-shadow: 0 0 0 2px rgba(245,151,0,.25), 0 0 7px 2px rgba(245,151,0,.28);
}
.nt-sc-map-legend i[data-state="interrupted"] {
	background: #aeb5b9;
	box-shadow: 0 0 0 2px rgba(216,47,47,.28), 0 0 7px 2px rgba(216,47,47,.32);
}
.nt-sc-map-legend i[data-state="inactive"] { background: #b8bec2; opacity: .62; }
.nt-sc-map-viewport {
	width: 100%;
	overflow: hidden;
	background: #fff;
}
.nt-sc-map-stage {
	position: relative;
	width: 100%;
	aspect-ratio: 1820 / 1380;
	isolation: isolate;
	overflow: hidden;
	cursor: pointer;
	background: #fff;
}
.nt-sc-map-scene {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform-origin: 0 0;
}
.nt-sc-map-base,
.nt-sc-map-layer,
.nt-sc-map-selection-veil {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.nt-sc-map-base,
.nt-sc-map-layer {
	display: block;
	object-fit: contain;
	object-position: left top;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
	border-radius: 0 !important;
}
.nt-sc-map-base { z-index: 1; }
.nt-sc-map-inactive { z-index: 2; }
.nt-sc-map-stroke { z-index: 2; }
.nt-sc-map-effect { z-index: 2; }
.nt-sc-map-effect[data-impact="attention"] { animation: ntScMapAttentionPulse 2.4s ease-in-out infinite; }
.nt-sc-map-selection-veil { z-index: 3; background: rgba(255,255,255,.70); pointer-events: none; }
.nt-sc-map-selected { z-index: 4; filter: drop-shadow(0 0 2px rgba(35,72,91,.18)); }
.nt-sc-map-effect.is-selected { z-index: 5; }
@keyframes ntScMapAttentionPulse { 0%,100%{opacity:.62} 50%{opacity:1} }
.nt-sc-map-controls {
	position: absolute;
	right: 12px;
	bottom: 12px;
	z-index: 20;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 3px;
	border: 1px solid rgba(91,111,122,.18);
	border-radius: 999px;
	background: rgba(255,255,255,.94);
	box-shadow: 0 5px 18px rgba(26,46,57,.16);
}
.nt-sc-map-controls button {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #345565;
	font: 900 18px/1 system-ui,sans-serif;
	cursor: pointer;
}
.nt-sc-map-controls button.is-overview { background: #edf4f5; color: #176b64; }
.nt-sc-map-controls button:disabled { opacity: .28; cursor: default; }
.nt-sc-map-hint { display: none; }
.nt-sc-map-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 9px 17px 11px;
	border-top: 1px solid var(--nt-sc-border);
	font-size: 10px;
	color: #738078;
}
.nt-sc-map-footer strong { color: #3e5548; font-weight: 800; }

@media (max-width: 1100px) {
	.nt-sc-home-strip__main { grid-template-columns: 205px minmax(0,1fr) 74px; }
	.nt-sc-home-strip__intro { grid-template-columns: 48px minmax(0,1fr); padding-inline: 12px; }
	.nt-sc-home-strip__icon { width: 48px; height: 48px; }
	.nt-sc-home-strip__icon svg { width: 31px; height: 31px; }
	.nt-sc-home-line { flex-basis: 94px; min-width: 94px; }
}

@media (max-width: 780px) {
	.nt-home-v3-page .nt-sc-home-strip { margin: 14px 0 24px; padding: 0; }
	.nt-sc-home-strip__main { display: block; min-height: 0; }
	.nt-sc-home-strip__intro {
		display: grid;
		grid-template-columns: 48px minmax(0,1fr);
		padding: 12px 13px;
		border-right: 0;
		border-bottom: 1px solid #e3e8e4;
	}
	.nt-sc-home-strip__lines { min-height: 112px; }
	.nt-sc-home-line { flex-basis: 94px; min-width: 94px; grid-template-rows: 18px 36px auto auto; padding-top: 9px; }
	.nt-sc-home-line .nt-sc-line-badge { width: 34px; height: 34px; font-size: 14px; }
	.nt-sc-home-strip__all { display: none !important; }
	.nt-sc-home-strip__meta { padding: 7px 10px; }
	.nt-sc-home-strip__source { font-size: 0; gap: 0; }
	.nt-sc-home-strip__source img { height: 22px !important; max-width: 86px !important; }

	.nt-sc-gsp-map { margin-top: 22px; border-radius: 12px; }
	.nt-sc-gsp-map__heading { align-items: flex-start; flex-direction: column; gap: 7px; padding: 14px; }
	.nt-sc-gsp-map__heading h2 { font-size: 25px !important; }
	.nt-sc-gsp-map__heading p { font-size: 12px !important; }
	.nt-sc-map-selector { padding: 8px 10px; }
	.nt-sc-map-selector button > span:not(.nt-sc-line-badge) { display: none; }
	.nt-sc-map-selector button { padding-right: 5px; }
	.nt-sc-map-selector button.is-all { padding-inline: 12px; }
	.nt-sc-map-legend { gap: 9px 12px; padding: 8px 10px; font-size: 9px; scrollbar-width: none; }
	.nt-sc-map-legend::-webkit-scrollbar { display: none; }
	.nt-sc-map-stage { width: 100%; min-width: 0; max-width: 100%; aspect-ratio: 1820 / 1380; }
	.nt-sc-map-scene {
		transform: translate(var(--nt-map-camera-x,0%), var(--nt-map-camera-y,0%)) scale(var(--nt-map-camera-scale,1));
		transition: transform .32s cubic-bezier(.2,.75,.25,1);
		will-change: transform;
	}
	.nt-sc-map-hint {
		position: absolute;
		left: 50%;
		bottom: 14px;
		z-index: 19;
		display: block;
		max-width: calc(100% - 150px);
		transform: translateX(-50%);
		padding: 6px 9px;
		border-radius: 999px;
		background: rgba(255,255,255,.90);
		box-shadow: 0 3px 12px rgba(32,51,61,.12);
		color: #5c707c;
		font-size: 9px;
		font-weight: 700;
		white-space: nowrap;
		pointer-events: none;
	}
	.nt-sc-map-hint[hidden] { display: none; }
	.nt-sc-map-controls { right: 8px; bottom: 8px; }
	.nt-sc-map-footer { align-items: flex-start; flex-direction: column; padding: 8px 10px 10px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
	.nt-sc-map-scene { transition: none; }
	.nt-sc-map-effect[data-impact="attention"] { animation: none; }
}
.nt-sc-gsp-source__logo {
	display: block !important;
	width: auto !important;
	height: 30px !important;
	max-width: 115px !important;
	margin-left: auto;
	object-fit: contain;
	border-radius: 0 !important;
	box-shadow: none !important;
}
@media (max-width: 520px) {
	.nt-sc-gsp-source__logo { height: 24px !important; max-width: 92px !important; }
}


/* =========================================================
   V2.4 — acabamento dos alertas + regras especiais TBR
   ========================================================= */
.nt-sc-gsp-alert {
	align-items: start;
}
.nt-sc-gsp-alert > .nt-sc-line-badge {
	display: grid !important;
	place-items: center !important;
	align-self: start;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 12px !important;
	line-height: 1 !important;
	text-align: center !important;
}
.nt-sc-gsp-alert > div {
	min-width: 0;
	padding-top: 1px;
}

.nt-sc-map-rules {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	padding: 9px 17px;
	border-bottom: 1px solid var(--nt-sc-border);
	background: #f8fbf9;
	color: #667169;
	font-size: 10px;
	line-height: 1.3;
}
.nt-sc-map-rules span { display: inline-flex; align-items: baseline; gap: 4px; }
.nt-sc-map-rules strong { color: #28543a; font-weight: 800; }

@media (max-width: 780px) {
	.nt-sc-map-rules {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
		padding: 8px 10px;
		font-size: 9px;
	}
}

/* ===== NT 3.9 — mapa Grande SP sincronizado com TransporteBR.News v0.5.1.54.2 ===== */
.nt-sc-map-stage { min-width: 0; max-width: 100%; }
.nt-sc-map-svg {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1820 / 1380;
	background: #fff;
	transition: none;
}
.nt-sc-map-base-svg,
.nt-sc-map-inactive-svg,
.nt-sc-map-stroke-svg,
.nt-sc-map-selected-svg,
.nt-sc-map-system-selected-svg,
.nt-sc-map-effect-svg { pointer-events: none; }
.nt-sc-map-inactive-svg { opacity: .88; }
.nt-sc-map-stroke-svg { opacity: 1; }
.nt-sc-map-effect-svg[data-impact="attention"] { animation: ntScMapAttentionPulse 2.4s ease-in-out infinite; }
.nt-sc-map-selection-veil-svg { fill: rgba(255,255,255,.70); pointer-events: none; }
.nt-sc-map-selected-svg { filter: drop-shadow(0 0 3px rgba(35,72,91,.32)); }
.nt-sc-map-system-selected-svg { filter: drop-shadow(0 0 3px rgba(23,59,99,.38)); }
.nt-sc-map-effect-svg.is-selected { filter: drop-shadow(0 0 2px rgba(0,0,0,.12)); }
.nt-sc-map-system-button.is-closed { opacity: .62; }
.nt-sc-map-system-button.is-normal { border-bottom-color: #5e8a6d; }
.nt-sc-map-detail[hidden] { display: none !important; }
.nt-sc-map-detail { border-top: 1px solid var(--nt-sc-border); padding: 18px; background: #fbfcfb; }

.nt-sp-detail-panel {
	--system-color: #2f6578;
	--system-text: #fff;
	border: 1px solid #dfe7e2;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 5px 18px rgba(25,54,35,.04);
}
.nt-sp-detail-panel > header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px 16px;
	border-bottom: 1px solid #e2e8e4;
}
.nt-sp-detail-panel > header > div { min-width: 0; }
.nt-sp-detail-panel > header > div > span {
	display: block;
	margin-bottom: 3px;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .09em;
	color: #738078;
}
.nt-sp-detail-panel h3 { margin: 0 !important; font-size: 24px !important; line-height: 1.12 !important; color: #17372a !important; }
.nt-sp-detail-panel header p { margin: 5px 0 0 !important; font-size: 12px !important; line-height: 1.45 !important; color: #647168 !important; }
.nt-sp-detail-identity {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	min-width: 44px;
	height: 44px;
	padding: 0 8px;
	border-radius: 12px;
	background: var(--system-color);
	color: var(--system-text);
	font: 850 14px/1 "Source Sans 3",sans-serif;
}
.nt-sp-institutional { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-top: 8px; }
.nt-sp-institutional span { display: grid; gap: 1px; }
.nt-sp-institutional small { font-size: 9px; text-transform: uppercase; letter-spacing: .06em; color: #879189; }
.nt-sp-institutional strong { font-size: 12px; color: #415248; }

/* Mapas lineares das linhas */
.nt-sp-line-viewport,
.nt-sp-system-viewport,
.nt-sp-et-viewport,
.nt-sp-line17-viewport { width: 100%; overflow-x: auto; overflow-y: visible; scrollbar-width: thin; }
.nt-sp-line-track {
	display: flex;
	align-items: flex-start;
	min-width: max-content;
	padding: 58px 54px 42px;
}
.nt-sp-line-segment {
	align-self: flex-start;
	flex: 0 0 74px;
	height: 5px;
	margin-top: 27px;
	background: var(--system-color);
	border-radius: 999px;
}
.nt-sp-line-segment[data-impact="attention"] { background: #f0b126; box-shadow: 0 0 0 2px rgba(240,177,38,.20), 0 0 7px rgba(240,177,38,.28); }
.nt-sp-line-segment[data-impact="interrupted"] { background: #d64545; box-shadow: 0 0 0 2px rgba(214,69,69,.20), 0 0 7px rgba(214,69,69,.28); }
.nt-sp-line-station {
	position: relative;
	display: flex;
	flex: 0 0 126px;
	width: 126px;
	min-height: 126px;
	align-items: center;
	flex-direction: column;
	text-align: center;
	color: #3b4c42;
}
.nt-sp-line-node,
.nt-sp-system-node {
	display: block;
	width: 17px;
	height: 17px;
	margin: 19px auto 8px;
	border: 4px solid var(--system-color);
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 2px #fff;
	z-index: 2;
}
.nt-sp-line-station[data-impact="attention"] .nt-sp-line-node { border-color: #e7a414; box-shadow: 0 0 0 3px rgba(231,164,20,.18); }
.nt-sp-line-station[data-impact="interrupted"] .nt-sp-line-node { border-color: #d64545; box-shadow: 0 0 0 3px rgba(214,69,69,.18); }
.nt-sp-line-station > strong,
.nt-sp-system-station > strong,
.nt-sp-et-station > strong { display: block; max-width: 150px; font-size: 11px; line-height: 1.18; font-weight: 780; }
.nt-sp-facility-note,
.nt-sp-system-station > small,
.nt-sp-et-station > small { display: block; max-width: 156px; margin-top: 4px; font-size: 9px; line-height: 1.22; font-weight: 600; color: #7a837d; }
.nt-sp-airport { margin-top: 3px; font-size: 13px; }
.nt-sp-station-integrations,
.nt-sp-system-integrations {
	position: absolute;
	left: 50%;
	bottom: calc(100% - 14px);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 3px;
	min-height: 34px;
	transform: translateX(-50%);
	white-space: nowrap;
}
.nt-sp-integration-wrap { display: inline-flex; align-items: center; flex-direction: column; gap: 1px; }
.nt-sp-integration-badge {
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 4px;
	border-radius: 7px;
	background: var(--integration-color);
	color: var(--integration-text);
	font-size: 9px;
	font-weight: 850;
}
.nt-sp-integration-wrap small { display: none; }
.nt-sp-integration-note { display: inline-flex; align-items: center; gap: 2px; font-size: 9px; font-weight: 700; color: #5f6e64; }
.nt-sp-integration-note b { font-size: 12px; }
.nt-sp-facility-icon { font-size: 13px; }

/* Linha 17 — ramificação real em Y */
.nt-sp-line17-viewport { padding: 12px 0 18px; }
.nt-sp-line17-stage { position: relative; width: 948px; height: 304px; margin: 0 auto; }
.nt-sp-line17-stage > svg { position: absolute; inset: 0; width: 948px; height: 304px; overflow: visible; }
.nt-sp-line17-stage > svg path { fill: none; stroke: var(--system-color); stroke-width: 5; stroke-linecap: round; }
.nt-sp-line17-station { position: absolute; width: 140px; transform: translate(-70px,-33px); }
.nt-sp-line17-station > .nt-sp-line-station { width: 140px; min-height: 112px; flex-basis: 140px; }
.nt-sp-line17-station .nt-sp-line-node { margin-top: 19px; }

/* Extensão operacional por ônibus da Linha 4 */
.nt-sp-line4-extension { max-width: 640px; margin: 4px auto 22px; padding: 14px 16px; border: 1px dashed #d3b400; border-radius: 12px; background: #fffdf1; text-align: center; }
.nt-sp-line4-extension > div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.nt-sp-line4-extension > div i { height: 4px; border-radius: 999px; background: #f2d332; }
.nt-sp-line4-extension > div span { font-size: 11px; font-weight: 780; color: #554b0f; }
.nt-sp-line4-extension strong { display: block; margin-top: 8px; font-size: 11px; color: #756414; }
.nt-sp-line4-extension small { display: block; margin-top: 2px; font-size: 9px; color: #8b8060; }

/* Corredores / EA / ET */
.nt-sp-system-paths { padding: 4px 0 16px; }
.nt-sp-system-path { padding-top: 12px; }
.nt-sp-system-path + .nt-sp-system-path { border-top: 1px solid #edf0ee; }
.nt-sp-system-path h4 { margin: 0 18px 6px !important; font-size: 12px !important; color: #526158 !important; }
.nt-sp-system-track { display: flex; align-items: flex-start; min-width: max-content; padding: 58px 54px 38px; }
.nt-sp-system-station {
	position: relative;
	flex: 0 0 120px;
	width: 120px;
	min-height: 128px;
	text-align: center;
	color: #3b4c42;
}
.nt-sp-system-station[data-node-id="b-albert-leimer"],
.nt-sp-system-station[data-node-id="b-rodoviaria-cecap"],
.nt-sp-system-station[data-node-id="b-forum"] { flex-basis: 166px; width: 166px; }
.nt-sp-system-station .nt-sp-system-segment {
	position: absolute;
	left: -50%;
	top: 27px;
	width: 100%;
	height: 5px;
	background: var(--system-color);
	z-index: 0;
}
.nt-sp-system-station[data-terminal="true"] .nt-sp-system-node { width: 20px; height: 20px; border-radius: 5px; }
.nt-sp-special { position: relative; flex: 0 0 108px; width: 108px; min-height: 128px; text-align: center; color: #68756d; }
.nt-sp-special i { display: block; height: 5px; margin-top: 27px; background: var(--system-color); }
.nt-sp-special span { display: block; margin-top: 10px; font-size: 9px; line-height: 1.2; font-weight: 750; }
.nt-sp-special.is-boundary i { height: 28px; width: 2px; margin: 15px auto 0; border-left: 2px dashed #8c9991; background: transparent; }
.nt-sp-special.is-boundary[data-segment-style="shared"] { flex-basis: 126px; width: 126px; }
.nt-sp-special.is-shared { flex-basis: calc(74px * var(--equivalent-stops,1)); width: calc(74px * var(--equivalent-stops,1)); }
.nt-sp-special.is-shared i { height: 4px; border-radius: 0; background: repeating-linear-gradient(90deg,var(--system-color) 0 9px,transparent 9px 14px); }
.nt-sp-special.is-works-start i,
.nt-sp-special.is-works-end i { display: none; }
.nt-sp-special.is-works-start,
.nt-sp-special.is-works-end { flex-basis: 86px; width: 86px; padding-top: 17px; }
.nt-sp-special.is-works-start span,
.nt-sp-special.is-works-end span { padding: 5px 7px; border-radius: 999px; background: #fff4d9; color: #9a6b08; }

/* Expresso Tiradentes — Y */
.nt-sp-et-viewport { padding: 0 0 12px; }
.nt-sp-et-stage { position: relative; width: 980px; height: 330px; margin: 0 auto; }
.nt-sp-et-stage > svg { position: absolute; inset: 0; width: 980px; height: 330px; }
.nt-sp-et-stage > svg path { fill: none; stroke: var(--system-color); stroke-width: 5; stroke-linecap: round; }
.nt-sp-et-station { position: absolute; width: 130px; min-height: 104px; transform: translate(-65px,-33px); text-align: center; color: #3b4c42; }
.nt-sp-et-station .nt-sp-system-node { margin-top: 19px; }
.nt-sp-et-station[data-terminal="true"] .nt-sp-system-node { width: 20px; height: 20px; border-radius: 5px; }

@media (min-width: 781px) {
	.nt-sc-map-controls { display: none; }
}
@media (max-width: 780px) {
	.nt-sc-map-detail { padding: 10px; }
	.nt-sp-detail-panel > header { padding: 14px; }
	.nt-sp-detail-panel h3 { font-size: 20px !important; }
	.nt-sp-line-track { padding-inline: 36px; }
	.nt-sp-line-segment { flex-basis: 58px; }
	.nt-sp-line-station { flex-basis: 112px; width: 112px; }
	.nt-sp-system-track { padding-inline: 36px; }
	.nt-sp-system-station { flex-basis: 108px; width: 108px; }
	.nt-sp-system-station[data-node-id="b-albert-leimer"],
	.nt-sp-system-station[data-node-id="b-rodoviaria-cecap"],
	.nt-sp-system-station[data-node-id="b-forum"] { flex-basis: 150px; width: 150px; }
	.nt-sp-line17-stage { margin-left: 0; }
	.nt-sp-et-stage { margin-left: 0; }
}
.nt-sp-system-integrations .nt-sp-integration-wrap small,
.nt-sp-et-station .nt-sp-integration-wrap small {
	display: block;
	max-width: 92px;
	font-size: 7px;
	line-height: 1.05;
	font-weight: 650;
	color: #727e76;
	white-space: normal;
}
.nt-sp-system-integrations { min-height: 48px; bottom: calc(100% - 15px); }


/* NT v4.0 — TBR v0.5.1.54.2 exact individual-map renderer CSS */
.railLineMapPanelV5129, .transitSystemMapPanelV5149 { font-family: "Source Sans 3", "Segoe UI", sans-serif; box-sizing: border-box; }
.railLineMapPanelV5129 *, .transitSystemMapPanelV5149 * { box-sizing: border-box; }
.railLineMapPanelV5129 .eyebrow, .transitSystemMapPanelV5149 .eyebrow { color:#08725e; font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }

.railLineMapPanelV5129 {
  overflow: hidden;
  border: 1px solid #dfe7e9;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(37, 58, 70, .06);
}
.railLineMapHeadingV5129 {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  padding: 18px 20px 14px;
  border-bottom: 1px solid #e7edef;
}
.railLineMapHeadingV5129 > div:first-child { min-width: 0; }
.railLineMapHeadingV5129 h3 { margin: 3px 0 2px; color: #2f4d60; font-size: 1.18rem; }
.railLineMapHeadingV5129 strong { color: #5d7381; font-size: .82rem; }
.railLineMapHeadingV5129 p { margin: 5px 0 0; color: #7a8b96; font-size: .78rem; }
.railLineMapIdentityV5129 { flex: 0 0 auto; display: flex; gap: 9px; align-items: center; }
.railLineMapIdentityV5129 > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--rail-color);
  color: var(--rail-text);
  text-shadow: 0 1px 2px rgba(0,0,0,.2);
  font-size: .8rem;
  font-weight: 900;
}
.railLineMapIdentityV5129 > b { color: #496271; font-size: .8rem; }
.railLineMapImpactSummaryV5129 {
  display: flex;
  gap: 10px 16px;
  align-items: baseline;
  padding: 10px 20px;
  border-bottom: 1px solid #edf1f2;
  background: #fff9e9;
  color: #745714;
}
.railLineMapImpactSummaryV5129 strong { font-size: .72rem; text-transform: uppercase; letter-spacing: .045em; }
.railLineMapImpactSummaryV5129 span { font-size: .86rem; font-weight: 800; }
.railLineMapImpactSummaryV5129[data-impact-level="interrupted"] {
  background: #fff0f0;
  color: #9d2929;
  box-shadow: inset 4px 0 0 #d92f2f;
}
.railLineMapLegendV5129 {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 10px 20px 0;
  color: #72838d;
  font-size: .72rem;
  font-weight: 750;
}
.railLineMapLegendV5129 span { display: inline-flex; align-items: center; gap: 7px; }
.railLineMapLegendV5129 i {
  width: 24px;
  height: 5px;
  display: inline-block;
  border-radius: 999px;
  background: var(--rail-color);
}
.railLineMapLegendV5129 i[data-impact-level="attention"] {
  background: #f0aa22;
  box-shadow: 0 0 9px rgba(240,170,34,.48);
}
.railLineMapLegendV5129 i[data-impact-level="interrupted"] {
  background: #d92f2f;
  box-shadow: 0 0 11px rgba(217,47,47,.65);
}
.railLineMapViewportV5129 {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 22px 20px 26px;
  scrollbar-width: thin;
  scrollbar-color: #aebdc5 transparent;
}
.railLineMapViewportV5129:focus-visible { outline: 2px solid #5c8298; outline-offset: -3px; }
.railLineMapTrackV5129 {
  display: flex;
  align-items: flex-start;
  padding: 2px 54px 0;
}
.railLineMapStationV5129 {
  position: relative;
  flex: 1 0 132px;
  min-width: 132px;
  display: grid;
  justify-items: center;
  align-content: start;
  text-align: center;
}
.railLineMapSegmentV5129 {
  position: absolute;
  z-index: 1;
  top: 9px;
  right: 50%;
  width: 100%;
  height: 6px;
  background: var(--rail-color);
  border-radius: 999px;
  transition: box-shadow .2s ease, background .2s ease, opacity .2s ease;
}
.railLineMapSegmentV5129[data-impact-level="attention"] {
  height: 8px;
  top: 8px;
  background: #f0aa22;
  box-shadow: 0 0 8px rgba(240,170,34,.62), 0 0 18px rgba(240,170,34,.24);
}
.railLineMapSegmentV5129[data-impact-level="interrupted"] {
  height: 8px;
  top: 8px;
  background: #d92f2f;
  box-shadow: 0 0 9px rgba(217,47,47,.82), 0 0 22px rgba(217,47,47,.42);
}
.railLineMapNodeV5129 {
  position: relative;
  z-index: 2;
  width: 24px;
  height: 24px;
  display: block;
  border: 5px solid var(--rail-color);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(32,55,68,.14);
}
.railLineMapStationV5129[data-impact-level="attention"] .railLineMapNodeV5129 {
  border-color: #f0aa22;
  background: #fff9e7;
  box-shadow: 0 0 0 5px rgba(240,170,34,.11), 0 0 16px rgba(240,170,34,.42);
}
.railLineMapStationV5129[data-impact-level="interrupted"] .railLineMapNodeV5129 {
  border-color: #d92f2f;
  background: #ffecec;
  box-shadow: 0 0 0 5px rgba(217,47,47,.13), 0 0 20px rgba(217,47,47,.72);
}
.railLineMapStationV5129[data-segment-edge] .railLineMapNodeV5129::after {
  content: "";
  position: absolute;
  inset: -9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  opacity: .33;
}
.railLineMapStationV5129[data-impact-level="attention"] { color: #a16b08; }
.railLineMapStationV5129[data-impact-level="interrupted"] { color: #b52626; }
.railLineMapStationNameV5129 {
  max-width: 124px;
  margin-top: 9px;
  color: #526b7a;
  font-size: .72rem;
  line-height: 1.22;
  font-weight: 760;
}
.railLineMapStationV5129[data-impact-level="attention"] .railLineMapStationNameV5129,
.railLineMapStationV5129[data-impact-level="interrupted"] .railLineMapStationNameV5129 { color: currentColor; font-weight: 900; }
@media (max-width: 700px){
.railLineMapHeadingV5129 { flex-direction: column; gap: 12px; }
.railLineMapIdentityV5129 { width: 100%; justify-content: flex-start; }
.railLineMapImpactSummaryV5129 { flex-direction: column; gap: 3px; }
.railLineMapViewportV5129 { padding-inline: 10px; }
.railLineMapTrackV5129 { padding-inline: 42px; }
.railLineMapStationV5129 { flex-basis: 116px; min-width: 116px; }
.railLineMapStationNameV5129 { max-width: 108px; font-size: .69rem; }
}
.railLineMapSourceV5130 {
  display: inline-block;
  margin-top: 5px;
  color: #6c818e;
  font-size: .68rem;
  font-weight: 720;
  text-decoration: none;
}
.railLineMapSourceV5130:hover { text-decoration: underline; }
.railLineMapIntegrationsV5130 {
  position: relative;
  z-index: 4;
  min-height: 30px;
  max-width: 126px;
  margin-bottom: 5px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
  white-space: nowrap;
}
.railLineMapIntegrationBadgeV5130 {
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  display: inline-grid;
  place-items: center;
  border-radius: 5px;
  border: 1px solid color-mix(in srgb, var(--integration-color) 82%, #000 18%);
  background: var(--integration-color);
  color: var(--integration-text);
  box-shadow: 0 1px 3px rgba(31, 48, 58, .18);
  font-size: .61rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.015em;
}
.railLineMapIntegrationBadgeV5130[data-kind="corridor"] {
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24), 0 1px 3px rgba(31,48,58,.16);
}
.railLineMapSegmentV5129 {
  top: 44px;
}
.railLineMapSegmentV5129[data-impact-level="attention"] {
  height: 6px;
  top: 44px;
  background: var(--rail-color);
  box-shadow: 0 0 7px rgba(255, 187, 32, .72), 0 0 16px rgba(255, 187, 32, .36);
}
.railLineMapSegmentV5129[data-impact-level="attention"]::after {
  content: "";
  position: absolute;
  inset: 1px 0;
  border-radius: inherit;
  background: repeating-linear-gradient(
    90deg,
    #ffc33a 0 11px,
    transparent 11px 18px
  );
  filter: drop-shadow(0 0 3px rgba(255, 187, 32, .86));
}
.railLineMapStationV5129[data-impact-level="attention"] .railLineMapNodeV5129 {
  border-color: #ffc33a;
  background: #fff7d7;
  box-shadow: 0 0 0 4px rgba(255,195,58,.13), 0 0 15px rgba(255,187,32,.72), 0 0 28px rgba(255,187,32,.24);
}
.railLineMapStationV5129[data-impact-level="attention"],
.railLineMapStationV5129[data-impact-level="attention"] .railLineMapStationNameV5129 {
  color: #b87800;
}
.railLineMapSegmentV5129[data-impact-level="interrupted"] {
  height: 6px;
  top: 44px;
  background: #899298;
  opacity: .84;
  box-shadow: 0 0 8px rgba(217,47,47,.92), 0 0 22px rgba(217,47,47,.48);
}
.railLineMapSegmentV5129[data-impact-level="interrupted"]::after {
  content: "";
  position: absolute;
  inset: 1px 0;
  border-radius: inherit;
  background: repeating-linear-gradient(
    90deg,
    rgba(217,47,47,.98) 0 10px,
    transparent 10px 17px
  );
  filter: drop-shadow(0 0 3px rgba(217,47,47,.9));
}
.railLineMapStationV5129[data-impact-level="interrupted"] .railLineMapNodeV5129 {
  border-color: #d92f2f;
  background: #d7dde0;
  box-shadow: 0 0 0 4px rgba(217,47,47,.12), 0 0 18px rgba(217,47,47,.82), 0 0 30px rgba(217,47,47,.34);
}
.railLineMapStationV5129[data-impact-level="interrupted"],
.railLineMapStationV5129[data-impact-level="interrupted"] .railLineMapStationNameV5129 {
  color: #b52626;
}
.railLineMapLegendV5129 i { position: relative; overflow: visible; }
.railLineMapLegendV5129 i[data-impact-level="attention"] {
  background: var(--rail-color);
  box-shadow: 0 0 7px rgba(255,187,32,.62);
}
.railLineMapLegendV5129 i[data-impact-level="attention"]::after {
  content: "";
  position: absolute;
  inset: 1px 0;
  background: repeating-linear-gradient(90deg, #ffc33a 0 7px, transparent 7px 11px);
}
.railLineMapLegendV5129 i[data-impact-level="interrupted"] {
  background: #899298;
  box-shadow: 0 0 8px rgba(217,47,47,.72);
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapHeadingV5129,
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapLegendV5129,
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapViewportV5129 {
  opacity: .56;
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapIdentityV5129 > span {
  background: #8f979c;
  color: #fff;
  text-shadow: none;
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapSegmentV5129 {
  background: #969ea3;
  box-shadow: none;
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapNodeV5129 {
  border-color: #969ea3;
  background: #eef1f2;
  box-shadow: none;
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapStationNameV5129 {
  color: #7f898f;
}
.railLineMapPanelV5129[data-operational-state="closed"] .railLineMapIntegrationBadgeV5130 {
  background: #8f979c;
  border-color: #7e878c;
  color: #fff;
  box-shadow: none;
}
@media (max-width: 700px){
.railLineMapIntegrationsV5130 { max-width: 112px; }
.railLineMapIntegrationBadgeV5130 { min-width: 18px; height: 18px; padding-inline: 4px; font-size: .58rem; }
}
.railSectionCurrentV518 + .railLineMapPanelV5129,
.railLineMapPanelV5129 + .railHistoryControlsV517 {
  margin-top: 18px;
}
.railLineMapViewportBranchV5137 {
  padding-top: 16px;
}
.railLineMapBranchStageV5137 {
  position: relative;
  min-width: 940px;
  height: 310px;
}
.railLineMapBranchStationV5137 {
  position: absolute;
  width: 160px;
  margin-left: -80px;
  display: grid;
  justify-items: center;
  align-content: start;
}
.railLineMapBranchStationV5137 .railLineMapStationNameV5129 {
  max-width: 140px;
}
.railLineMapBranchStationV5137 .railLineMapIntegrationsV5130 {
  min-height: 34px;
  margin-bottom: 8px;
}
.railLineMapBranchSegmentV5137 {
  position: absolute;
  z-index: 1;
  height: 6px;
  border-radius: 999px;
  background: var(--rail-color);
  transform-origin: left center;
  transition: box-shadow .2s ease, background .2s ease, opacity .2s ease;
}
.railLineMapBranchSegmentV5137.is-upper {
  transform: rotate(-21deg);
}
.railLineMapBranchSegmentV5137.is-lower {
  transform: rotate(21deg);
}
.railLineMapBranchSegmentV5137[data-impact-level="attention"] {
  background: var(--rail-color);
  box-shadow: 0 0 7px rgba(255, 187, 32, .72), 0 0 16px rgba(255, 187, 32, .36);
}
.railLineMapBranchSegmentV5137[data-impact-level="attention"]::after {
  content: "";
  position: absolute;
  inset: 1px 0;
  border-radius: inherit;
  background: repeating-linear-gradient(90deg, #ffc33a 0 11px, transparent 11px 18px);
  filter: drop-shadow(0 0 3px rgba(255, 187, 32, .86));
}
.railLineMapBranchSegmentV5137[data-impact-level="interrupted"] {
  background: #899298;
  opacity: .84;
  box-shadow: 0 0 8px rgba(217,47,47,.92), 0 0 22px rgba(217,47,47,.48);
}
.railLineMapBranchSegmentV5137[data-impact-level="interrupted"]::after {
  content: "";
  position: absolute;
  inset: 1px 0;
  border-radius: inherit;
  background: repeating-linear-gradient(90deg, rgba(217,47,47,.98) 0 10px, transparent 10px 17px);
  filter: drop-shadow(0 0 3px rgba(217,47,47,.9));
}
@media (max-width: 700px){
.railLineMapBranchStageV5137 {
    min-width: 900px;
    height: 318px;
  }
}
.railLineMapBranchSegmentV5137.is-upper {
  transform: rotate(-20.14deg);
}
.railLineMapBranchSegmentV5137.is-lower {
  transform: rotate(20.14deg);
}
.railOperationExplorerV517,
.railOperationExplorerV517 > *,
.railSectionCurrentV518,
.railNowLineSelectorV5132,
.railNetworkRasterPanelV5134,
.railNetworkRasterHeadingV5134,
.railNetworkRasterHeadingV5134 > *,
.railNetworkRasterViewportV5134,
.railNetworkRasterStageV5134,
.railLineMapPanelV5129,
.railLineMapViewportV5129 {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.railSectionCurrentV518,
.railNetworkRasterPanelV5134,
.railLineMapPanelV5129 {
  width: 100%;
  overflow: hidden;
}
.railLineMapViewportV5129 {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  contain: inline-size;
}
.transitSystemMapPanelV5149 {
  margin-top:24px; padding:20px; border:1px solid #dce5e4; border-radius:18px; background:#fff;
  box-shadow:0 10px 34px rgba(30,55,60,.055);
}
.transitSystemMapHeadingV5149 { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.transitSystemMapHeadingV5149 h3 { margin:4px 0 7px; font-size:1.35rem; }
.transitSystemMapHeadingV5149 p { margin:9px 0 0; max-width:760px; color:#657875; font-size:.78rem; }
.transitSystemIdentityV5149 {
  display:grid; place-items:center; min-width:48px; height:48px; padding:0 9px; border-radius:11px;
  background:var(--system-color); color:var(--system-text); font-size:1rem; font-weight:900;
}
.transitSystemInstitutionalV5149 { display:flex; flex-wrap:wrap; gap:8px; }
.transitSystemInstitutionalV5149 > span { display:grid; gap:1px; padding:7px 9px; border-radius:9px; background:#f4f7f7; }
.transitSystemInstitutionalV5149 small { color:#71817f; font-size:9px; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.transitSystemInstitutionalV5149 strong { font-size:11px; }
.transitSystemPathsV5149 { display:grid; gap:15px; margin-top:18px; }
.transitSystemPathV5149 { min-width:0; padding:13px; border:1px solid #e3eaea; border-radius:13px; background:#fbfdfd; }
.transitSystemPathV5149 h4 { margin:0 0 11px; font-size:11px; color:#506461; }
.transitSystemPathViewportV5149 { width:100%; overflow-x:auto; overflow-y:hidden; padding:26px 12px 34px; scrollbar-width:thin; }
.transitSystemTrackV5149 { display:flex; align-items:flex-start; width:max-content; min-width:100%; }
.transitSystemStationV5149 { position:relative; display:grid; justify-items:center; align-content:start; width:132px; min-width:132px; padding-top:24px; text-align:center; }
.transitSystemSegmentV5149 { position:absolute; left:-66px; top:35px; width:132px; height:5px; background:var(--system-color); z-index:0; }
.transitSystemNodeV5149 { position:relative; z-index:2; width:18px; height:18px; border:4px solid var(--system-color); border-radius:50%; background:#fff; }
.transitSystemStationV5149[data-terminal="true"] .transitSystemNodeV5149 { width:22px; height:22px; box-shadow:0 0 0 3px color-mix(in srgb,var(--system-color) 17%, transparent); }
.transitSystemStationV5149 > strong { margin-top:7px; max-width:124px; font-size:10px; line-height:1.25; }
.transitSystemStationNoteV5149 { margin-top:3px; max-width:122px; color:#72817f; font-size:8.5px; line-height:1.25; }
.transitSystemIntegrationsV5149 { position:absolute; top:0; display:flex; justify-content:center; align-items:flex-end; gap:4px; min-height:20px; white-space:nowrap; }
.transitSystemIntegrationWrapV5149 { display:inline-flex; align-items:center; gap:3px; }
.transitSystemIntegrationWrapV5149 small { max-width:100px; color:#667875; font-size:7.5px; white-space:normal; line-height:1.1; text-align:left; }
.transitSystemIntegrationBadgeV5149 { display:grid; place-items:center; min-width:19px; height:19px; padding:0 4px; border-radius:5px; background:var(--integration-color); color:var(--integration-text); font-size:8px; font-weight:900; }
.transitSystemIntegrationBadgeV5149[data-kind="walk"] { border:1px dashed var(--integration-color); background:#fff; color:var(--integration-color); }
.transitSystemIntegrationNoteV5149 { display:inline-flex; align-items:center; gap:3px; color:#5b6e6b; font-size:8px; }
.transitSystemSpecialNodeV5149 { position:relative; display:grid; place-items:center; align-content:center; min-width:120px; min-height:78px; padding:9px 10px; text-align:center; }
.transitSystemSpecialNodeV5149 span { position:relative; z-index:2; font-size:8.5px; font-weight:850; line-height:1.2; }
.transitSystemSpecialNodeV5149 small { position:relative; z-index:2; margin-top:3px; color:#798784; font-size:7.5px; }
.transitSystemSpecialNodeV5149.is-boundary::before { content:""; position:absolute; left:50%; top:9px; bottom:9px; border-left:2px dashed #879794; }
.transitSystemSpecialNodeV5149.is-boundary span { padding:4px 6px; border-radius:6px; background:#fbfdfd; }
.transitSystemSpecialNodeV5149.is-shared { min-width:calc(132px * var(--equivalent-stops)); }
.transitSystemSpecialNodeV5149.is-shared i { position:absolute; left:0; right:0; top:34px; border-top:5px dotted var(--system-color); }
.transitSystemSpecialNodeV5149.is-shared span,
.transitSystemSpecialNodeV5149.is-shared small { padding:1px 5px; background:#fbfdfd; }
.transitSystemSpecialNodeV5149.is-works-start,
.transitSystemSpecialNodeV5149.is-works-end { min-width:112px; color:#8a5a08; }
.transitSystemSpecialNodeV5149.is-works-start::before,
.transitSystemSpecialNodeV5149.is-works-end::before { content:""; position:absolute; left:0; right:0; top:34px; height:5px; background:repeating-linear-gradient(90deg,#d99116 0 12px,#f7d999 12px 24px); }
.transitSystemSpecialNodeV5149.is-works-start span,
.transitSystemSpecialNodeV5149.is-works-end span { padding:4px 6px; background:#fff9e9; border-radius:6px; }
.railLineMapStationAnnotationsV5149 { position:absolute; top:2px; right:calc(50% - 31px); z-index:5; font-size:13px; }
.railLineMapFacilityIconV5154 { display:inline-flex; align-items:center; justify-content:center; height:19px; min-width:19px; font-size:13px; line-height:1; }
.railLine4BusExtensionV5149 { margin-top:12px; padding:12px 14px; border:1px dashed #f2bf32; border-radius:12px; background:#fffaf0; }
.railLine4BusExtensionV5149 > div { display:flex; align-items:center; gap:8px; }
.railLine4BusExtensionV5149 > div > span { font-size:10px; font-weight:800; }
.railLine4BusExtensionV5149 i { flex:1; min-width:70px; border-top:4px dashed #f2bf32; }
.railLine4BusExtensionV5149 > strong { display:block; margin-top:7px; color:#7c631e; font-size:10px; }
@media (max-width: 900px){
.transitSystemMapHeadingV5149 { align-items:flex-start; }
.transitSystemInstitutionalV5149 { display:grid; grid-template-columns:1fr; }
}
@media (max-width: 620px){
.transitSystemMapPanelV5149 { padding:13px; border-radius:14px; }
.transitSystemMapHeadingV5149 h3 { font-size:1.08rem; }
.transitSystemIdentityV5149 { min-width:40px; height:40px; }
.transitSystemStationV5149 { width:116px; min-width:116px; }
.transitSystemSegmentV5149 { left:-58px; width:116px; }
.transitSystemSpecialNodeV5149.is-shared { min-width:calc(116px * var(--equivalent-stops)); }
}
.transitSystemYPathV5149 .transitSystemPathViewportV5149 { padding-top:8px; padding-bottom:8px; }
.transitSystemYStageV5149 { position:relative; width:980px; height:330px; }
.transitSystemYStageV5149 > svg { position:absolute; inset:0; width:980px; height:330px; overflow:visible; }
.transitSystemYStageV5149 > svg path { fill:none; stroke:var(--system-color); stroke-width:6; stroke-linecap:round; stroke-linejoin:round; }
.transitSystemYStationV5149 { position:absolute; width:116px; transform:translateX(-50%); display:grid; justify-items:center; text-align:center; }
.transitSystemYStationV5149 .transitSystemIntegrationsV5149 { position:relative; top:auto; min-height:22px; margin-bottom:4px; }
.transitSystemYStationV5149 .transitSystemNodeV5149 { width:18px; height:18px; border:4px solid var(--system-color); border-radius:50%; background:#fff; z-index:2; }
.transitSystemYStationV5149[data-terminal="true"] .transitSystemNodeV5149 { width:22px; height:22px; box-shadow:0 0 0 3px color-mix(in srgb,var(--system-color) 17%, transparent); }
.transitSystemYStationV5149 > strong { margin-top:6px; max-width:112px; font-size:9.5px; line-height:1.2; }
.transitSystemTrackV5149 { position:relative; }
.transitSystemTrackV5149::before {
  content:""; position:absolute; left:66px; right:66px; top:35px; height:5px;
  background:var(--system-color); border-radius:999px; z-index:0;
}
.transitSystemSegmentV5149 { z-index:1; }
.transitSystemSpecialNodeV5149 { z-index:2; }
.transitSystemSpecialNodeV5149.is-boundary i {
  position:absolute; left:0; right:0; top:34px; height:5px; background:var(--system-color); z-index:0;
}
.transitSystemSpecialNodeV5149.is-boundary::before { z-index:2; }
.transitSystemSpecialNodeV5149.is-boundary span { z-index:3; }
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"]::after {
  content:""; position:absolute; left:0; right:0; top:29px; height:15px; background:#fbfdfd; z-index:0;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"] i {
  z-index:1; background:repeating-linear-gradient(90deg,var(--system-color) 0 16px,transparent 16px 27px);
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"] i {
  background:repeating-linear-gradient(90deg,#d99116 0 13px,#f3cd75 13px 25px);
}
.transitSystemSpecialNodeV5149.is-shared::before {
  content:""; position:absolute; left:0; right:0; top:28px; height:16px; background:#fbfdfd; z-index:0;
}
.transitSystemSpecialNodeV5149.is-shared i {
  position:absolute; left:0; right:0; top:34px; height:5px; border:0;
  background:repeating-linear-gradient(90deg,var(--system-color) 0 16px,transparent 16px 27px); z-index:1;
}
.transitSystemSpecialNodeV5149.is-shared span { z-index:3; }
.transitSystemPathV5149.has-branch-v5150 .transitSystemPathViewportV5149 { padding-bottom:190px; overflow-y:visible; }
.transitSystemStationV5149[data-has-branch="true"] { z-index:5; }
.transitSystemBranchV5150 {
  position:absolute; left:calc(50% - 55px); top:62px; width:max-content; padding-top:54px; z-index:6;
}
.transitSystemBranchStemV5150 {
  position:absolute; left:55px; top:-27px; height:82px; border-left:5px solid var(--system-color); z-index:0;
}
.transitSystemBranchTrackV5150 { position:relative; display:flex; align-items:flex-start; width:max-content; }
.transitSystemBranchTrackV5150::before {
  content:""; position:absolute; left:55px; right:55px; top:35px; height:5px; background:var(--system-color); border-radius:999px;
}
.transitSystemBranchStationV5150 {
  position:relative; display:grid; justify-items:center; align-content:start; width:110px; min-width:110px; padding-top:24px; text-align:center;
}
.transitSystemBranchStationV5150 .transitSystemIntegrationsV5149 { top:0; }
.transitSystemBranchStationV5150 .transitSystemNodeV5149 { position:relative; z-index:2; }
.transitSystemBranchStationV5150[data-terminal="true"] .transitSystemNodeV5149 {
  width:22px; height:22px; box-shadow:0 0 0 3px color-mix(in srgb,var(--system-color) 17%, transparent);
}
.transitSystemBranchStationV5150 > strong { margin-top:7px; max-width:104px; font-size:9px; line-height:1.2; }
.transitSystemBranchSegmentV5150 { position:absolute; left:-55px; top:35px; width:110px; height:5px; background:var(--system-color); z-index:1; }
.railLineMapFacilityNoteV5150 {
  display:block; margin-top:3px; max-width:122px; color:#6f7d7b; font-size:8px; font-weight:700; line-height:1.2; text-align:center;
}
@media (max-width: 620px){
.transitSystemTrackV5149::before { left:58px; right:58px; }
}
.transitSystemSpecialNodeV5149.is-boundary {
  align-content: start;
}
.transitSystemSpecialNodeV5149.is-boundary span {
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 116px;
  padding: 1px 4px;
  background: #fbfdfd;
  line-height: 1.12;
}
.transitSystemSpecialNodeV5149.is-boundary i {
  display: none;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"]::after,
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"]::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 35px;
  height: 5px;
  background: #fbfdfd;
  z-index: 0;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"] i,
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"] i {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 35px;
  height: 5px;
  z-index: 1;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"] i {
  background: repeating-linear-gradient(90deg, var(--system-color) 0 16px, transparent 16px 27px);
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"] i {
  background: repeating-linear-gradient(90deg, #d99116 0 13px, #f3cd75 13px 25px);
}
.transitSystemSpecialNodeV5149.is-shared {
  align-content: start;
}
.transitSystemSpecialNodeV5149.is-shared::before {
  top: 35px;
  height: 5px;
}
.transitSystemSpecialNodeV5149.is-shared i {
  top: 35px;
  height: 5px;
}
.transitSystemSpecialNodeV5149.is-shared span {
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  max-width: 150px;
  padding: 1px 4px;
  line-height: 1.12;
}
.transitSystemTrackV5149 {
  min-width: max-content !important;
}
.transitSystemSpecialNodeV5149.is-boundary i {
  display: none !important;
}
.transitSystemSpecialNodeV5149.is-boundary::after {
  display: none !important;
  content: none !important;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"]::after,
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"]::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 35px !important;
  height: 5px !important;
  background: #fbfdfd !important;
  z-index: 0 !important;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"] i,
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"] i {
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 35px !important;
  height: 5px !important;
  border: 0 !important;
  z-index: 1 !important;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="shared"] i {
  background: repeating-linear-gradient(90deg, var(--system-color) 0 16px, transparent 16px 27px) !important;
}
.transitSystemSpecialNodeV5149.is-boundary[data-segment-style="construction"] i {
  background: repeating-linear-gradient(90deg, #d99116 0 13px, #f3cd75 13px 25px) !important;
}
.transitSystemSpecialNodeV5149.is-shared::before {
  top: 35px !important;
  height: 5px !important;
}
.transitSystemSpecialNodeV5149.is-shared i {
  top: 35px !important;
  height: 5px !important;
  border: 0 !important;
}
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemPathViewportV5149 {
  display: flex;
  justify-content: center;
}
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemTrackV5149 {
  margin-inline: auto;
}
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemStationV5149 {
  width: 190px;
  min-width: 190px;
}
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemSegmentV5149 {
  left: -95px;
  width: 190px;
}
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemTrackV5149::before {
  left: 95px;
  right: 95px;
}
.transitSystemMapPanelV5149[data-system="ET"] .transitSystemPathViewportV5149 {
  display: flex;
  justify-content: center;
}
.transitSystemMapPanelV5149[data-system="ET"] .transitSystemYStageV5149 {
  flex: 0 0 980px;
  margin-inline: auto;
}
.railLineMapViewportBranchV5137 .railLineMapBranchStageV5137 {
  width: 940px;
  min-width: 940px;
  margin-inline: auto;
}
.railLineMapBranchSegmentV5137.is-upper { transform: rotate(-20.14deg); }
.railLineMapBranchSegmentV5137.is-lower { transform: rotate(20.14deg); }
.railLine4BusExtensionV5149 > div {
  width: min(620px, 100%);
  margin-inline: auto;
}
.railLine4BusExtensionV5149 i {
  flex: 0 1 320px;
  min-width: 120px;
}
.railLine4BusExtensionV5149 > strong {
  width: min(620px, 100%);
  margin: 7px auto 0;
}
@media (max-width: 700px){
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemPathViewportV5149 {
    justify-content: flex-start;
  }
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemStationV5149 {
    width: 148px;
    min-width: 148px;
  }
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemSegmentV5149 {
    left: -74px;
    width: 148px;
  }
.transitSystemMapPanelV5149[data-system="EA"] .transitSystemTrackV5149::before {
    left: 74px;
    right: 74px;
  }
.transitSystemMapPanelV5149[data-system="ET"] .transitSystemPathViewportV5149 {
    justify-content: flex-start;
  }
.railLineMapViewportBranchV5137 .railLineMapBranchStageV5137 {
    margin-inline: 0;
  }
.railLine4BusExtensionV5149 > div,
  .railLine4BusExtensionV5149 > strong {
    width: min(520px, 100%);
  }
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemTrackV5149 {
  --transit-station-width: 132px;
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149 {
  width: var(--station-width, var(--transit-station-width));
  min-width: var(--station-width, var(--transit-station-width));
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemSegmentV5149 {
  left: calc(var(--previous-station-width, var(--transit-station-width)) / -2);
  width: calc((var(--previous-station-width, var(--transit-station-width)) + var(--station-width, var(--transit-station-width))) / 2);
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-albert-leimer"] {
  --station-width: 172px;
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-rodoviaria-cecap"] {
  --previous-station-width: 172px;
  --station-width: 198px;
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-forum"] {
  --previous-station-width: 198px;
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-rodoviaria-cecap"] .transitSystemIntegrationsV5149 {
  gap: 7px;
}
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-rodoviaria-cecap"] .transitSystemStationNoteV5149 {
  max-width: 176px;
  margin-top: 5px;
  color: #667875;
  font-size: 8.5px;
  font-weight: 700;
}
@media (max-width: 700px){
.transitSystemMapPanelV5149[data-system="B"] .transitSystemTrackV5149 {
    --transit-station-width: 116px;
  }
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-albert-leimer"] {
    --station-width: 150px;
  }
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-rodoviaria-cecap"] {
    --previous-station-width: 150px;
    --station-width: 174px;
  }
.transitSystemMapPanelV5149[data-system="B"] .transitSystemStationV5149[data-node-id="b-forum"] {
    --previous-station-width: 174px;
  }
}
