.metro-panel{position:fixed;left:81px;top:111px;width:320px;padding:18px;max-height:calc(100dvh - 130px - var(--operations-clearance));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:4}
.metro-panel .panel-heading{margin-bottom:10px}.metro-panel .panel-heading #metro-refresh{margin-left:auto}.metro-panel .panel-heading #close-metro{margin-left:0}
.metro-quality{font-size:10px;color:#a8dfdf;line-height:1.6;margin:8px 0 3px}.metro-updated,.metro-footnote{font-size:9px;color:var(--muted);line-height:1.7}.metro-updated{display:block}
.metro-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.metro-options button{padding:7px 10px;background:#b9d9f612;border:1px solid var(--border);border-radius:6px;font-size:10px}.metro-options label{display:inline-flex;align-items:center;gap:8px;font-size:10px}.metro-options input{accent-color:#9cddda;width:15px;height:15px}
.metro-filters{margin-bottom:12px}.metro-stations{border-top:1px solid var(--border)}.metro-station-row,.metro-train-row{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:12px;padding:11px 5px;border-bottom:1px solid var(--border);border-radius:0}.metro-station-row>b{font:10px var(--mono);color:#9cddda;min-width:33px}.metro-station-row>span,.metro-train-row>span{font-size:11px;flex:1}.metro-station-row small,.metro-train-row small{display:block;color:var(--muted);font-size:8px;margin-top:4px}.metro-station-row>.cta-icon,.metro-train-row>.cta-icon{width:13px;height:13px;color:var(--muted);flex:none}.metro-station-row:hover,.metro-train-row:hover{background:#b9d9f60b}
.metro-list-heading{display:flex;align-items:center;justify-content:space-between;margin:17px 0 5px;font-size:11px}.metro-list-heading small{font-size:8px;color:var(--muted)}.metro-kind{display:inline-flex;align-items:center;justify-content:center;font-size:9px;white-space:nowrap;font-style:normal;border-radius:4px;padding:4px 6px}.metro-kind.commuter{color:#9fdcf4;background:#008cba25}.metro-kind.express{color:#e2b5ed;background:#b14dc42b}.metro-empty{font-size:10px;color:var(--muted);padding:10px 0;line-height:1.7}.metro-model-link{font-size:10px;color:var(--accent);padding-top:6px}
.metro-direction{font-size:11px;font-weight:500;padding-top:12px;border-top:1px solid var(--border);margin:14px 0 5px}.metro-arrival{display:flex;flex-direction:row;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.metro-arrival>span:nth-child(2){flex:1;font-size:11px}.metro-arrival small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.metro-arrival>strong{font-size:11px;white-space:nowrap}.metro-destination{font-size:16px;color:#a8dfdf;margin:12px 0}.detail .metro-footnote{font-size:9px}.detail-actions>a{font-size:10px}
.map-label.metro-station{font-size:9px;background:#143e47e8;border:1px solid #9be7df70;color:#d6f8f2;gap:5px;z-index:2}.map-label.metro-station b{font-size:9px;color:#9ce1db}.map-label.metro-train{font-size:8px;border:1px solid #b9e2ee88;background:#15475be8;color:#dcf5ff;z-index:3;white-space:nowrap}.map-label.metro-train.express{border-color:#d79fe4aa;background:#562862e8;color:#fae1ff}.map-label.metro-station.selected,.map-label.metro-train.selected{background:#c0efec;color:#153d45}
.scene-tools{max-height:calc(100dvh - 130px - var(--operations-clearance));overflow-y:auto;scrollbar-width:none}.scene-tools>button{flex-shrink:0}.scene-tools>.tool-divider{flex-shrink:0}
.metro-platform-plan{margin:14px 0;padding:11px;border:1px solid var(--border);border-radius:8px;background:#0b182333}.metro-platform-plan h3{font-size:11px;margin:0 0 12px}.metro-plan-platform{text-align:center;padding:8px 3px;border:1px solid #a9c5cc70;background:#a9c5cc15;font-size:9px;line-height:1.5}.metro-plan-platform.commuter{border-color:#45bde870;color:#a9e7fa}.metro-plan-platform.express{border-color:#c27ad970;color:#ebc6f5}.metro-plan-track{display:flex;align-items:center;gap:6px;margin:8px 0;padding:5px 0;border-bottom:2px solid #a9c5cc35;font-size:9px}.metro-plan-track>b{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#7ba2b233;flex:none}.metro-plan-track>b.commuter{background:#008cba55;color:#aceaff}.metro-plan-track>b.express{background:#b14dc455;color:#edc7f8}.metro-plan-track small{margin-left:auto;font-size:8px;color:var(--muted);text-align:right}.metro-platform-plan p{font-size:8px;color:var(--muted);margin:10px 0 0;line-height:1.6}
@media(max-width:720px){.metro-panel{left:65px;right:14px;width:auto;top:123px;padding:14px;max-height:calc(100dvh - 140px - var(--operations-clearance))}.metro-options{gap:6px}.metro-options button{font-size:9px;padding:7px}.metro-station-row,.metro-train-row{gap:8px}.metro-arrival{gap:6px}.metro-arrival>span:nth-child(2){font-size:10px}.scene-tools{max-height:calc(100dvh - 145px - var(--operations-clearance))}}

.scene-tools .apm-tool{font:600 9px var(--mono);letter-spacing:-.3px}#apm-panel .panel-heading #close-apm{margin-left:auto}
