.schedule-map-panel{padding:0;overflow:hidden}.schedule-map-toolbar,.schedule-map-toolbar>div{display:flex;align-items:center;gap:8px}.schedule-map-toolbar{justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.schedule-map-toolbar label{font-size:12px;font-weight:600}.schedule-map-toolbar input{width:155px;padding:8px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface,var(--paper))}.schedule-map-toolbar button{min-height:34px;font-size:12px}.schedule-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:540px}.schedule-map-canvas{position:relative;isolation:isolate;min-width:0}.schedule-map-panel #schedule-map{width:100%;height:100%;min-height:540px;background:var(--paper)!important;background-image:none!important;z-index:0}.schedule-map-locations{border-left:1px solid var(--line);min-width:0;max-height:650px;display:flex;flex-direction:column}.schedule-map-locations>header{padding:18px 16px;border-bottom:1px solid var(--line)}.schedule-map-locations h2{font-size:14px;margin:0 0 5px}.schedule-map-locations header p{font-size:12px;color:var(--muted);margin:0}.schedule-map-stops{overflow-y:auto;min-height:0;flex:1}.schedule-map-stop{padding:12px;border-bottom:1px solid var(--line)}.schedule-map-stop.is-selected{background:color-mix(in srgb,var(--entry-color) 9%,var(--surface,var(--paper)))}.schedule-map-focus{display:flex;width:100%;gap:10px;align-items:flex-start;text-align:left;border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer}.schedule-map-focus>span:last-child{display:grid;gap:5px;min-width:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.schedule-map-focus small{color:var(--muted);font-size:11px}.schedule-map-number{border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex:0 0 25px;background:color-mix(in srgb,var(--entry-color) 14%,transparent);color:var(--entry-color);font-size:11px;font-weight:700}.schedule-map-stop-actions{display:flex;gap:12px;flex-wrap:wrap;padding:10px 0 0 35px}.schedule-map-stop-actions button,.schedule-map-stop-actions a{font-size:11px;border:0;padding:0;background:none;color:var(--purple);cursor:pointer;text-decoration:none;display:inline-flex;gap:3px;align-items:center}.schedule-map-stop-actions svg{width:12px;height:12px}.schedule-map-no-work{padding:24px 16px;color:var(--muted);font-size:13px}.schedule-location-pin{background:transparent;border:0}.schedule-location-pin>span{display:grid;place-items:center;min-width:36px;height:32px;padding:0 4px;color:#fff;background:var(--entry-color,var(--purple));border:2px solid var(--surface,#fff);border-radius:12px 12px 12px 2px;box-shadow:0 2px 8px #0005;font:700 11px system-ui;white-space:nowrap}.schedule-location-pin.is-preview>span{background:var(--purple);font-size:20px;border-style:dashed}.schedule-map-popup{display:grid;gap:6px;color:var(--ink);font:12px/1.5 system-ui}.schedule-map-popup+.schedule-map-popup{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.schedule-map-popup p{margin:0!important}.schedule-map-popup b{font-size:14px}.schedule-map-popup small{color:var(--muted)}.schedule-map-popup button,.schedule-map-popup a{border:0;background:transparent;color:var(--purple);padding:5px 0;text-align:left;font:600 12px system-ui;cursor:pointer}.schedule-map-message{position:absolute;z-index:450;left:50px;right:14px;top:8px;background:var(--surface,var(--paper));color:var(--ink);padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:12px;box-shadow:0 3px 12px #0002;pointer-events:none}.schedule-map-message[hidden],.schedule-map-editor[hidden]{display:none}.schedule-map-editor{position:absolute;z-index:800;left:14px;bottom:24px;width:min(340px,calc(100% - 28px));max-height:78%;overflow:auto;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface,var(--paper));box-shadow:0 4px 24px #0003}.schedule-map-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.schedule-map-editor>header button{border:0;background:none;color:var(--ink);cursor:pointer}.schedule-map-editor svg{width:15px;height:15px}.schedule-map-editor label{display:block;font-size:12px;margin-bottom:6px}.schedule-map-editor form>div{display:flex;gap:6px}.schedule-map-editor input{min-width:0;flex:1;width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:var(--surface,var(--paper));color:var(--ink)}.schedule-map-editor small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:8px}.schedule-map-editor p{font-size:12px;line-height:1.5}.schedule-map-editor button{font-size:12px}.schedule-map-save{display:flex;justify-content:flex-end;gap:8px}#schedule-map-results{font-size:12px;line-height:1.5;margin-top:10px}#schedule-map-results>button{display:flex;gap:8px;width:100%;padding:8px 0;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);cursor:pointer}#schedule-map-results svg{flex:0 0 15px}.schedule-map-panel .leaflet-container{font-family:inherit}.schedule-map-panel .leaflet-control-zoom a,.schedule-map-panel .leaflet-popup-content-wrapper,.schedule-map-panel .leaflet-popup-tip{background:var(--surface,#fff);color:var(--ink)}.schedule-map-panel .leaflet-control-zoom a{border-color:var(--line)}.schedule-map-panel .leaflet-control-attribution{background:var(--surface,#fff);color:var(--muted)}.schedule-map-panel .leaflet-control-attribution a{color:var(--purple)}.schedule-map-panel .leaflet-control-zoom a:hover{background:var(--paper)}html[data-theme="dark"] .schedule-map-panel .leaflet-tile-pane{filter:brightness(.75) saturate(.8)}
@media(max-width:900px){.schedule-map-layout{grid-template-columns:minmax(0,1fr) 250px}}@media(max-width:650px){.schedule-map-layout{display:flex;flex-direction:column}.schedule-map-panel #schedule-map{height:420px;min-height:420px}.schedule-map-locations{border-left:0;border-top:1px solid var(--line);max-height:360px}.schedule-map-toolbar{padding:10px;gap:10px}.schedule-map-toolbar>div{flex-wrap:wrap}.schedule-map-editor{bottom:24px;max-height:78%}}
.schedule-map-panel #schedule-map{scroll-margin-top:80px}
@media(max-width:650px){.schedule-map-toolbar>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;width:100%;gap:6px}.schedule-map-toolbar input{min-width:0;width:100%}.schedule-map-toolbar button{padding:8px;font-size:11px}}
