/* One container and spacing system for every public template. */
:root {
    --ts-container-width: 1200px;
    --ts-page-gutter: clamp(16px, 2.4vw, 28px);
    --ts-section-space: clamp(32px, 4.5vw, 56px);
    --ts-card-space: clamp(18px, 2.5vw, 32px);
}
html { scroll-padding-top: 120px; }
.container,
.content-grid-section .container {
    width: 100%;
    max-width: var(--ts-container-width) !important;
    padding-inline: var(--ts-page-gutter);
    margin-inline: auto;
}
main > section:not(.hero-banner-terminal),
main > article,
main > .content-grid-section {
    padding-block: var(--ts-section-space) !important;
}
main > section > .container,
main > article > .container {
    padding-block: 0 !important;
}
main > .container.my-5 { margin-block: var(--ts-section-space) !important; }
main .hero-banner-terminal {
    padding-top: calc(88px + var(--ts-section-space)) !important;
    padding-bottom: var(--ts-section-space) !important;
    margin-bottom: 0 !important;
}
main .hero-headline {
    font-size: clamp(1.8rem, 3.8vw, 3.3rem) !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.hero-h2 { font-size: clamp(1.35rem, 2.7vw, 2.5rem); line-height: 1.3; }
.hero-lead { max-width: 100%; font-size: clamp(.95rem, 1.4vw, 1.15rem); }
.search-screenshot-card {
    width: 100%;
    max-width: none;
    margin-top: 0 !important;
    padding: var(--ts-card-space);
    border-radius: clamp(16px, 2vw, 24px);
}
.terminal-specs-bar { max-width: none; margin-top: 28px; }
/* PNR enquiry: give the number input room and keep its action compact. */
#pnrForm #pnrInput { min-width: 0; height: 50px; }
#pnrForm #pnrSearchBtn {
    width: 100%;
    min-height: 48px;
    height: 50px;
    padding: 0 22px;
    font-size: .95rem;
    border-radius: 10px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(2,132,199,.18);
}
@media (min-width:768px) {
    #pnrForm #pnrInput { flex: 1 1 auto; }
    #pnrForm #pnrSearchBtn { flex: 0 0 auto; width: auto; min-width: 170px; }
}
.section-intro-terminal { max-width: none; margin-bottom: clamp(24px, 3vw, 40px); }
.section-intro-terminal > p { max-width: 78ch; margin-inline: auto; }
main .row > *,
.content-left-side,
.content-grid-section aside { min-width: 0; }
.entry-content,
.ts-editorial-content,
.single-post main article { overflow-wrap: anywhere; }
main img,
main video,
main iframe { max-width: 100%; }
.entry-content img,
.ts-editorial-content img,
.single-post main article img { height: auto; }
.entry-content table,
.single-post main article table { display: block; max-width: 100%; overflow-x: auto; }
.table-responsive { max-width: 100%; overscroll-behavior-inline: contain; }
#faq, #journal, #services-matrix { scroll-margin-top: 120px; }
@media (max-width: 767.98px) {
    main .hero-banner-terminal { padding-top: 112px !important; }
    main .hero-headline { font-size: clamp(1.7rem, 7vw, 2.5rem) !important; }
    .screenshot-tabs-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
    .screenshot-tab-btn { min-width: 0; justify-content: center; padding: 10px 5px; font-size: .75rem; white-space: normal; border-radius: 8px; gap: 4px; }
    .screenshot-tab-btn i { font-size: .95rem; flex-shrink: 0; }
    .btn-screenshot-blue { min-height: 48px; height: auto; padding-block: 12px; white-space: normal; }
    .content-grid-section .content-box,
    .content-grid-section .side-card { padding: var(--ts-card-space); }
    .terminal-specs-bar { gap: 12px; }
}

/* Keep the logged-in profile control on the toolbar's first row. */
@media (max-width:600px) {
    .admin-bar #wpadminbar #wp-admin-bar-top-secondary { position: absolute; top: 0; right: 0; }
}

/* Bootstrap row/flex gaps provide card spacing; remove the old extra 70px. */
main .service-module-card { margin-bottom: 0; }
@media (hover:none) {
    main .service-module-card:hover { transform: none; }
}

