.vgl-route,.vgl-planner{background:var(--surface,#fff);border:1px solid var(--line,#dfe5ec);border-radius:14px;padding:18px}
.vgl-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.vgl-head h2{margin:0;font-size:20px}.vgl-head p{color:var(--muted,#677891);margin:4px 0 0;font-size:12px}
.vgl-route{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px}
.vgl-route .vgl-route-open{display:flex;align-items:center;gap:16px;min-width:0;flex:1;text-align:left;border:0;padding:0;background:transparent;border-radius:8px}
.vgl-route-thumb{display:block;width:180px;height:92px;object-fit:contain;background:#172b3e;border:1px solid var(--line,#dfe5ec);border-radius:8px;flex:none}
.vgl-route-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.vgl-route-copy strong{font-size:17px}.vgl-route-copy>span{font-size:12px;color:var(--muted,#677891)}.vgl-route-copy .vgl-route-link{color:var(--accent,#c84817);margin-top:3px}.vgl-route-open:hover .vgl-route-link{text-decoration:underline}
.vgl-route>[data-vgl-print-map]{flex:none;font-size:12px}
.vgl-map-dialog{width:min(1440px,96vw);height:94vh;height:94dvh;max-width:96vw;max-height:94dvh;inset:0;margin:auto;padding:16px;border:1px solid var(--line,#dfe5ec);border-radius:14px;background:var(--surface,#fff);color:var(--text,#19263b);box-sizing:border-box;overflow:hidden;font:14px/1.4 Arial,sans-serif}
.vgl-map-dialog::backdrop{background:#0d1b2bb8}.vgl-map-shell{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px}
.vgl-map-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:none;padding-bottom:10px;border-bottom:1px solid var(--line,#dfe5ec)}
.vgl-map-title{display:flex;flex-direction:column;gap:3px;flex:1;min-width:160px}.vgl-map-title strong{font-size:18px}.vgl-map-title span{font-size:12px;color:var(--muted,#677891)}
.vgl-map-dialog button{font:600 13px Arial;min-height:40px;border:1px solid var(--line,#dfe5ec);border-radius:8px;padding:8px 12px;background:var(--bg,#f5f7fb);color:inherit;cursor:pointer}
.vgl-map-dialog button:focus-visible,.vgl-map-stage:focus-visible{outline:3px solid #94baff;outline-offset:2px}.vgl-map-dialog button[aria-pressed=true]{border-color:#ff6935;background:#fff1ea;color:#a73512}
.vgl-map-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:none}.vgl-map-tools>span{font-size:12px;color:var(--muted,#677891)}
.vgl-map-stage{flex:1;min-height:0;min-width:0;overflow:auto;display:flex;align-items:center;justify-content:center;background:#172b3e;border-radius:9px;padding:12px;overscroll-behavior:contain}
.vgl-map-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;flex-shrink:0}.vgl-map-stage.is-actual{align-items:flex-start;justify-content:flex-start}.vgl-map-stage.is-actual img{max-width:none;max-height:none}
@media(max-width:650px){.vgl-route{flex-wrap:wrap;gap:10px}.vgl-route .vgl-route-open{flex-basis:100%;gap:10px}.vgl-route-thumb{width:112px;height:64px}.vgl-route-copy strong{font-size:15px}.vgl-route-copy>span{font-size:11px}.vgl-route>[data-vgl-print-map]{margin-left:auto}.vgl-map-dialog{padding:10px}.vgl-map-title{flex-basis:100%}.vgl-map-tools>span{flex-basis:100%}}
.vgl-planner{margin-top:14px;container-type:inline-size}.vgl-planner [hidden]{display:none!important}
.vgl-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,1fr);gap:22px;margin-top:14px}
.vgl-workspace>form,.vgl-result{min-width:0;margin:0}.vgl-controls{border:0;padding:0;margin:0;min-width:0}
.vgl-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vgl-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:9px;font-size:13px}
.vgl-section-heading>span{font-size:11px;color:var(--muted,#677891)}
.vgl-shift-fields{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:10px}
.vgl-planner label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}
.vgl-planner input:not([type=range]),.vgl-planner select{width:100%;min-width:0;min-height:38px;padding:7px 9px;border:1px solid var(--line,#dfe5ec);border-radius:8px;background:var(--bg,#f5f7fb);color:inherit;box-sizing:border-box}
.vgl-duration-row{display:grid;grid-template-columns:140px 1fr;align-items:end;gap:16px;padding:12px 0 16px;margin-bottom:14px;border-bottom:1px solid var(--line,#dfe5ec)}
.vgl-slider{min-width:0}.vgl-slider input[type=range]{appearance:none;width:100%;padding:0;height:24px;min-height:24px;border:0;background:transparent;accent-color:#ff6b35;margin:0;cursor:pointer}
.vgl-slider input::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#d3dce8}.vgl-slider input::-webkit-slider-thumb{appearance:none;width:16px;height:16px;margin-top:-6px;background:#ff6935;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px #ffb399}
.vgl-slider input::-moz-range-track{height:4px;border-radius:4px;background:#d3dce8}.vgl-slider input::-moz-range-thumb{width:12px;height:12px;background:#ff6935;border:2px solid white;border-radius:50%}
.vgl-slider span{font-size:11px;color:var(--muted,#677891);display:block}
.vgl-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:var(--bg,#f5f7fb);padding:4px;border:1px solid var(--line,#dfe5ec);border-radius:10px}
.vgl-modes button{padding:6px;font-size:12px;line-height:1.3;min-height:36px;background:transparent;border-color:transparent}
.vgl-modes button[aria-pressed=true]{background:#fff1ea;color:#a73512;border-color:#ff9875;font-weight:600}
.vgl-interval-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:end;margin-top:12px}
.vgl-interval-fields[data-mode=uniform]{grid-template-columns:minmax(0,200px)}
.vgl-interval-fields[data-mode=daynight]:has([data-day-only][hidden]){grid-template-columns:minmax(0,200px)}
.vgl-interval-fields[data-mode=variable]{grid-template-columns:1fr 1fr auto}
.vgl-interval-fields button{font-size:12px;min-height:38px}
.vgl-planner .vgl-hint{font-size:11px;color:var(--muted,#677891);margin:7px 0 0;line-height:1.45}
.vgl-planner .vgl-explanation{font-size:12px;line-height:1.5;padding:9px 11px;margin:9px 0 0;border-radius:8px;background:var(--bg,#f5f7fb);border-left:3px solid #7d9abd;min-height:36px}
.vgl-explanation:empty{display:none}
.vgl-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.vgl-actions button{font-size:12px}
.vgl-planner .vgl-save-status{margin-top:8px;font-size:12px;color:var(--muted,#677891)}
.vgl-save-status[data-state=saved]{color:#168269}.vgl-save-status[data-state=draft]{color:#ac6512}
.vgl-planner .vgl-error{color:#b72c3d;font-size:12px;margin-top:10px;padding:8px 10px;background:#fff0f1;border:1px solid #f4c4c9;border-radius:8px}
.vgl-result{padding:14px;background:var(--bg,#f5f7fb);border:1px solid var(--line,#dfe5ec);border-radius:12px}
.vgl-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.vgl-summary>div{min-width:0;background:var(--surface,#fff);border:1px solid var(--line,#dfe5ec);border-radius:9px;padding:10px}
.vgl-summary b{display:block;font-size:19px;line-height:1.3}.vgl-summary span{display:block;font-size:11px;color:var(--muted,#677891);margin-top:3px}
.vgl-planner .vgl-first-outing{margin-bottom:10px}
.vgl-table{max-height:300px;overflow:auto;scrollbar-gutter:stable;border:1px solid var(--line,#dfe5ec);border-radius:9px;background:var(--surface,#fff)}
.vgl-table table{width:100%;border-collapse:collapse}.vgl-planner .vgl-table th,.vgl-planner .vgl-table td{min-width:0;padding:7px 10px;border-bottom:1px solid var(--line,#dfe5ec);text-align:left;font-size:12px}
.vgl-table th{position:sticky;top:0;background:var(--bg,#f5f7fb);z-index:1}.vgl-table small{display:block;color:var(--muted,#677891);font-size:10px;margin-top:2px}
.vgl-table tr:nth-child(even){background:var(--bg,#f5f7fb)}.vgl-empty{padding:35px 16px;color:var(--muted,#677891);font-size:13px;text-align:center}
.vgl-history{margin-top:14px;border-top:1px solid var(--line,#dfe5ec);padding-top:12px;font-size:12px}.vgl-history summary{cursor:pointer;color:var(--muted,#677891)}.vgl-history p{padding:6px 0}
@container(max-width:860px){.vgl-workspace{grid-template-columns:1fr;gap:14px}.vgl-table{max-height:260px}.vgl-result{padding:12px}.vgl-summary b{font-size:20px}}
@container(max-width:460px){.vgl-shift-fields{grid-template-columns:1fr 1fr}.vgl-shift-fields>label:first-child{grid-column:1/-1}.vgl-duration-row{grid-template-columns:120px 1fr;gap:10px}.vgl-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.vgl-modes button{font-size:12px;padding:6px 3px}.vgl-interval-fields[data-mode=variable]{grid-template-columns:1fr 1fr}.vgl-interval-fields[data-mode=variable] button{grid-column:1/-1}.vgl-summary>div{padding:8px 6px}.vgl-summary b{font-size:16px}.vgl-actions button{flex:1}.vgl-result{padding:10px}}
@media(max-width:550px){.vgl-route,.vgl-planner{padding:12px}.vgl-head{align-items:flex-start;gap:10px}.vgl-head button{min-height:40px}.vgl-head h2{font-size:19px}}
