.time-mode{display:flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin:0 0 12px;padding:4px;border:1px solid #c9d6df;border-radius:12px;background:#edf2f5}
.time-mode legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.time-mode label{cursor:pointer}
.time-mode input{position:absolute;opacity:0;pointer-events:none}
.time-mode span{display:block;padding:9px 16px;border-radius:9px;color:#526473;font-weight:800}
.time-mode input:checked+span{background:#125d98;color:#fff;box-shadow:0 2px 7px #102f4928}
.time-mode input:focus-visible+span{outline:3px solid #9bc7e5}
.date-time-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px}
.date-time-row button{height:48px;border:0;border-radius:10px;background:#e9f3fb;color:#125d98;padding:0 18px;font-weight:800;cursor:pointer}
.route-toggle{width:100%;margin-top:13px;padding:11px;border:0;border-radius:9px;background:#e9f3fb;color:#125d98;font-weight:800;cursor:pointer}
.train-position{margin:-1px 0 11px;padding:8px 10px;border-radius:8px;background:#edf2f5;color:#435463;font-size:13px;font-weight:800;text-align:center}
.train-position.moving,.train-position.station{background:#e7f6ec;color:#116530;border-left:4px solid #1c9b50}
.train-position.waiting{background:#fff2dd;color:#7a4815}
.train-position.finished{background:#edf0f2;color:#53616b}
.train-position.loading{color:#617080;font-weight:650}
.train-position.unknown{background:#fff0f0;color:#8c3030}
.route-toggle:disabled{opacity:.65}
.route-details{margin-top:12px;border-top:1px solid #e1e8ed;padding-top:12px}
.position-banner{padding:11px 12px;border-radius:10px;background:#eef3f6;color:#334b5c}
.position-banner.moving,.position-banner.station{background:#e7f6ec;color:#116530;border-left:4px solid #1c9b50}
.position-banner.waiting{background:#fff2dd;color:#7a4815}
.position-banner.finished{background:#edf0f2;color:#53616b}
.position-banner strong,.position-banner small{display:block}
.position-banner small{margin-top:3px;font-size:11px;opacity:.8}
.position-progress{height:5px;margin-top:8px;border-radius:5px;background:#c9dfd0;overflow:hidden}
.position-progress span{display:block;height:100%;background:#1c9b50;border-radius:inherit}
.route-list{list-style:none;margin:13px 0 2px;padding:0}
.route-stop{position:relative;display:grid;grid-template-columns:18px 1fr;gap:8px;padding:0 0 15px;color:#40515e}
.route-stop:not(:last-child)::before{content:"";position:absolute;left:6px;top:13px;bottom:0;width:2px;background:#cbd6dc}
.route-dot{position:relative;z-index:1;width:10px;height:10px;margin-top:4px;border:2px solid #9cabb5;border-radius:50%;background:#fff}
.route-stop.passed{opacity:.58}
.route-stop.current{color:#116530;font-size:16px}
.route-stop.current .route-dot{border-color:#1c9b50;background:#1c9b50;box-shadow:0 0 0 5px #ccebd7}
.route-stop.current:not(:last-child)::before{background:#1c9b50}
.route-stop strong,.route-stop small{display:block}
.route-stop small{margin-top:2px;color:#617080;font-size:12px}
.route-error{margin:0;padding:10px;border-radius:8px;background:#fff0f0;color:#a12626}
.section-trains-open{width:100%;margin:0 0 12px;padding:13px;border:0;border-radius:12px;background:#173f5f;color:#fff;font-size:16px;font-weight:850;cursor:pointer}
.section-trains-panel{margin-bottom:14px;padding:16px;border:1px solid #cad7df;border-radius:15px;background:#fff;box-shadow:0 5px 18px #102f4910}
.section-trains-panel h2{margin:0 0 12px;color:#102f49}
.section-trains-panel>label{display:grid;gap:6px;font-weight:750;color:#334b5c}
.section-trains-panel select{height:46px;padding:0 10px;border:1px solid #b9c9d4;border-radius:10px;background:#fff;font:inherit}
.section-trains-panel fieldset{display:flex;flex-wrap:wrap;gap:12px;margin:13px 0;padding:11px;border:1px solid #d7e0e7;border-radius:10px}
.section-trains-panel legend{padding:0 6px;color:#334b5c;font-weight:800}
.section-trains-panel fieldset label{display:flex;align-items:center;gap:6px}
.section-trains-panel input[type=checkbox]{width:20px;height:20px;accent-color:#125d98}
#buildSectionTrains{width:100%;height:48px;border:0;border-radius:10px;background:#125d98;color:#fff;font-size:16px;font-weight:850}
.section-live-results{margin-top:18px}
.section-train-card.upcoming-train{border:2px solid #e88a1a;background:#fff8ec;box-shadow:0 5px 18px #e88a1a1f}
.departure-soon{margin:-1px 0 11px;padding:9px 10px;border-radius:8px;background:#ef8b17;color:#fff;text-align:center;font-size:14px;font-weight:900}
.schedule-feature-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.escape-open{background:#8a4b08!important}.section-trains-panel .station-field{margin:10px 0}.section-trains-panel select{width:100%;padding:10px;border:1px solid #ccd8df;border-radius:9px;background:white}@media(max-width:520px){.schedule-feature-buttons{grid-template-columns:1fr}}