/* Resources uses its background colour without borders or focus rings. */
#desktopNav .ts-header-links .ts-resources > #ts-desktop-resources,
#desktopNav .ts-header-links .ts-resources > #ts-desktop-resources:hover,
#desktopNav .ts-header-links .ts-resources > #ts-desktop-resources:focus,
#desktopNav .ts-header-links .ts-resources > #ts-desktop-resources:focus-visible,
#desktopNav .ts-header-links .ts-resources > #ts-desktop-resources:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Inner-page masthead: clear typography and a quiet railway-blue backdrop. */
main .ts-inner-hero {
    background: radial-gradient(ellipse at 85% 5%, #0b5273 0%, transparent 55%), linear-gradient(115deg, #0b1629, #10283f) !important;
    background-attachment: scroll;
    text-align: left !important;
    border-bottom: 4px solid #22b8e7;
}
.ts-inner-hero::before {
    background: repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.025) 80px 81px);
    opacity: .7;
}
.ts-inner-hero::after {
    opacity: 1;
    width: 330px;
    height: 330px;
    top: -110px;
    bottom: auto;
    left: auto;
    right: -90px;
    border: 1px solid rgba(125,211,252,.12);
    border-radius: 50%;
    box-shadow: 0 0 0 60px rgba(125,211,252,.035), 0 0 0 120px rgba(125,211,252,.025);
    pointer-events: none;
}
.ts-inner-eyebrow { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.ts-inner-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border: 1px solid rgba(125,211,252,.3); border-radius: 14px; color: #7dd3fc; background: rgba(14,165,233,.12); font-size: 1.5rem; }
.ts-inner-hero .live-telemetry-badge { margin: 0; padding: 7px 12px; font-size: .7rem; color: #bae6fd; background: rgba(255,255,255,.045); border-color: rgba(186,230,253,.18); line-height: 1.5; }
.ts-inner-hero .pulse-indicator { flex-shrink: 0; }
main .ts-inner-hero .hero-headline { max-width: 1050px; font-size: clamp(1.8rem,3.4vw,3rem) !important; line-height: 1.18; letter-spacing: -.035em; margin: 0 0 18px; color: #f8fafc; }
.ts-inner-hero .hero-headline span { background: none; color: inherit; -webkit-text-fill-color: currentColor; }
.ts-inner-hero .hero-lead { max-width: 85ch; margin: 0; color: #c6d7e8; font-size: clamp(.95rem,1.25vw,1.08rem); line-height: 1.8; }
.ts-inner-hero-simple .terminal-category-tag { display: inline-block; margin-bottom: 18px; color: #bae6fd !important; }
.terminal-nav .ts-menu-toggle { width: 46px; height: 46px; padding: 11px; border: 1px solid #d6e8f3; border-radius: 13px; background: #f0f9ff; color: #075985; align-items: center; justify-content: center; }
.ts-hamburger { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.ts-hamburger span { display: block; height: 2px; width: 100%; border-radius: 2px; background: currentColor; }
.ts-menu-toggle:hover { background: #e0f2fe; border-color: #7dd3fc; }
.terminal-nav .ts-menu-toggle:focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; box-shadow: none; }
@media (max-width:991.98px) { .terminal-nav .ts-menu-toggle { display: inline-flex; } }
@media (max-width:599.98px) {
    #mobileOffcanvas { width: 100%; max-width: 100%; border-left: 0; }
    #mobileOffcanvas .offcanvas-header { padding: 20px !important; }
    #mobileOffcanvas .offcanvas-body { padding: 20px; }
    .ts-inner-eyebrow { gap: 10px; margin-bottom: 20px; }
    .ts-inner-icon { width: 42px; height: 42px; border-radius: 12px; font-size: 1.3rem; }
    .ts-inner-hero .live-telemetry-badge { font-size: .59rem; padding: 6px 9px; letter-spacing: .03em; }
    main .ts-inner-hero .hero-headline { font-size: clamp(1.75rem,7.2vw,2.5rem) !important; }
    .ts-inner-hero .hero-lead { font-size: .94rem; }
}
.ts-ribbon-page { margin-top:24px;margin-bottom:40px; }
.ts-ribbon-search { margin-bottom:20px;border-bottom:1px solid #dce8ef; }
.ts-ribbon-search > summary { padding:12px 0;color:#12638b;font-weight:600; }
.ts-ribbon-search .search-screenshot-card { margin:12px 0 20px;padding:24px; }
.ts-ribbon-result { background:#fff;border:1px solid #e1eaf0;border-radius:20px;overflow:hidden; }
.ts-ribbon-summary,.ts-ribbon-route,.ts-ribbon-coaches { padding:28px; }
.ts-ribbon-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; }
.ts-ribbon-heading h2 { font-size:1.5rem;font-weight:800;margin:0;letter-spacing:-.04em; }
.ts-ribbon-heading .live-telemetry-badge { margin:0;color:#08729c!important;background:#edf8fd!important;border-color:#d5eaf5!important; }
.ts-ribbon-muted { color:#607889;font-size:.8rem; }
#trackJourneyEndpoints { margin:8px 0 18px; }
.ts-ribbon-location { background:#edf8fd;border-radius:18px;padding:22px; }
.ts-ribbon-kicker { font-size:.7rem;letter-spacing:.07em;color:#007eae;font-weight:800;text-transform:uppercase; }
.ts-ribbon-location h3 { font-size:1.85rem;letter-spacing:-.04em;font-weight:800;margin:8px 0; }
.ts-ribbon-report { display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px; }
#trackDelayBadge { font-size:.75rem!important;padding:5px 8px!important; }
#trackStatusNoteText { background:transparent!important;border:0!important;color:#315267!important;padding:0!important;font-size:.8rem;line-height:1.6; }
.ts-ribbon-progress { height:4px;background:#e0eaf0;position:relative;margin:25px 10px 12px;border-radius:4px; }
#trackRibbonFill { height:100%;background:#0088bb;border-radius:4px; }
#trackRibbonTrain { position:absolute;top:50%;transform:translate(-50%,-50%);background:#0088bb;color:#fff;padding:4px 6px;border-radius:7px;font-size:.8rem; }
.ts-ribbon-progress-labels { display:flex;justify-content:space-between;gap:10px;font-size:.75rem;color:#607889; }
.ts-ribbon-next { display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid #e1eaf0; }
.ts-ribbon-next h3 { font-size:1.15rem;font-weight:750;margin:6px 0 0; }
.ts-ribbon-next-time { text-align:right;min-width:90px; }
#trackEta { display:block;font-size:1.4rem;letter-spacing:-.03em; }
#trackEtaDate { display:block;color:#607889;font-size:.7rem; }
#trackNextTimingType { color:#607889;font-size:.65rem;display:block; }
.ts-ribbon-details { border-bottom:1px solid #e1eaf0; }
.ts-ribbon-details > summary { padding:16px 0;font-size:.85rem;font-weight:650;color:#23485f; }
.ts-ribbon-details small { color:#607889;font-size:.75rem; }
.ts-ribbon-route { padding-top:0; }
.ts-ribbon-actions { display:flex;gap:12px;padding:0 28px 24px;flex-wrap:wrap; }
.ts-ribbon-actions .btn { border-radius:10px;padding:11px 18px;font-size:.85rem; }
.ts-ribbon-coaches { margin:0 28px 24px;padding:0; }
.ts-ribbon-stop { border:0;background:transparent;margin:0; }
.ts-ribbon-stop > summary { list-style:none;display:grid;grid-template-columns:64px 20px minmax(0,1fr) 38px;gap:8px;min-height:68px;align-items:start; }
.ts-ribbon-stop > summary::-webkit-details-marker { display:none; }
.ts-ribbon-time { font-size:.75rem;line-height:1.5;font-weight:750;padding-top:2px; }
.ts-ribbon-time del { display:block;font-size:.65rem;color:#718694;font-weight:400; }
.ts-ribbon-track { position:relative;height:100%;min-height:68px;display:flex;justify-content:center; }
.ts-ribbon-track:after { content:'';position:absolute;top:11px;bottom:-8px;background:#dce8ef;width:2px; }
.ts-ribbon-track b { margin-top:6px;width:10px;height:10px;border:2px solid #c2d6e2;background:#fff;border-radius:50%;z-index:1; }
.ts-ribbon-now .ts-ribbon-track b { background:#0088bb;border-color:#0088bb;box-shadow:0 0 0 4px #e3f5fc; }
.ts-ribbon-now .ts-ribbon-track:after { background:#0088bb; }
.ts-ribbon-station strong { display:block;font-size:.85rem;line-height:1.45;font-weight:700;overflow-wrap:anywhere; }
.ts-ribbon-station small { display:block;color:#607889;font-size:.67rem;line-height:1.6;margin-top:3px; }
.ts-ribbon-platform { font-size:.7rem;color:#607889;text-align:right;padding-top:2px; }
.ts-ribbon-platform i { display:block;font-size:.6rem;margin-top:6px; }
.ts-ribbon-cancelled .ts-ribbon-station strong { color:#b42318; }
.ts-ribbon-stop-details { padding:8px 0 18px 28px;margin-left:64px;display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid #e1eaf0;margin-bottom:12px; }
.ts-ribbon-stop-details > div > small { display:block;color:#607889;font-size:.7rem;margin-bottom:4px; }
.ts-ribbon-stop[hidden] { display:none!important; }
.ts-ribbon-mobile { display:none; }
@media(max-width:767.98px) {
    .ts-ribbon-page { margin-top:14px; }
    .ts-ribbon-summary,.ts-ribbon-route { padding:18px; }
    .ts-ribbon-route { padding-top:0; }
    .ts-ribbon-location { padding:17px; }
    .ts-ribbon-location h3 { font-size:1.5rem; }
    .ts-ribbon-heading h2 { font-size:1.15rem; }
    .ts-ribbon-heading .live-telemetry-badge { font-size:.55rem;padding:5px 7px; }
    .ts-ribbon-next h3 { font-size:.95rem; }
    .ts-ribbon-next { gap:10px;padding:18px 0; }
    .ts-ribbon-mobile { display:block; }
    .ts-ribbon-route .ts-track-desktop-view { display:none!important; }
    .ts-ribbon-route .ts-route-switch-wrap { display:flex;gap:4px;flex-wrap:wrap; }
    .ts-ribbon-route .ts-route-switch-btn { font-size:.65rem;padding:7px; }
    .ts-ribbon-route h3.h5 { font-size:.95rem; }
    .ts-ribbon-actions { padding:0 18px 18px;gap:8px; }
    .ts-ribbon-actions .btn { padding:11px 12px; }
    .ts-ribbon-coaches { margin:0 18px 18px; }
}
/* Mobile Rail Ribbon uses the approved preview's navy / cyan palette. */
@media (max-width:767.98px) {
    .ts-ribbon-page { background:#132333;color:#eaf5ff;border-radius:24px;padding-inline:0;overflow:hidden; }
    .ts-tracking-ready .ts-ribbon-result { background:#132333;color:#eaf5ff;border:0;border-radius:0; }
    .ts-ribbon-search { margin:0 20px 18px;border-color:#304456; }
    .ts-ribbon-search > summary { color:#4ccfff;font-size:.8rem;padding:15px 0; }
    .ts-ribbon-search .search-screenshot-card { background:#19394a;border:1px solid #304456;box-shadow:none;padding:16px; }
    .ts-ribbon-search .form-field-label { color:#9fb5c8; }
    .ts-ribbon-search input { background:#132333;color:#eaf5ff;border-color:#304456; }
    .ts-ribbon-search input[type=date] { color-scheme:dark; }
    .ts-tracking-ready .ts-ribbon-summary,.ts-tracking-ready .ts-ribbon-route { padding-inline:20px; }
    .ts-tracking-ready .ts-ribbon-location { background:#19394a;border:0;border-radius:20px;padding:19px; }
    .ts-tracking-ready .ts-ribbon-location h3 { color:#eaf5ff;font-size:1.75rem; }
    .ts-tracking-ready .ts-ribbon-heading h2 { color:#eaf5ff;font-size:1.4rem; }
    .ts-tracking-ready .ts-ribbon-heading .live-telemetry-badge { color:#4ccfff!important;background:#19394a!important;border-color:#304456!important; }
    .ts-tracking-ready .ts-ribbon-kicker { color:#4ccfff; }
    .ts-tracking-ready .ts-ribbon-muted,.ts-tracking-ready #trackEtaDate,.ts-tracking-ready #trackNextTimingType,
    .ts-tracking-ready .ts-ribbon-progress-labels,.ts-tracking-ready .ts-ribbon-details small,
    .ts-tracking-ready .ts-ribbon-station small,.ts-tracking-ready .ts-ribbon-platform,
    .ts-tracking-ready .ts-ribbon-time del,.ts-tracking-ready .ts-ribbon-stop-details > div > small { color:#9fb5c8; }
    .ts-tracking-ready #trackStatusNoteText { color:#9fb5c8!important;text-align:left;font-weight:400!important; }
    .ts-tracking-ready #trackDelayBadge.bg-success { background:transparent!important;color:#6ee2b3!important;padding:0!important; }
    .ts-tracking-ready .ts-ribbon-report { gap:10px; }
    .ts-tracking-ready .ts-ribbon-progress { background:#304456; }
    .ts-tracking-ready #trackRibbonFill { background:#4ccfff; }
    .ts-tracking-ready #trackRibbonTrain { background:#4ccfff;color:#082330; }
    .ts-tracking-ready .ts-ribbon-next,.ts-tracking-ready .ts-ribbon-details,.ts-tracking-ready .ts-ribbon-stop-details { border-color:#304456; }
    .ts-tracking-ready .ts-ribbon-next h3,.ts-tracking-ready #trackEta,.ts-tracking-ready .ts-ribbon-details > summary { color:#eaf5ff; }
    .ts-tracking-ready .ts-ribbon-next h3 { font-size:1rem; }
    .ts-tracking-ready .ts-ribbon-next-time { min-width:90px; }
    .ts-tracking-ready #trackEta { font-size:1.55rem; }
    .ts-tracking-ready .ts-ribbon-route .border-bottom { border-color:#304456!important; }
    .ts-tracking-ready .ts-ribbon-route h3.text-dark { color:#eaf5ff!important; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-wrap { background:#19394a;border-color:#304456; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn { color:#9fb5c8;background:transparent;border:0; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn.active { background:#4ccfff;color:#082330;box-shadow:none; }
    .ts-tracking-ready .ts-ribbon-track:after { background:#304456; }
    .ts-tracking-ready .ts-ribbon-track b { background:#132333;border-color:#617f93; }
    .ts-tracking-ready .ts-ribbon-now .ts-ribbon-track b { background:#4ccfff;border-color:#4ccfff;box-shadow:0 0 0 5px #19394a; }
    .ts-tracking-ready .ts-ribbon-now .ts-ribbon-track:after { background:#4ccfff; }
    .ts-tracking-ready .ts-ribbon-cancelled .ts-ribbon-station strong { color:#ff9a91; }
    .ts-tracking-ready .ts-ribbon-stop-details .text-dark { color:#eaf5ff!important; }
    .ts-tracking-ready .ts-ribbon-stop-details .text-muted { color:#9fb5c8!important; }
    .ts-tracking-ready .ts-ribbon-stop-details .text-danger { color:#ffbe75!important; }
    .ts-tracking-ready .ts-ribbon-stop-details .text-success { color:#6ee2b3!important; }
    .ts-tracking-ready .ts-ribbon-actions { padding-inline:20px; }
    .ts-tracking-ready .ts-ribbon-actions .btn-primary { background:#4ccfff;border-color:#4ccfff;color:#082330;flex:1;font-weight:700; }
    .ts-tracking-ready .ts-ribbon-actions .btn-outline-secondary,.ts-tracking-ready #trackMoreStops { background:#132333;border-color:#304456;color:#eaf5ff; }
    .ts-tracking-ready .ts-ribbon-coaches { margin-inline:20px; }
    .ts-tracking-ready .ts-ribbon-coaches h3.text-dark { color:#eaf5ff!important; }
}
.ts-ribbon-number { color:#007eae;font-size:.7rem;letter-spacing:.1em;font-weight:750;margin-bottom:8px; }
.ts-ribbon-stop[data-passed="true"] > summary > .ts-ribbon-time,
.ts-ribbon-stop[data-passed="true"] > summary > .ts-ribbon-station,
.ts-ribbon-stop[data-passed="true"] > summary > .ts-ribbon-platform { opacity:.48; }
.ts-ribbon-stop[data-passed="false"] > summary { opacity:1; }
@media(max-width:767.98px) {
    .ts-ribbon-page { font-family:Inter,system-ui,sans-serif; }
    .ts-tracking-ready .ts-ribbon-number { color:#4ccfff; }
}

/* Keep route marks independent from faded passed-station text. */
.ts-ribbon-page { margin-top:0; }
.ts-ribbon-result { border-radius:0; }
.ts-ribbon-stop[data-passed="true"] .ts-ribbon-track:after { background:#0088bb; }
.ts-ribbon-stop[data-passed="true"] .ts-ribbon-track b { border-color:#0088bb;background:#0088bb; }
.ts-ribbon-live-train { position:relative;z-index:2;margin-top:0;font-size:18px;line-height:26px;color:#0088bb;animation:ts-ribbon-train-blink 1.5s ease-in-out infinite; }
@keyframes ts-ribbon-train-blink { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@media(prefers-reduced-motion:reduce) { .ts-ribbon-live-train { animation:none; } }
@media(max-width:767.98px) {
    .ts-ribbon-page { margin-top:0;border-radius:0; }
    .ts-tracking-ready .ts-ribbon-stop[data-passed="true"] .ts-ribbon-track:after { background:#4ccfff; }
    .ts-tracking-ready .ts-ribbon-stop[data-passed="true"] .ts-ribbon-track b { background:#4ccfff;border-color:#4ccfff; }
    .ts-tracking-ready .ts-ribbon-stop[data-passed="false"] .ts-ribbon-track:after { background:rgba(159,181,200,.2); }
    .ts-tracking-ready .ts-ribbon-stop[data-passed="false"] .ts-ribbon-track b { border-color:rgba(159,181,200,.3); }
    .ts-tracking-ready .ts-ribbon-live-train { color:#4ccfff; }
}
/* Tracking search spacing and readable, unbroken compact timings. */
.ts-ribbon-search { padding-top:22px; }
.ts-ribbon-time { white-space:nowrap;font-size:.67rem; }
.ts-ribbon-time del { white-space:nowrap;font-size:.6rem; }
@media(max-width:767.98px) {
    .ts-ribbon-search { padding-top:24px; }
    .ts-ribbon-stop > summary { grid-template-columns:76px 18px minmax(0,1fr) 34px;gap:6px; }
    .ts-ribbon-stop-details { margin-left:0;padding-left:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px; }
    .ts-ribbon-stop-details .ts-ribbon-timing { font-size:.75rem;white-space:nowrap; }
    .ts-ribbon-stop-details .ts-ribbon-timing del { display:block;font-size:.65rem; }
}
@media(min-width:768px) {
    .ts-ribbon-summary { padding:32px; }
    .ts-ribbon-heading h2 { font-size:1.75rem; }
    .ts-ribbon-location { position:relative;padding:28px 32px;border:1px solid #d5eaf5;background:linear-gradient(115deg,#edf8fd,#f5fbff); }
    .ts-ribbon-location h3 { font-size:2rem;margin:12px 0 10px;max-width:100%; }
    .ts-ribbon-location #trackStatusNoteBox { margin:0;max-width:80ch; }
    .ts-ribbon-location #trackStatusNoteText { display:block!important;text-align:left!important;font-size:.875rem;font-weight:400!important;line-height:1.7; }
    .ts-ribbon-report { margin-top:18px;gap:16px; }
    .ts-ribbon-report #trackDelayBadge { border-radius:6px;padding:7px 10px!important; }
    .ts-ribbon-report .ts-ribbon-muted { font-size:.8rem; }
}
@media(max-width:767.98px) {
    .ts-ribbon-stop-details > div:nth-child(-n+2) { white-space:nowrap;min-width:0; }
    .ts-ribbon-stop-details > div:nth-child(-n+2) strong,
    .ts-ribbon-stop-details > div:nth-child(-n+2) .fw-bold { font-size:.75rem!important;white-space:nowrap; }
    .ts-ribbon-stop-details > div:nth-child(-n+2) .text-muted { font-size:.65rem!important;white-space:nowrap; }
}
/* Mobile route section: a clear heading and roomy two-way segment control. */
@media(max-width:767.98px) {
    .ts-tracking-ready .ts-ribbon-route > .d-flex { display:block!important;padding-bottom:16px!important;margin-bottom:20px!important; }
    .ts-tracking-ready .ts-ribbon-route h3.h5 { font-size:1rem;line-height:1.4;margin-bottom:14px!important;font-weight:700;letter-spacing:-.02em; }
    .ts-tracking-ready .ts-ribbon-route h3.h5 > i { color:#4ccfff!important; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-wrap { display:grid;grid-template-columns:1fr 1fr;gap:5px;width:100%;padding:5px;background:#0d1c2a;border:1px solid #304456;border-radius:12px; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn { display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:9px 5px;font-size:.67rem;line-height:1.3;white-space:normal;border-radius:8px;color:#afc4d5;font-weight:600; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn i { font-size:.85rem;margin:0!important; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn.active { background:#4ccfff;color:#082330;box-shadow:0 2px 7px #0002; }
    .ts-tracking-ready .ts-ribbon-route .ts-route-switch-btn:focus-visible { outline:2px solid #eaf5ff;outline-offset:2px; }
}
/* Cancelled train bulletin: shared desktop/mobile date controls and readable records. */
.ts-cancelled-page { color:#17344b; }
.ts-cancelled-page > .d-flex h2 { font-size:1.4rem;letter-spacing:-.03em; }
.ts-cancel-toolbar { display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:20px;padding:22px;background:#fff;border:1px solid #dce7ef;border-radius:16px;margin-bottom:22px; }
.ts-cancel-toolbar label { font-size:.75rem;font-weight:700;display:block;margin-bottom:8px;color:#526e82; }
.ts-cancel-toolbar input { min-height:46px;border-color:#cddde9;font-size:16px;border-radius:9px; }
.ts-cancel-notice { padding:18px 20px;border:1px solid #f2cf83;border-left:4px solid #c78012;background:#fff8e9;color:#654915;line-height:1.7;font-size:.875rem;border-radius:10px;margin-bottom:22px; }
.ts-cancel-metrics > div > div { box-shadow:none!important;border-radius:12px!important;height:100%;padding:20px!important; }
.ts-cancel-metrics h3 { font-size:2rem; }
.ts-cancel-metrics #cancelDateText { font-size:1rem!important;line-height:1.5; }
.ts-cancel-tabs { display:flex;width:100%;gap:8px;padding:6px;background:#eaf2f8;border:1px solid #d9e5ef;border-radius:12px; }
.ts-cancel-tabs .ts-route-switch-btn { flex:1;justify-content:center;min-height:44px;border-radius:8px;white-space:normal; }
.ts-cancelled-page .table th { color:#526e82;font-size:.75rem;white-space:nowrap;padding:16px 12px; }
.ts-cancelled-page .table td { padding:18px 12px;font-size:.85rem; }
.ts-cancelled-page .table td .badge { white-space:normal;text-align:left;line-height:1.5; }
.ts-cancel-train { background:#fff;border:1px solid #dce7ef;border-radius:14px;padding:18px; }
.ts-cancel-train-head { display:flex;justify-content:space-between;gap:10px;align-items:center; }
.ts-cancel-number { color:#007ea8;font-size:.85rem;font-weight:800;letter-spacing:.06em; }
.ts-cancel-train-head .badge { font-size:.6rem;line-height:1.4;white-space:normal;text-align:right; }
.ts-cancel-train h3 { font-size:1rem;font-weight:750;line-height:1.5;margin:10px 0 16px;overflow-wrap:anywhere; }
.ts-cancel-route { display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;color:#23485f; }
.ts-cancel-route > div { grid-column:2; }
.ts-cancel-route > i { grid-column:1;grid-row:1 / 3;align-self:center;color:#77a6bf; }
.ts-cancel-route small { font-size:.6rem;letter-spacing:.1em;color:#6b8496;display:block;margin-bottom:2px; }
.ts-cancel-route strong { font-size:.8rem;line-height:1.6;display:block;font-weight:600; }
.ts-cancel-meta { display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e6edf2;margin-top:16px;padding-top:14px;font-size:.7rem;flex-wrap:wrap; }
.ts-cancel-meta .btn { font-size:.7rem;border-radius:7px;min-height:38px;padding:9px 12px; }
.ts-cancel-reported { display:block;font-size:.65rem;color:#73899a;margin-top:10px; }
.ts-cancel-empty { background:#fff;padding:24px;border:1px solid #dce7ef;border-radius:12px;color:#607b8f;text-align:center;font-size:.875rem; }
@media(max-width:767.98px) {
    .ts-cancelled-page { margin-block:24px!important; }
    .ts-cancelled-page > .d-flex h2 { font-size:1.15rem;line-height:1.5; }
    .ts-cancel-toolbar { grid-template-columns:minmax(0,1fr);padding:18px;gap:16px; }
    .ts-cancel-metrics { --bs-gutter-x:12px;--bs-gutter-y:12px; }
    .ts-cancel-metrics > div > div { padding:14px!important; }
    .ts-cancel-metrics .text-uppercase { font-size:.6rem;line-height:1.6; }
    .ts-cancel-metrics h3 { font-size:1.6rem; }
    .ts-cancel-tabs { gap:3px;padding:4px; }
    .ts-cancel-tabs .ts-route-switch-btn { font-size:.62rem;padding:8px 3px;line-height:1.5;gap:3px; }
}
.ts-cancel-toolbar > .ts-cancel-date-help { grid-column:1 / -1;margin-top:0; }
.ts-cancel-toolbar select.form-select { min-height:50px;border:1px solid #cddde9;border-radius:10px;color:#17344b;font-size:15px;padding:12px 36px 12px 14px;background-color:#fff; }
.ts-cancel-toolbar select.form-select:focus { border-color:#59b9d8;box-shadow:0 0 0 3px #91dcf14d; }
/* Train schedule: dedicated mobile route view without a horizontal table. */
.ts-info-mobile-route { display:none; }
@media(max-width:767.98px) {
    .ts-info-page { margin-block:24px!important; }
    .ts-info-page .search-screenshot-card { padding:20px;box-shadow:0 8px 24px #102d4310; }
    .ts-info-page #trainInfoSearchBtn { min-width:0!important;width:100%;height:48px!important;border-radius:10px; }
    .ts-info-page #trainNumInput { min-width:0;height:50px; }
    .ts-info-page #trainInfoResultContainer { margin-top:24px!important;background:#132333;color:#eaf5ff; }
    .ts-info-page #trainInfoResultContainer > .service-module-card { background:transparent;border:0!important;border-radius:0;box-shadow:none!important;padding:20px!important; }
    .ts-info-page #trainInfoResultContainer > .service-module-card:first-child { padding-bottom:8px!important; }
    .ts-info-page #trainInfoResultContainer .text-dark { color:#eaf5ff!important; }
    .ts-info-page #trainInfoResultContainer .text-muted { color:#9fb5c8!important; }
    .ts-info-page #trainInfoResultContainer .text-primary { color:#4ccfff!important; }
    .ts-info-page #trainInfoResultContainer .border-bottom { border-color:#304456!important; }
    .ts-info-page #infoTrainTitle { font-size:1.15rem;line-height:1.6; }
    .ts-info-page #infoTypeBadge { background:#19394a!important;color:#4ccfff;font-size:.65rem!important;border:1px solid #304456; }
    .ts-info-page .ts-info-endpoints { display:grid!important;grid-template-columns:minmax(0,1fr);text-align:left!important;justify-content:stretch!important;gap:14px;background:#19394a!important;border:0!important;padding:18px!important;border-radius:14px!important; }
    .ts-info-page .ts-info-endpoints > div:nth-child(2) { display:flex;justify-content:space-between;align-items:center;gap:10px;border-block:1px solid #304456;padding-block:9px; }
    .ts-info-page .ts-info-endpoints > div:nth-child(2) .fs-3 { font-size:1.1rem!important;transform:rotate(90deg); }
    .ts-info-page .ts-info-endpoints .text-uppercase { font-size:.6rem;letter-spacing:.06em; }
    .ts-info-page #infoSource,.ts-info-page #infoDest { font-size:1rem!important;line-height:1.6;overflow-wrap:anywhere; }
    .ts-info-page #infoSource small,.ts-info-page #infoDest small { font-size:.8rem!important; }
    .ts-info-page #infoDuration { background:transparent!important;color:#9fb5c8!important;border:0!important;padding:0; }
    .ts-info-page .ts-info-metrics { --bs-gutter-x:12px;--bs-gutter-y:12px; }
    .ts-info-page .ts-info-metrics > div > div { padding:12px!important;background:transparent!important;border:0!important;border-bottom:1px solid #304456!important;border-radius:0!important;text-align:left;min-height:80px; }
    .ts-info-page .ts-info-metrics .text-uppercase { font-size:.6rem;letter-spacing:.04em; }
    .ts-info-page .ts-info-metrics strong { font-size:.8rem!important;line-height:1.7; }
    .ts-info-page #trainInfoResultContainer h3.h5 { font-size:.95rem;line-height:1.5; }
    .ts-info-page #infoStnCountBadge { background:#19394a!important;border-color:#304456!important;color:#9fb5c8!important;font-size:.65rem; }
    .ts-info-page .ts-info-desktop-route { display:none; }
    .ts-info-mobile-route { display:block; }
    .ts-info-stop { display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px; }
    .ts-info-track { position:relative;display:flex;justify-content:center; }
    .ts-info-track:after { content:'';position:absolute;top:22px;bottom:0;width:2px;background:#304456; }
    .ts-info-stop:last-child .ts-info-track:after { display:none; }
    .ts-info-track > span { position:relative;z-index:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #4ccfff;border-radius:50%;font-size:.6rem;font-weight:700;color:#4ccfff;background:#132333; }
    .ts-info-stop-content { min-width:0;padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid #304456; }
    .ts-info-stop:last-child .ts-info-stop-content { border:0;margin-bottom:0;padding-bottom:0; }
    .ts-info-stop-head { display:flex;justify-content:space-between;gap:10px;align-items:flex-start; }
    .ts-info-stop-head h4 { font-size:.85rem;font-weight:700;line-height:1.5;margin:0;overflow-wrap:anywhere; }
    .ts-info-stop-head span { font-size:.65rem;color:#9fb5c8; }
    .ts-info-stop-head > small { flex-shrink:0;font-size:.65rem;color:#9fb5c8;padding-top:3px; }
    .ts-info-times { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px; }
    .ts-info-times small { display:block;font-size:.6rem;color:#9fb5c8;margin-bottom:3px; }
    .ts-info-times strong { display:block;font-size:.85rem;color:#eaf5ff;white-space:nowrap; }
    .ts-info-stop-meta { display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:10px;font-size:.6rem;color:#9fb5c8; }
}
@media(max-width:767.98px) {
    .ts-info-page .ts-info-stop-head h4 { color:#eaf5ff; }
}
@media(max-width:991.98px) {
    .ts-station-timetable-page { margin-block:24px!important; }
    .ts-station-timetable-page .search-screenshot-card { padding:20px; }
    .ts-station-timetable-page #ttSearchBtn { height:48px!important;border-radius:10px; }
    .ts-station-timetable-page #ttStnInput,.ts-station-timetable-page #ttDateSelect { font-size:16px;height:50px!important; }
    .ts-station-timetable-page #ttResultContainer { margin-top:24px!important; }
    .ts-station-timetable-page #ttResultContainer > .service-module-card { padding:20px!important;border:0!important;border-radius:0;background:#132333;box-shadow:none!important; }
    .ts-station-timetable-page #ttResultContainer h3.text-dark { color:#eaf5ff!important;font-size:1rem;line-height:1.5; }
    .ts-station-timetable-page #ttResultContainer .border-bottom { border-color:#304456!important; }
    .ts-station-timetable-page #ttTotalBadge { font-size:.7rem!important;background:#19394a!important;color:#4ccfff; }
    .ts-station-timetable-page .ts-tt-summary { padding:14px!important;background:#19394a!important;border:0!important;border-radius:12px!important; }
    .ts-station-timetable-page #ttSummaryText { font-size:.8rem;line-height:1.6;color:#eaf5ff!important; }
    .ts-station-timetable-page #ttLastUpdated { color:#9fb5c8!important;font-size:.65rem;line-height:1.7; }
    .ts-station-timetable-page #ttMobileCardsContainer { gap:0!important; }
    .ts-tt-train { padding:20px 0;border-bottom:1px solid #304456; }
    .ts-tt-train:first-child { padding-top:0; }
    .ts-tt-train:last-child { padding-bottom:0;border:0; }
    .ts-tt-train-head { display:flex;justify-content:space-between;gap:12px;align-items:center; }
    .ts-tt-number { font-size:.75rem;font-weight:800;letter-spacing:.08em;color:#4ccfff; }
    .ts-tt-position { font-size:.65rem;color:#9fb5c8; }
    .ts-tt-train h4 { color:#eaf5ff;font-size:1rem;line-height:1.5;font-weight:700;margin:8px 0 12px;overflow-wrap:anywhere; }
    .ts-tt-route { display:grid;grid-template-columns:14px minmax(0,1fr);gap:4px 8px;color:#afc4d5;font-size:.7rem;line-height:1.7; }
    .ts-tt-route > span { grid-column:2;overflow-wrap:anywhere; }
    .ts-tt-route > i { grid-column:1;grid-row:1 / 3;align-self:center;color:#4ccfff; }
    .ts-tt-times { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.7fr);gap:8px;margin:16px 0 12px; }
    .ts-tt-times small { color:#9fb5c8;display:block;font-size:.6rem;margin-bottom:5px; }
    .ts-tt-times strong { color:#eaf5ff!important;font-size:1rem;white-space:nowrap; }
    .ts-tt-times .badge { color:#9fb5c8!important;background:#19394a!important;border-color:#304456!important;font-size:.65rem; }
    .ts-tt-runs { font-size:.65rem;color:#9fb5c8;line-height:1.7; }
    .ts-tt-runs i { color:#4ccfff;margin-right:5px; }
    .ts-tt-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px; }
    .ts-tt-actions .btn { display:flex;align-items:center;justify-content:center;gap:6px;border-radius:9px;min-height:42px;padding:10px 7px;font-size:.7rem;font-weight:650; }
    .ts-tt-actions .btn-primary { background:#4ccfff;border-color:#4ccfff;color:#082330; }
    .ts-tt-actions .btn-outline-primary { color:#4ccfff;border-color:#416274; }
}
.ts-tt-train[hidden] { display:none!important; }
.ts-tt-filter input { min-height:46px;font-size:16px; }
@media(max-width:991.98px) {
    .ts-station-timetable-page .ts-tt-filter label,.ts-station-timetable-page #ttFilterCount { color:#9fb5c8;font-size:.7rem; }
    .ts-station-timetable-page .ts-tt-filter input { background:#19394a;color:#eaf5ff;border-color:#416274;border-radius:9px; }
    .ts-station-timetable-page .ts-tt-filter input::placeholder { color:#9fb5c8; }
}
/* History: consistent navy/cyan mobile summary and a continuous station log. */
#histCoachDetails > summary { color:#31566e;font-size:.875rem;font-weight:650; }
@media(min-width:992px) { #histCoachDetails > summary { display:none; } }
@media(max-width:991.98px) {
    .ts-history-page { margin-block:24px!important; }
    .ts-history-page .search-screenshot-card { padding:20px; }
    .ts-history-page #histSearchBtn { height:48px!important;border-radius:10px; }
    .ts-history-page #histTrainInput { height:50px;min-width:0; }
    .ts-history-page #histResultContainer { margin-top:24px!important;background:#132333;color:#eaf5ff; }
    .ts-history-page #histResultContainer > .service-module-card { padding:20px!important;background:transparent;border:0!important;border-radius:0;box-shadow:none!important; }
    .ts-history-page #histResultContainer .text-dark { color:#eaf5ff!important; }
    .ts-history-page #histResultContainer .text-muted { color:#9fb5c8!important; }
    .ts-history-page #histResultContainer .text-primary { color:#4ccfff!important; }
    .ts-history-page #histResultContainer .text-success { color:#6ee2b3!important; }
    .ts-history-page #histResultContainer .text-danger { color:#ffbe75!important; }
    .ts-history-page #histResultContainer .border-bottom { border-color:#304456!important; }
    .ts-history-page #histResultContainer h3.h5 { font-size:1rem;line-height:1.6; }
    .ts-history-page #histDateBadge { background:#19394a!important;color:#9fb5c8!important;border-color:#304456!important;font-size:.65rem; }
    .ts-history-page #histStatusBadge { font-size:.65rem; }
    .ts-history-page .ts-hist-endpoints { background:#19394a!important;border:0!important;border-radius:14px!important;text-align:left!important;align-items:stretch!important;gap:16px!important;padding:18px!important; }
    .ts-history-page .ts-hist-endpoints > div { text-align:left!important; }
    .ts-history-page .ts-hist-endpoints > div:last-child { border-top:1px solid #416274;padding-top:14px; }
    .ts-history-page .ts-hist-endpoints h3 { font-size:1rem!important;line-height:1.6;overflow-wrap:anywhere; }
    .ts-history-page .ts-hist-endpoints .text-uppercase { font-size:.6rem;letter-spacing:.06em; }
    .ts-history-page .ts-hist-endpoints > div:nth-child(2) { display:none!important; }
    .ts-history-page .ts-hist-metrics { --bs-gutter-x:12px;--bs-gutter-y:12px; }
    .ts-history-page .ts-hist-metrics > div > div { background:transparent!important;border:0!important;border-bottom:1px solid #304456!important;border-radius:0!important;padding:12px 0!important;text-align:left;min-height:80px; }
    .ts-history-page .ts-hist-metrics .text-uppercase { font-size:.6rem;line-height:1.7; }
    .ts-history-page .ts-hist-metrics strong { font-size:1rem!important;line-height:1.6; }
    .ts-history-page #histResultContainer > .service-module-card:first-child { padding-bottom:4px!important; }
    .ts-history-page .ts-hist-metrics { margin-bottom:0!important; }
    .ts-history-page #histResultContainer > #histCoachContainer { padding-block:0!important;margin-block:0!important; }
    .ts-history-page #histResultContainer > #histCoachContainer + .service-module-card { padding-top:16px!important; }
    .ts-history-page #histCoachDetails { border-bottom:1px solid #304456; }
    .ts-history-page #histCoachDetails > summary { padding:8px 0 16px;color:#eaf5ff; }
    .ts-history-page #histCoachDetails > .d-flex { margin-top:16px;padding-bottom:25px!important; }
    .ts-history-page #histCoachDetails[open] { padding-bottom:20px; }
    .ts-history-page #histLastUpdateText { font-size:.65rem;line-height:1.7; }
    .ts-history-page #histMobileCardsContainer { gap:0!important; }
    .ts-hist-stop { display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px; }
    .ts-hist-track { position:relative;display:flex;justify-content:center; }
    .ts-hist-track:after { content:'';position:absolute;top:24px;bottom:0;width:2px;background:#304456; }
    .ts-hist-stop:last-child .ts-hist-track:after { display:none; }
    .ts-hist-track > span { position:relative;z-index:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #4ccfff;border-radius:50%;background:#132333;color:#4ccfff;font-size:.6rem;font-weight:700; }
    .ts-hist-stop-body { border-bottom:1px solid #304456;padding-bottom:20px;margin-bottom:20px;min-width:0; }
    .ts-hist-stop:last-child .ts-hist-stop-body { border:0;margin:0;padding:0; }
    .ts-hist-stop-head { display:flex;justify-content:space-between;gap:10px;align-items:flex-start; }
    .ts-hist-stop-head h4 { color:#eaf5ff;font-size:.85rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere;margin:0 0 4px; }
    .ts-hist-stop-head small { color:#9fb5c8;font-size:.65rem; }
    .ts-hist-stop-head .badge { background:transparent!important;color:#9fb5c8!important;border-color:#416274!important;font-size:.6rem; }
    .ts-hist-times { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:14px 0 12px; }
    .ts-hist-times small { color:#9fb5c8;font-size:.58rem;display:block;margin-bottom:5px;line-height:1.7; }
    .ts-hist-times .fw-bold,.ts-hist-times strong { font-size:.75rem!important;white-space:nowrap; }
    .ts-hist-times .text-muted { font-size:.65rem!important;white-space:nowrap; }
    .ts-hist-delay .badge { font-size:.65rem;font-weight:600;padding:5px 8px; }
}
.ts-search-date-caption { color:#607b8f;font-size:.8rem;margin-top:-12px;margin-bottom:20px; }
@media(max-width:991.98px) {
    .ts-search-page { margin-block:24px!important; }
    .ts-search-page .search-screenshot-card { padding:20px; }
    .ts-search-page #searchTrainsForm > .row { display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:14px 10px;margin:0; }
    .ts-search-page #searchTrainsForm > .row > div { width:100%;padding:0;margin:0;min-width:0;grid-column:1 / -1; }
    .ts-search-page #searchTrainsForm > .row > div:first-child { grid-column:1;grid-row:1; }
    .ts-search-page #searchTrainsForm > .row > div:nth-child(2) { grid-column:2;grid-row:1;align-self:end;padding-bottom:3px; }
    .ts-search-page #swapStnBtn { width:42px;height:44px;border-radius:10px;background:#edf8fd;border:1px solid #cddde9;color:#007eae;margin:0; }
    .ts-search-page #swapStnBtn i { display:block;transform:rotate(90deg); }
    .ts-search-page .screenshot-input { min-width:0;height:50px;font-size:16px; }
    .ts-search-page #searchTrainsBtn { height:48px;min-height:48px;border-radius:10px; }
    .ts-search-page #searchResultContainer { margin-top:24px!important;background:#132333;color:#eaf5ff;padding:20px; }
    .ts-search-page #searchResultTitle { color:#eaf5ff!important;font-size:1.15rem;line-height:1.5; }
    .ts-search-page #searchResultCount { background:#19394a!important;color:#4ccfff;font-size:.7rem!important;border:1px solid #304456; }
    .ts-search-page .ts-search-date-caption { color:#9fb5c8;font-size:.7rem; }
    .ts-search-page #searchTrainsMobileCards { gap:0!important; }
    .ts-search-page .ts-train-mob-card { background:transparent;border:0;border-bottom:1px solid #304456;border-radius:0;padding:20px 0;margin:0;box-shadow:none; }
    .ts-search-page .ts-train-mob-card:first-child { padding-top:0; }
    .ts-search-page .ts-train-mob-card:last-child { border:0;padding-bottom:0; }
    .ts-search-page .ts-train-mob-top { display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:18px;padding:0;border:0; }
    .ts-search-page .ts-train-mob-badge { background:transparent;color:#4ccfff;padding:0;border:0;font-size:.75rem;font-weight:800;letter-spacing:.07em; }
    .ts-search-page .ts-train-mob-title { color:#eaf5ff;font-size:1rem;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;max-width:100%;margin:0;overflow-wrap:anywhere; }
    .ts-search-page .ts-train-mob-timing-box { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:10px;padding:0;margin:0 0 18px;background:transparent;border:0; }
    .ts-search-page .ts-train-mob-stn { min-width:0;display:flex;flex-direction:column;gap:4px; }
    .ts-search-page .ts-train-mob-stn.right { text-align:right;align-items:flex-end; }
    .ts-search-page .ts-train-mob-time { color:#eaf5ff;font-size:1.2rem;line-height:1.3;font-weight:750;white-space:nowrap; }
    .ts-search-page .ts-train-mob-code { color:#4ccfff;font-size:.7rem; }
    .ts-search-page .ts-search-station-name { color:#9fb5c8;font-size:.6rem;line-height:1.6;overflow-wrap:anywhere; }
    .ts-search-page .ts-train-mob-mid { min-width:0;text-align:center;padding:0; }
    .ts-search-page .ts-train-mob-dur { color:#afc4d5;font-size:.7rem;line-height:1.6; }
    .ts-search-page .ts-train-mob-arrow-line { background:#416274;margin:9px 0; }
    .ts-search-page .ts-train-mob-arrow-line:after { border-left-color:#4ccfff; }
    .ts-search-page .ts-train-mob-halts { color:#9fb5c8;font-size:.58rem;line-height:1.6;white-space:normal; }
    .ts-search-page .ts-train-mob-days { border-top:1px solid #304456;border-bottom:0;padding:12px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px; }
    .ts-search-page .ts-train-mob-days-lbl { color:#9fb5c8;font-size:.6rem; }
    .ts-search-page .ts-days-badges { display:flex;gap:4px;flex-wrap:wrap; }
    .ts-search-page .ts-day-dot { background:#19394a;color:#718d9f;border-color:#304456;width:23px;height:23px;font-size:.6rem; }
    .ts-search-page .ts-day-dot.active { background:#19394a;color:#6ee2b3;border-color:#416274; }
    .ts-search-page .ts-train-mob-days .badge { color:#9fb5c8!important;background:#19394a!important;border-color:#416274!important;white-space:normal; }
    .ts-search-page .ts-train-mob-actions { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
    .ts-search-page .ts-train-mob-actions a { display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;height:auto!important;padding:10px 7px!important;font-size:.75rem!important;line-height:1.4;border-radius:9px; }
    .ts-search-page .ts-train-mob-actions .btn-screenshot-blue { background:#4ccfff;color:#082330;border:1px solid #4ccfff;box-shadow:none; }
    .ts-search-page .ts-train-mob-actions .btn-cta-outline { background:transparent;color:#4ccfff;border:1px solid #416274; }
}
@media(max-width:991.98px) {
    .ts-avail-page { margin-block:24px!important; }
    .ts-avail-page .search-screenshot-card { padding:20px; }
    .ts-avail-page #availForm .row { --bs-gutter-x:12px;--bs-gutter-y:14px; }
    .ts-avail-page #availForm > .row:last-child { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;margin:14px 0 0!important; }
    .ts-avail-page #availForm > .row:last-child > div { min-width:0;width:100%;margin:0;padding:0; }
    .ts-avail-page #availForm > .row:last-child > div:first-child,.ts-avail-page #availForm > .row:last-child > div:last-child { grid-column:1 / -1; }
    .ts-avail-page .screenshot-input { min-width:0;font-size:16px;height:50px!important; }
    .ts-avail-page #availClassSelect,.ts-avail-page #availQuotaSelect { font-size:.8rem;padding-inline:10px; }
    .ts-avail-page #availSearchBtn { height:48px!important;border-radius:10px; }
    .ts-avail-page #availResultContainer { margin-top:24px!important;background:#132333;color:#eaf5ff; }
    .ts-avail-page #availResultContainer > .service-module-card { background:transparent;padding:20px!important;border:0!important;border-radius:0;box-shadow:none!important; }
    .ts-avail-page #availResultContainer > .service-module-card:first-child { padding-bottom:4px!important; }
    .ts-avail-page #availResultContainer .text-dark { color:#eaf5ff!important; }
    .ts-avail-page #availResultContainer .text-muted { color:#9fb5c8!important; }
    .ts-avail-page #availResultContainer .text-primary { color:#4ccfff!important; }
    .ts-avail-page #availResultContainer .text-success { color:#6ee2b3!important; }
    .ts-avail-page #availResultContainer .text-warning { color:#ffbe75!important; }
    .ts-avail-page #availResultContainer .border-bottom,.ts-avail-page #availResultContainer .border-top { border-color:#304456!important; }
    .ts-avail-page #availResultContainer h3.h5 { font-size:1rem;line-height:1.6; }
    .ts-avail-page #availClassBadge,.ts-avail-page #availQuotaBadge { background:#19394a!important;color:#9fb5c8!important;border-color:#416274!important;font-size:.65rem; }
    .ts-avail-page .ts-avail-route { background:#19394a!important;border:0!important;padding:18px!important;display:grid!important;grid-template-columns:minmax(0,1fr);text-align:left!important;gap:12px; }
    .ts-avail-page .ts-avail-route > div { min-width:0; }
    .ts-avail-page .ts-avail-route > div:nth-child(2) { display:flex;align-items:center;justify-content:space-between;border-block:1px solid #416274;padding-block:8px; }
    .ts-avail-page .ts-avail-route > div:nth-child(2) .fs-3 { font-size:1.1rem!important;transform:rotate(90deg); }
    .ts-avail-page .ts-avail-route .text-uppercase { font-size:.6rem;letter-spacing:.06em; }
    .ts-avail-page #availSrcName,.ts-avail-page #availDstName { font-size:1rem!important;line-height:1.6;overflow-wrap:anywhere; }
    .ts-avail-page #availDistance { background:transparent!important;color:#9fb5c8!important;border:0!important;margin:0!important;padding:0;font-size:.7rem; }
    .ts-avail-page #availResultContainer .btn-outline-primary { color:#4ccfff;border-color:#416274;min-height:42px;font-size:.75rem; }
    .ts-avail-page #availCardsGrid { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0; }
    .ts-avail-page #availCardsGrid > div { width:100%;margin:0;padding:0; }
    .ts-avail-page .ts-avail-day { background:#19394a!important;border:1px solid #416274!important;border-radius:12px!important;padding:16px!important;box-shadow:none!important; }
    .ts-avail-page .ts-avail-day > div > .d-flex { flex-wrap:wrap;gap:6px;align-items:flex-start!important; }
    .ts-avail-page .ts-avail-day .fs-6 { font-size:.875rem!important; }
    .ts-avail-page .ts-avail-day .ts-avail-status { margin:12px 0!important; }
    .ts-avail-page .ts-avail-status > .badge { display:inline-block;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:1rem!important;line-height:1.6;padding:6px 10px!important; }
    .ts-avail-page .ts-avail-day small { font-size:.65rem;line-height:1.7; }
    .ts-avail-page .ts-avail-day .btn-outline-secondary { border-color:#617e90;color:#eaf5ff;font-size:.7rem;min-height:38px;border-radius:8px; }
    #fareBreakdownModal .modal-dialog { margin:14px; }
    #fareBreakdownModal .modal-body { padding:20px!important; }
    #fareBreakdownModal .modal-title { font-size:1rem;line-height:1.5; }
}
/* Waiting-list statuses use a muted coral accent against the mobile navy theme. */
@media(max-width:991.98px) {
    .ts-avail-page .ts-avail-status > .badge.bg-warning { background:#442e39!important;color:#ffc0c8!important;border:1px solid #835261; }
}
@media(max-width:767.98px) {
    .ts-pnr-page { margin-block:24px!important; }
    .ts-pnr-page .search-screenshot-card { padding:20px; }
    .ts-pnr-page #pnrSearchBtn { min-width:0!important;height:48px!important; }
    .ts-pnr-page #pnrInput { font-size:16px; }
    .ts-pnr-page #pnrResultContainer { margin-top:24px!important;background:#132333;color:#eaf5ff;padding:20px; }
    .ts-pnr-page #pnrResultContainer > .service-module-card { background:transparent;padding:0!important;margin:0!important;border:0!important;border-radius:0;box-shadow:none!important; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:first-child { display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-content:start;height:auto;gap:20px; }
    .ts-pnr-page #pnrResultContainer > .service-module-card { width:100%;max-width:none;min-width:0; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:first-child > * { width:100%;min-width:0;max-width:none;box-sizing:border-box; }
    .ts-pnr-page #pnrPassengerMobileCards { width:100%;min-width:0; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:first-child > .border-bottom { margin:0!important;padding-bottom:14px!important; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:first-child > .text-center { text-align:center!important;margin:0!important; }
    .ts-pnr-page #pnrResultContainer .text-dark { color:#eaf5ff!important; }
    .ts-pnr-page #pnrResultContainer .text-muted,.ts-pnr-page #pnrResultContainer .text-secondary { color:#9fb5c8!important; }
    .ts-pnr-page #pnrResultContainer .text-primary { color:#4ccfff!important; }
    .ts-pnr-page #pnrResultContainer .text-success { color:#6ee2b3!important; }
    .ts-pnr-page #pnrResultContainer .text-warning { color:#ffc0c8!important; }
    .ts-pnr-page #pnrResultContainer .border-bottom { border-color:#304456!important; }
    .ts-pnr-page #pnrResultContainer h3.h5 { font-size:.95rem;line-height:1.5; }
    .ts-pnr-page #pnrQueryTime { background:#19394a!important;border-color:#416274!important;font-size:.65rem; }
    .ts-pnr-page #pnrDisplayNumber { font-size:1.55rem;line-height:1.3;letter-spacing:.07em;overflow-wrap:anywhere;margin:4px 0 0!important; }
    .ts-pnr-page #pnrDisplayNumber + * { margin:0; }
    .ts-pnr-page .ts-pnr-journey { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px;margin:0!important; }
    .ts-pnr-page .ts-pnr-journey > div { width:100%;padding:0;margin:0;display:flex;min-width:0; }
    .ts-pnr-page .ts-pnr-journey > div > div { width:100%;background:transparent!important;border:0!important;border-bottom:1px solid #304456!important;padding:12px 0!important;border-radius:0!important;text-align:left; }
    .ts-pnr-page .ts-pnr-journey .text-uppercase { font-size:.6rem;line-height:1.6;margin-bottom:4px; }
    .ts-pnr-page .ts-pnr-journey strong { display:block;font-size:.82rem!important;line-height:1.6;overflow-wrap:anywhere; }
    .ts-pnr-page #pnrTrainName { white-space:normal;overflow:visible;text-overflow:clip; }
    .ts-pnr-page .ts-pnr-route { display:grid!important;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:10px;background:#19394a!important;border:1px solid #304456!important;padding:16px!important;border-radius:12px!important;margin:0!important; }
    .ts-pnr-page .ts-pnr-route .text-uppercase { font-size:.6rem; }
    .ts-pnr-page .ts-pnr-route h3 { font-size:1.15rem!important;line-height:1.5;margin:4px 0!important;overflow-wrap:anywhere; }
    .ts-pnr-page .ts-pnr-route .small { font-size:.65rem;line-height:1.7;font-weight:400!important;overflow-wrap:anywhere; }
    .ts-pnr-page .ts-pnr-route > .fs-2 { font-size:1.1rem!important;color:#4ccfff!important; }
    .ts-pnr-page .ts-pnr-route > div:first-child { text-align:left; }
    .ts-pnr-page .ts-pnr-route > div:last-child { text-align:right; }
    .ts-pnr-page .ts-pnr-route > .fs-2 { text-align:center;justify-self:center;align-self:center; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:nth-child(2) { margin-top:24px!important; }
    .ts-pnr-page #pnrResultContainer > .service-module-card:nth-child(2) > h3 { margin-bottom:12px!important; }
    .ts-pnr-page #pnrPassengerMobileCards { gap:10px!important; }
    .ts-pnr-page #pnrPassengerMobileCards > div { display:block!important;background:#19394a!important;border-color:#304456!important;border-radius:10px!important;padding:14px!important; }
    .ts-pnr-page #pnrPassengerMobileCards strong { font-size:.85rem; }
    .ts-pnr-page #pnrPassengerMobileCards small { display:block;line-height:1.7;font-size:.7rem;margin-top:4px; }
    .ts-pnr-page #pnrPassengerMobileCards .badge { display:inline-block;margin-top:10px;font-size:.8rem;line-height:1.6;white-space:normal;text-align:left;padding:6px 9px;max-width:100%;overflow-wrap:anywhere; }
    .ts-pnr-page #pnrPassengerMobileCards .badge.bg-warning { background:#442e39!important;color:#ffc0c8!important;border:1px solid #835261; }
    .ts-pnr-page #pnrResultContainer > .row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px;margin:24px 0 0;padding:0;border-top:1px solid #304456; }
    .ts-pnr-page #pnrResultContainer > .row > div { width:100%;padding:0;margin:0;min-width:0; }
    .ts-pnr-page #pnrResultContainer > .row > div > div { background:transparent!important;border:0!important;border-bottom:1px solid #304456!important;border-radius:0!important;box-shadow:none!important;text-align:left!important;padding:12px 0!important;height:100%; }
    .ts-pnr-page #pnrResultContainer > .row .text-uppercase { font-size:.6rem; }
    .ts-pnr-page #pnrResultContainer > .row strong { font-size:.85rem!important;line-height:1.7; }
}

/* Station board: readable arrivals and departures on small screens. */
@media (max-width:991.98px) {
    .ts-board-page {margin-top:24px!important;}
    .ts-board-page .search-screenshot-card {padding:20px;margin-top:0!important;}
    .ts-board-page #boardForm .row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0;gap:14px;}
    .ts-board-page #boardForm .row > div {width:auto;padding:0;margin:0;min-width:0;}
    .ts-board-page #boardForm .row > div:first-child {grid-column:1/-1;}
    .ts-board-page .form-field-label {font-size:.7rem;margin-bottom:7px;}
    .ts-board-page .screenshot-input,.ts-board-page #boardSearchBtn {height:50px!important;font-size:.85rem;width:100%;}
    .ts-board-page #boardResultContainer {margin-top:24px!important;}
    .ts-board-page #boardResultContainer > .service-module-card {display:block;height:auto;padding:20px!important;background:#132333;border-color:#304456;color:#eaf5ff;box-shadow:none!important;}
    .ts-board-page #boardHeaderTitle {color:#eaf5ff;font-size:1rem;line-height:1.5;overflow-wrap:anywhere;}
    .ts-board-page #boardResultContainer .border-bottom {border-color:#304456!important;}
    .ts-board-page #boardTotalBadge {font-size:.7rem!important;padding:8px 10px!important;}
    .ts-board-page .live-telemetry-badge {font-size:.6rem;}
    .ts-board-page #boardResultContainer .bg-light {background:#19394a!important;border-color:#304456!important;}
    .ts-board-page #boardSummaryText {color:#d3e6f1!important;font-size:.8rem;line-height:1.7;}
    .ts-board-page #boardLastUpdated {color:#9fb5c8!important;font-size:.65rem;}
    .ts-board-train {padding:20px 0;border-bottom:1px solid #304456;min-width:0;}
    .ts-board-train:first-child {padding-top:0;}
    .ts-board-train:last-child {border-bottom:0;padding-bottom:0;}
    .ts-board-train-head {display:flex;align-items:center;justify-content:space-between;gap:10px;}
    .ts-board-number {font-size:.8rem;font-weight:750;letter-spacing:.06em;color:#4ccfff;}
    .ts-board-train .badge {font-size:.65rem;white-space:normal;line-height:1.5;}
    .ts-board-train .bg-success {background:#164b3e!important;color:#8debc3;}
    .ts-board-train .bg-danger {background:#442e39!important;color:#ffc0c8;}
    .ts-board-train h4 {font-size:1rem;line-height:1.5;margin:8px 0;color:#eaf5ff;overflow-wrap:anywhere;}
    .ts-board-route {font-size:.7rem;line-height:1.8;color:#9fb5c8!important;margin-bottom:16px;overflow-wrap:anywhere;}
    .ts-board-route i {color:#4ccfff;margin:0 5px;}
    .ts-board-times {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.75fr);gap:12px;}
    .ts-board-times > div {min-width:0;overflow-wrap:anywhere;}
    .ts-board-times small {display:block;font-size:.6rem;color:#9fb5c8;margin-bottom:6px;}
    .ts-board-times .text-dark {color:#eaf5ff!important;}
    .ts-board-times .text-muted {color:#9fb5c8!important;}
    .ts-board-times .text-danger {color:#ffc0c8!important;}
    .ts-board-page .ts-board-times .bg-light {color:#eaf5ff!important;}
    .ts-board-track {display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:16px;width:100%;font-size:.75rem;color:#4ccfff;background:#19394a;border:1px solid #30576a;border-radius:8px;}
    .ts-board-track:hover,.ts-board-track:focus {color:#fff;background:#215268;}
}

/* Fare lookup: compact form and clear mobile fare receipt. */
@media (max-width:991.98px) {
    .ts-fare-page {margin-top:24px!important;}
    .ts-fare-page .search-screenshot-card {margin-top:0!important;padding:20px;}
    .ts-fare-page #fareForm > .row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin:0;}
    .ts-fare-page #fareForm > .row + .row {margin-top:14px!important;}
    .ts-fare-page #fareForm > .row > div {width:auto;min-width:0;padding:0;margin:0;}
    .ts-fare-page #fareForm > .row:first-child > div {grid-column:1/-1;}
    .ts-fare-page #fareForm > .row:nth-child(2) > div:first-child,.ts-fare-page #fareForm > .row:nth-child(2) > div:last-child {grid-column:1/-1;}
    .ts-fare-page .form-field-label {font-size:.7rem;margin-bottom:7px;}
    .ts-fare-page .screenshot-input,.ts-fare-page #fareSearchBtn {height:50px!important;font-size:.85rem;width:100%;}
    .ts-fare-page #fareResultContainer {margin-top:24px!important;}
    .ts-fare-page #fareResultContainer > .card {background:#132333!important;border-radius:12px!important;color:#eaf5ff;box-shadow:none!important;overflow:hidden;}
    .ts-fare-page #fareResultContainer .card-body {padding:20px!important;min-width:0;}
    .ts-fare-page #fareResultContainer .text-dark {color:#eaf5ff!important;}
    .ts-fare-page #fareResultContainer .text-muted {color:#9fb5c8!important;}
    .ts-fare-page #fareResultContainer .text-primary {color:#4ccfff!important;}
    .ts-fare-page #fareResultContainer .text-success {color:#6ee2b3!important;}
    .ts-fare-page #fareResultContainer .border,.ts-fare-page #fareResultContainer .border-bottom {border-color:#304456!important;}
    .ts-fare-page #fareResultContainer h3 {font-size:1.05rem;line-height:1.5;}
    .ts-fare-page .terminal-category-tag {font-size:.6rem;color:#4ccfff;background:#19394a;}
    .ts-fare-page #fareResultContainer .ts-fare-summary {background:#19394a!important;padding:16px!important;}
    .ts-fare-page .ts-fare-summary > .d-flex {display:grid!important;grid-template-columns:minmax(0,1fr);gap:12px;}
    .ts-fare-page .ts-fare-summary .text-end {text-align:left!important;display:flex;flex-wrap:wrap;align-items:center;gap:10px;}
    .ts-fare-page #fareHeaderTrain {font-size:.95rem!important;line-height:1.5;overflow-wrap:anywhere;}
    .ts-fare-page #fareHeaderRoute {display:block;margin-top:6px;line-height:1.7;font-size:.75rem;overflow-wrap:anywhere;}
    .ts-fare-page #fareHeaderClass {font-size:.65rem;padding:8px 10px;background:#245069!important;white-space:normal;line-height:1.5;}
    .ts-fare-page #fareHeaderDistance {font-size:.7rem;margin:0!important;}
    .ts-fare-page #fareResultContainer .card-body > .py-2 {padding:12px 0!important;gap:16px;font-size:.8rem;line-height:1.6;align-items:baseline;}
    .ts-fare-page #fareResultContainer .card-body > .py-2 > strong {white-space:nowrap;}
    .ts-fare-page #fareResultContainer .ts-fare-total {padding:18px!important;gap:16px;background:#19394a!important;border:1px solid #30576a;border-radius:10px!important;flex-wrap:wrap;}
    .ts-fare-page .ts-fare-total small {font-size:.55rem!important;color:#9fb5c8!important;letter-spacing:.05em;}
    .ts-fare-page .ts-fare-total h4 {font-size:.9rem;margin-top:4px!important;}
    .ts-fare-page .ts-fare-total .display-6 {font-size:1.8rem;color:#4ccfff!important;white-space:nowrap;}
}

@media (max-width:767.98px) {
    .ts-ribbon-search .ts-date-trigger {background:#132333;color:#eaf5ff;border-color:#304456;}
    .ts-ribbon-search .ts-date-trigger i {color:#4ccfff;}
    .ts-ribbon-search input::placeholder {color:#9fb5c8;opacity:1;}
    .ts-ribbon-search input:focus,.ts-ribbon-search .ts-date-trigger:focus-visible {border-color:#4ccfff;box-shadow:0 0 0 3px #4ccfff26;}
}

/* Shared mobile form palette, independent of whether a result has loaded. */
@media (max-width:767.98px) {
    main .search-screenshot-card,main .ts-cancel-toolbar {
        background:#19394a!important;color:#eaf5ff;border:1px solid #304456!important;box-shadow:none!important;
        --ts-surface-2:#245069;--ts-primary:#4ccfff;
    }
    main .search-screenshot-card .form-field-label,main form label,main .ts-cancel-toolbar label {color:#9fb5c8!important;}
    main .screenshot-input,main form .form-control,main form .form-select,main .ts-cancel-toolbar .form-control,main .ts-cancel-toolbar .form-select,main .ts-date-trigger {
        background-color:#132333!important;color:#eaf5ff!important;border-color:#304456!important;color-scheme:dark;
    }
    main .screenshot-input::placeholder,main form .form-control::placeholder,main .ts-cancel-toolbar input::placeholder {color:#9fb5c8!important;opacity:1;}
    main .screenshot-input:focus,main form .form-control:focus,main form .form-select:focus,main .ts-cancel-toolbar :is(input,select):focus {
        border-color:#4ccfff!important;box-shadow:0 0 0 3px #4ccfff26!important;
    }
    main .ts-date-trigger i {color:#4ccfff;}
    main .ts-date-trigger:focus-visible {outline:2px solid #4ccfff;outline-offset:2px;}
    main .search-screenshot-card .screenshot-tab-btn {background:#132333;color:#9fb5c8;border-color:#304456;}
    main .search-screenshot-card .screenshot-tab-btn.active {background:#4ccfff;color:#082330;border-color:#4ccfff;}
    main .search-screenshot-card .screenshot-tabs-row {border-color:#304456;}
    main .search-screenshot-card .btn-swap {background:#132333;color:#4ccfff;border-color:#304456;}
    main .ts-autocomplete-results {background:#132333!important;color:#eaf5ff!important;border-color:#30576a!important;}
    main .ts-autocomplete-item,main .ts-autocomplete-item.text-muted {color:#d3e6f1!important;border-color:#304456!important;}
    main .ts-autocomplete-item:hover,main .ts-autocomplete-item.active {background:#245069!important;}
    main .ts-cancel-date-help,main .ts-cancel-toolbar .ts-cancel-date-help {color:#afc4d5;}
    main .ts-cancel-toolbar .btn-link {color:#4ccfff;}

}

@media (max-width:767.98px) {
    main .ts-autocomplete-results {--ts-text:#fff;--ts-surface-2:#245069;--ts-primary:#fff;}
    main .ts-autocomplete-item,main .ts-autocomplete-item span {color:#fff!important;}
    main .ts-autocomplete-code {background:#245069!important;flex-shrink:0;margin-left:10px;}
    main .ts-autocomplete-item:hover,main .ts-autocomplete-item.active,main .ts-autocomplete-item.ts-selected {background:#245069!important;color:#fff!important;}
    main .screenshot-input {caret-color:#fff;}
}

/* Keep helper copy and secondary actions readable within mobile dark forms. */
@media (max-width:767.98px) {
    main .search-screenshot-card {--ts-text:#eaf5ff;--ts-text-muted:#afc4d5;}
    main .search-screenshot-card :is(.popular-label,.text-dark,h2,h3,h4,p) {color:#eaf5ff!important;}
    main .search-screenshot-card :is(.text-muted,.text-secondary,.form-text,small) {color:#afc4d5!important;}
    main .search-screenshot-card .popular-routes-bar {border-color:#426173;}
    main .search-screenshot-card .route-chip-btn {background:#132333;color:#eaf5ff;border-color:#426173;}
    main .search-screenshot-card .route-chip-btn:hover,main .search-screenshot-card .route-chip-btn:focus-visible {background:#245069;color:#fff;border-color:#4ccfff;}
    main .search-screenshot-card .station-swap-btn {background:#132333;color:#4ccfff;border-color:#426173;}
    main .search-screenshot-card .screenshot-tab-btn {background:#132333!important;color:#afc4d5!important;border-color:#426173!important;}
    main .search-screenshot-card .screenshot-tab-btn.active {background:#4ccfff!important;color:#082330!important;border-color:#4ccfff!important;}
}

/* Consistent inset arrow and text clearance for public dropdowns. */
main select:not([multiple]):not([size]) {
    -webkit-appearance:none;appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23516b80' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;padding-right:42px!important;
}
@media (max-width:767.98px) {
    main select:not([multiple]):not([size]) {
        background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23eaf5ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    }
}

/* Home service tabs share equal columns and stretch to the tallest label. */
main .search-screenshot-card .screenshot-tabs-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;}
main .search-screenshot-card .screenshot-tabs-row > .screenshot-tab-btn {width:100%;height:100%;min-width:0;justify-content:center;text-align:center;}
@media (max-width:767.98px) {
    main .search-screenshot-card .screenshot-tabs-row > .screenshot-tab-btn {min-height:76px;flex-direction:column;gap:6px;padding:10px 5px;line-height:1.3;}
}
