/* 合作充电站沿用驾驶舱设计令牌，所有规则限定在 st- 命名空间。 */
#stationsTab[hidden],#mod-stations [hidden]{display:none!important;}
.st-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;}
.st-heading .sec-title{margin:0;}
.st-source{font-size:11px;color:var(--txt-3);text-align:right;}
.st-filters{padding:14px 20px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);}
.st-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
.st-filter-row+.st-filter-row{margin-top:12px;}
.st-label{min-width:70px;color:var(--txt-2);font-size:12px;}
.st-options{display:flex;gap:8px;flex-wrap:wrap;}
.st-choice,.st-action{min-height:34px;padding:7px 21px;border:1px solid var(--rule);border-radius:3px;color:var(--txt-2);background:transparent;font:inherit;cursor:pointer;}
.st-choice:hover,.st-action:hover{border-color:var(--accent);color:var(--accent);}
.st-choice[aria-pressed=true]{color:#fff;background:var(--night);border-color:var(--night);}
.st-search{margin-left:auto;display:flex;align-items:center;gap:9px;flex:0 1 420px;min-width:180px;border:1px solid var(--rule);border-radius:3px;padding:7px 12px;color:var(--txt-3);}
.st-search:focus-within{border-color:var(--accent);}
.st-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--txt);outline-offset:4px;}
.st-search input::placeholder{color:var(--txt-3);}
.st-place{min-height:34px;padding:5px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--panel);color:var(--txt-2);font:inherit;max-width:100%;}
.st-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--txt-2);cursor:pointer;}
.st-check input{accent-color:var(--accent);width:15px;height:15px;}
#stClear{margin-left:auto;padding:5px 2px;border:0;background:transparent;color:var(--txt-2);cursor:pointer;}
.st-workspace{display:grid;grid-template-columns:minmax(280px,33%) minmax(0,1fr);align-items:start;gap:18px;min-width:0;}
.st-list-panel{border:1px solid var(--rule);border-radius:var(--radius);background:var(--panel);overflow:hidden;}
.st-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--rule);}
.st-list-header h2{font:600 21px/1.3 var(--font-display);margin:0;}
.st-list-header output{color:var(--txt-3);font-size:11px;}
.st-list{padding:6px 10px;max-height:552px;overflow:auto;overscroll-behavior:contain;}
.st-station{display:block;position:relative;width:100%;padding:14px 14px 13px;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left;color:var(--txt);cursor:pointer;}
.st-station:last-child{border-bottom-color:transparent;}
.st-station:hover{background:var(--panel-2);}
.st-station[aria-pressed=true]{background:#e4f2ef;}
.st-station[aria-pressed=true]::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--accent);}
.st-station-name{display:block;font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere;}
.st-station-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--txt-2);font-size:11px;}
.st-tags{display:flex;gap:5px;flex-wrap:wrap;}
.st-platform-tag{display:inline-block;padding:3px 9px;border-radius:2px;background:#e4f2ef;color:#147f7d;font-size:10px;font-weight:600;line-height:1.5;}
.st-platform-tag[data-platform="中交车旺"]{background:#e9eff4;color:#446b83;}
.st-platform-tag[data-platform=""]{background:var(--panel-2);color:var(--txt-3);}
.st-station-note{display:block;margin-top:8px;font-size:10px;color:var(--txt-3);}
.st-peak{color:var(--warn);}
.st-right{min-width:0;display:flex;flex-direction:column;gap:16px;}
.st-map-shell{position:relative;min-width:0;border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;background:#e6efec;}
.st-map{height:570px;position:relative;isolation:isolate;}
.st-map-canvas{position:absolute;inset:0;}
.st-map-fallback{position:absolute;inset:0;overflow:hidden;background:#e6efec;}
.st-map-fallback svg{width:100%;height:100%;position:absolute;inset:0;pointer-events:none;}
.st-map-label{position:absolute;color:#819f94;font:23px var(--font-display);letter-spacing:.2em;pointer-events:none;}
.st-map-point{position:absolute;z-index:2;transform:translate(-50%,-50%);border:0;border-radius:50%;background:var(--accent);color:var(--txt);box-shadow:0 0 0 3px var(--panel);width:14px;height:14px;padding:0;cursor:pointer;}
.st-map-point::after{content:attr(data-place);position:absolute;left:17px;top:-5px;font:12px var(--font);white-space:nowrap;color:#52776d;}
.st-map-point[aria-pressed=true]{box-shadow:0 0 0 4px var(--panel),0 0 0 5px var(--accent);}
.st-map-caption{position:absolute;z-index:450;top:14px;left:16px;max-width:calc(100% - 32px);padding:6px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--panel);color:var(--accent);font-size:11px;pointer-events:none;}
.st-map-footer{position:absolute;z-index:450;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--rule);border-radius:3px;background:var(--panel);font-size:10px;color:var(--txt-2);pointer-events:none;}
.st-map-shell .leaflet-control-zoom{margin-top:58px;}
.st-leaflet-pin{background:transparent;border:0;}
.st-leaflet-pin span{display:block;width:14px;height:14px;margin:4px;border-radius:50%;background:var(--accent);border:2px solid var(--panel);}
.st-leaflet-pin.selected span{outline:1px solid var(--accent);outline-offset:3px;}
.st-detail{border:1px solid var(--rule);border-radius:var(--radius);padding:20px 22px;background:var(--panel);}
.st-detail-header{display:flex;justify-content:space-between;align-items:start;gap:14px;}
.st-detail h2{margin:0;font:600 22px/1.4 var(--font-display);overflow-wrap:anywhere;}
.st-detail .st-tags{margin:12px 0 16px;}
.st-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px;margin:0;}
.st-detail dt{font-size:11px;color:var(--txt-3);margin-bottom:4px;}
.st-detail dd{margin:0;color:var(--txt);overflow-wrap:anywhere;}
.st-detail .st-wide{grid-column:1/-1;}
.st-detail-foot{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:18px;border-top:1px solid var(--rule);padding-top:14px;font-size:11px;color:var(--txt-3);}
.st-detail a{color:var(--accent);}
.st-close{border:0;background:transparent;color:var(--txt-3);font-size:24px;cursor:pointer;line-height:1;min-width:32px;min-height:32px;}
.st-empty{padding:42px 16px;color:var(--txt-2);text-align:center;font-size:13px;line-height:1.8;}
.st-empty .st-action{margin-top:12px;}
.st-notice{color:var(--txt-3);font-size:11px;margin:0;}
@media(max-width:1100px){.st-search{flex-basis:320px;}.st-workspace{grid-template-columns:minmax(240px,35%) minmax(0,1fr);}.st-map{height:565px;}}
@media(max-width:760px){
 .st-heading{align-items:start;flex-direction:column;gap:5px;}.st-source{text-align:left;}
 .st-filters{padding:14px;}.st-filter-row{gap:10px;}.st-label{width:100%;min-width:0;}
 .st-search{flex:1 1 100%;margin:4px 0 0;}.st-choice{min-height:40px;padding:7px 13px;}
 .st-workspace{grid-template-columns:minmax(0,1fr);gap:16px;}.st-right{display:contents;}
 .st-map-shell{grid-row:1;}.st-list-panel{grid-row:2;}.st-detail{grid-row:3;}
 .st-map{height:310px;}.st-list{max-height:480px;}.st-list-header{padding:15px 18px;}
 .st-detail{padding:18px;}.st-detail h2{font-size:21px;}.st-detail dl{gap:14px;}
 .st-map-footer{font-size:9px;gap:4px;}.st-map-point::after{font-size:10px;left:12px;}
}

.st-map-selected{position:absolute;z-index:450;right:16px;top:14px;max-width:50%;padding:12px 16px;border:1px solid var(--rule);border-radius:3px;background:var(--panel);font-size:12px;overflow-wrap:anywhere;}
.st-map-selected .st-tags{margin-top:8px;}
@media(min-width:761px){.st-workspace:has(.st-detail:not([hidden])) .st-map{height:330px;}}
@media(max-width:760px){.st-map-selected{top:52px;padding:8px;max-width:65%;font-size:11px;}}
