/*! vv-fuente:9758cea6e77d69521fa7eebbbcb8bb28 · plan-fuga.css · NO EDITAR A MANO: _herramientas/css/construir.mjs */
.pf-page{--pf-ok:#22c55e;--pf-danger:#ef4444;--pf-panel-w:400px;--pf-peek:68px;background-color:var(--color-background);padding-bottom:80px;overflow-x:clip}body.light-theme .pf-page{--pf-ok:#15803d;--pf-danger:#dc2626}.pf-page, .pf-dialog{--pf-sug:#8B5CF6;--pf-sug-solid:#7C3AED;--pf-sug-txt:#A78BFA}body.light-theme .pf-page, body.light-theme .pf-dialog{--pf-sug-txt:#6D28D9}.pf-shell{max-width:1240px;margin:0 auto;padding:0 20px}.pf-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.pf-help, .pf-console{scroll-margin-top:calc(var(--header-height) + 12px)}.pf-page [hidden], .pf-dialog [hidden]{display:none!important}.pf-fieldset{border:none;padding:0;margin:0 0 14px;min-width:0}.pf-fieldset:last-child{margin-bottom:0}.pf-hero{padding:56px 0 22px}.pf-hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px 32px;flex-wrap:wrap}.pf-hero__row > div{flex:1 1 520px;min-width:0}.pf-hero .vv-title{margin-bottom:12px}.pf-sub{font-size:1.05rem}.pf-stats{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin:0;padding:0 0 6px}.pf-stats li{display:flex;align-items:baseline;gap:8px}.pf-stats b{font-family:var(--font-heading);font-size:2rem;line-height:1;color:var(--color-text-primary);font-variant-numeric:tabular-nums;min-width:1.2ch}.pf-stats span{font-family:var(--font-tactical);font-size:0.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-text-secondary)}.pf-console{position:relative;height:min(calc(100vh - var(--header-height) - 24px),860px);min-height:560px;background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow:hidden;overflow:clip;isolation:isolate}.pf-map{position:absolute;inset:0;z-index:1;background:var(--color-surface)}.pf-map:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.pf-skeleton{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-tactical);font-size:0.78rem;letter-spacing:2px;text-transform:uppercase;transition:opacity 0.4s ease}.pf-skeleton i{color:var(--color-primary)}.pf-console.is-map-ready .pf-skeleton{opacity:0;pointer-events:none}.pf-tools{position:absolute;top:14px;right:14px;z-index:7;display:flex;flex-direction:column;gap:8px}.pf-tool{width:42px;height:42px;border-radius:12px;cursor:pointer;background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-md);display:inline-flex;align-items:center;justify-content:center;font-size:0.95rem;transition:color 0.2s ease,border-color 0.2s ease,background-color 0.2s ease}.pf-tool:hover, .pf-tool:focus-visible{color:var(--color-primary);border-color:var(--color-primary);outline:none}.pf-tool[aria-pressed="true"], .pf-tool.is-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverted)}.pf-tool[hidden]{display:none}.pf-tool--touch{display:none}.pf-console.is-touch .pf-tool--touch{display:inline-flex}.pf-tool--gps.is-live i{animation:pf-gps 1.4s ease-in-out infinite}@keyframes pf-gps{50%{transform:scale(1.18);opacity:0.75}}.pf-hint{position:absolute;left:calc(var(--pf-panel-w) + 28px);top:14px;z-index:5;margin:0;padding:8px 14px;border-radius:999px;pointer-events:none;white-space:nowrap;max-width:calc(100% - var(--pf-panel-w) - 28px - 80px);overflow:hidden;text-overflow:ellipsis;background:var(--color-background);border:1px solid var(--color-border);box-shadow:var(--shadow-md);color:var(--color-text-secondary);font-family:var(--font-subheading);font-weight:600;font-size:0.78rem;transition:opacity 0.3s ease}.pf-hint i{color:var(--color-primary);margin-right:4px}.pf-hint.is-hidden{opacity:0}.pf-console.is-panel-hidden .pf-hint{left:14px;max-width:calc(100% - 100px)}.pf-hint__touch{display:none}.pf-console.is-touch .pf-hint__desk{display:none}.pf-console.is-touch .pf-hint__touch{display:inline}.pf-legend{position:absolute;left:calc(var(--pf-panel-w) + 28px);right:70px;bottom:14px;z-index:5;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;pointer-events:none}.pf-console.is-panel-hidden .pf-legend{left:14px}.pf-legend[hidden]{display:none}.pf-chipgroup{display:inline-flex;align-items:center;gap:2px}.pf-chip{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;border-radius:999px;background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-subheading);font-weight:700;font-size:0.74rem;box-shadow:var(--shadow-md);transition:border-color 0.2s ease,color 0.2s ease}.pf-chip::before{content:'';width:10px;height:10px;border-radius:50%;background:var(--day,var(--color-primary));box-shadow:0 0 0 2px var(--color-background)}.pf-chip:hover, .pf-chip:focus-visible{border-color:var(--color-primary);outline:none}.pf-chip small{color:var(--color-text-secondary);font-weight:600}.pf-chip[aria-pressed="false"]{color:var(--color-text-secondary);text-decoration:line-through}.pf-chip[aria-pressed="false"]::before{background:transparent;box-shadow:inset 0 0 0 2px var(--day,var(--color-primary))}.pf-chipgroup .pf-chip:first-child{border-radius:999px 4px 4px 999px}.pf-chip--fit{padding:7px 10px;border-radius:4px 999px 999px 4px;color:var(--color-text-secondary);font-size:0.7rem}.pf-chip--fit::before{display:none}.pf-tools__zoom{display:flex;flex-direction:column;gap:2px}.pf-tools__zoom .pf-tool:first-child{border-radius:12px 12px 4px 4px}.pf-tools__zoom .pf-tool:last-child{border-radius:4px 4px 12px 12px}.pf-tools .pf-tool[disabled]{opacity:0.4;cursor:default}.pf-tools .pf-tool[disabled]:hover{color:var(--color-text-primary);border-color:var(--color-border)}.pf-console .leaflet-bottom.leaflet-right{z-index:6}.pf-pin-wrap{background:transparent;border:none}.pf-pin{position:absolute;left:2px;top:6px;width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);transform-origin:center;background:var(--day,var(--color-primary));color:var(--day-fg,#14181c);border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-subheading);font-weight:800;font-size:0.7rem;line-height:1;transition:transform 0.2s ease,box-shadow 0.2s ease,opacity 0.2s ease}.pf-pin > b, .pf-pin > i{transform:rotate(45deg)}.pf-pin > b{font-weight:800}.pf-pin > i{font-size:0.68rem}.pf-pin-wrap:hover .pf-pin, .pf-pin-wrap.is-active .pf-pin{transform:rotate(-45deg) scale(1.18);box-shadow:0 8px 18px rgba(0,0,0,0.55);z-index:2}.pf-pin.is-visited{opacity:0.7;filter:saturate(0.35) brightness(0.9)}.pf-pin-wrap.is-draggable .pf-pin{cursor:grab}.pf-pin-wrap.leaflet-marker-draggable{touch-action:none}.pf-pin-wrap.leaflet-drag-target .pf-pin{cursor:grabbing;transform:rotate(-45deg) scale(1.25)}.pf-pin__label{position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;font-family:var(--font-subheading);font-weight:700;font-size:0.68rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.9),0 0 8px rgba(0,0,0,0.7);opacity:0;transition:opacity 0.2s ease}body.light-theme .pf-pin__label{color:#1c2024;text-shadow:0 1px 3px rgba(255,255,255,0.95),0 0 8px rgba(255,255,255,0.9)}.pf-pin-wrap:hover .pf-pin__label, .pf-pin-wrap.is-active .pf-pin__label, .pf-console.show-labels .pf-pin__label{opacity:1}.pf-me{position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);border-radius:50%;background:#38bdf8;border:3px solid #fff;box-shadow:0 0 0 6px rgba(56,189,248,0.25),0 4px 10px rgba(0,0,0,0.4)}.pf-me::after{content:'';position:absolute;inset:-14px;border-radius:50%;border:2px solid rgba(56,189,248,0.6);animation:pf-me 2s ease-out infinite}@keyframes pf-me{0%{transform:scale(0.5);opacity:1}100%{transform:scale(1.4);opacity:0}}.pf-map-card__day{color:var(--day,var(--color-primary));font-family:var(--font-tactical);font-size:0.6rem;letter-spacing:2px;text-transform:uppercase;margin:0 0 4px}.pf-map-card__day.is-done{color:var(--pf-ok)}.vv-map-card__actions .pf-nav{flex:1}.pf-popup .leaflet-popup-content{width:330px!important;max-height:min(64vh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent}.pf-popup .leaflet-popup-content::-webkit-scrollbar{width:6px}.pf-popup .leaflet-popup-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:3px}.pf-popup .vv-map-card__cover{aspect-ratio:2/1}.pf-popup .vv-map-card__body{display:flex;flex-direction:column}.pf-popup .vv-map-card__actions{order:99;position:sticky;bottom:0;z-index:2;flex-wrap:wrap;margin:12px -14px -14px;padding:10px 14px 12px;background:var(--color-background);border-top:1px solid var(--color-border)}.pf-popup .vv-map-card__actions .vv-btn--icon{width:42px;height:42px}.pf-popup .vv-map-card__actions{flex-wrap:nowrap}.pf-popup .vv-map-card__actions .vv-btn:not(.vv-btn--icon){flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-popup .vv-map-card__actions .vv-btn--icon{flex:none}.pf-popup .vv-map-card__desc{-webkit-line-clamp:4}.pf-card-more{margin-top:10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.pf-card-more > summary{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;list-style:none;cursor:pointer;font-size:0.74rem;font-weight:700;color:var(--color-text-secondary)}.pf-card-more > summary::-webkit-details-marker{display:none}.pf-card-more > summary::after{content:'\f078';margin-left:auto;font-family:'Font Awesome 6 Free';font-weight:900;font-size:0.62rem;transition:transform 0.2s ease}.pf-card-more[open] > summary::after{transform:rotate(180deg)}.pf-card-more > summary:hover, .pf-card-more > summary:focus-visible{color:var(--color-primary);outline:none}.pf-card-more > :not(summary){margin:0 8px 8px}.vv-popup .vv-map-card__cover .vv-tag{background:var(--day,var(--color-primary));color:var(--day-fg,#14181c)}.pf-layers{position:absolute;top:14px;right:66px;z-index:9;width:340px;max-height:calc(100% - 28px);display:flex;flex-direction:column;overflow:hidden;background:var(--color-background);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-lg)}.pf-layers__handle{display:none}.pf-layers__head{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 10px 10px 14px;border-bottom:1px solid var(--color-border)}.pf-layers__title{flex:1;margin:0;font-family:var(--font-subheading);font-weight:800;font-size:0.95rem;text-transform:none;color:var(--color-text-primary)}.pf-layers__title i{color:var(--color-primary);margin-right:6px}.pf-layers__x{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.pf-layers__x:hover, .pf-layers__x:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.pf-layers__list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 6px}.pf-layers__hint{flex-shrink:0;margin:0;padding:10px 14px;border-top:1px solid var(--color-border);background:var(--color-surface);font-size:0.72rem;line-height:1.45;color:var(--color-text-secondary)}.pf-lx{border-radius:12px}.pf-lx + .pf-lx{border-top:1px solid var(--color-border)}.pf-lx__row{display:grid;grid-template-columns:36px minmax(0,1fr) 46px;align-items:center;gap:12px;padding:10px 8px;cursor:pointer;position:relative}.pf-lx__row:hover{background:var(--color-surface);border-radius:12px}.pf-lx__ico{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface);border:2px solid var(--x,var(--color-border));color:var(--x,var(--color-text-primary));font-size:0.9rem;transition:background-color 0.2s ease,color 0.2s ease}.pf-lx.is-on .pf-lx__ico{background:var(--x);color:#fff}.pf-lx__text{min-width:0;display:flex;flex-direction:column;gap:1px}.pf-lx__text b{font-family:var(--font-subheading);font-weight:700;font-size:0.92rem;line-height:1.25;color:var(--color-text-primary)}.pf-lx__desc{font-size:0.74rem;line-height:1.35;color:var(--color-text-secondary)}.pf-lx__n{font-family:var(--font-tactical);font-size:0.6rem;letter-spacing:1px;text-transform:uppercase;color:var(--color-text-secondary);line-height:1.4}.pf-lx__n:empty{display:none}.pf-lx__n.is-ok{color:var(--x,var(--color-primary))}.pf-lx__n.is-loading, .pf-lx__n.is-retry{color:var(--color-primary)}.pf-lx__n.is-error{color:var(--pf-danger)}.pf-lx.is-on .pf-lx__desc{display:none}.pf-lx.is-busy .pf-lx__ico{animation:pf-busy 1.1s ease-in-out infinite}@keyframes pf-busy{50%{opacity:0.45}}.pf-switch{position:absolute;opacity:0;width:54px;height:44px;right:4px;top:50%;transform:translateY(-50%);margin:0;cursor:pointer;z-index:2}.pf-switch__ui{justify-self:end;width:46px;height:28px;border-radius:999px;background:var(--color-border);position:relative;transition:background-color 0.2s ease;pointer-events:none}.pf-switch__ui::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.35);transition:transform 0.2s ease}.pf-switch:checked ~ .pf-switch__ui{background:var(--x,var(--color-primary))}.pf-switch:checked ~ .pf-switch__ui::after{transform:translateX(18px)}.pf-switch:focus-visible ~ .pf-switch__ui{outline:2px solid var(--color-primary);outline-offset:3px}.pf-lx__filter{margin:0 8px 8px 56px}.pf-lx__cta{margin:0 8px 10px 56px}.pf-lx__cta .vv-btn{width:100%;justify-content:center}.pf-lx__filter[hidden]{display:none}.pf-lx__fsum{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:4px 0;font-family:var(--font-subheading);font-size:0.72rem;color:var(--color-text-secondary)}.pf-lx__fsum::-webkit-details-marker{display:none}.pf-lx__fsum b{font-weight:700}.pf-lx__fsum i{font-size:0.62rem;transition:transform 0.2s ease}.pf-lx__filter[open] .pf-lx__fsum i{transform:rotate(180deg)}.pf-lx__fsum:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:6px}.pf-lx__chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 2px}.pf-chip--x{box-shadow:none;padding:5px 10px 5px 8px;font-size:0.7rem;background:var(--color-surface)}.pf-chip--x::before{background:var(--x,var(--color-primary));box-shadow:0 0 0 2px var(--color-surface);width:8px;height:8px}.pf-chip--x i{color:var(--x,var(--color-primary));font-size:0.7rem}.pf-chip--x[aria-pressed="false"]{color:var(--color-text-secondary);text-decoration:none;opacity:0.7}.pf-chip--x[aria-pressed="false"]::before{background:transparent;box-shadow:inset 0 0 0 2px var(--x,var(--color-primary))}.pf-chip--x[aria-pressed="false"] i{color:var(--color-text-secondary)}.pf-xpin-wrap{background:transparent;border:none}.pf-xpin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:#fff;color:var(--x,var(--color-primary));border:2px solid var(--x,var(--color-primary));box-shadow:0 3px 8px rgba(0,0,0,0.4);display:flex;align-items:center;justify-content:center;font-size:0.7rem;cursor:pointer;transition:transform 0.15s ease,box-shadow 0.15s ease}.pf-xpin-wrap:hover .pf-xpin{transform:translate(-50%,-50%) scale(1.2);box-shadow:0 6px 14px rgba(0,0,0,0.5)}.pf-xpin--guide::after{content:'';position:absolute;right:-5px;top:-5px;width:11px;height:11px;border-radius:50%;background:var(--color-primary);border:2px solid #fff}.pf-xpin--approx{border-style:dashed;background:rgba(255,255,255,0.85)}.pf-xpin--sug{background:var(--x);color:#fff}.pf-xpin--sug::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px dashed var(--x)}.pf-xpin-wrap:hover .pf-xpin--sug{box-shadow:0 6px 16px rgba(0,0,0,0.55)}.pf-xpin__label{position:absolute;left:50%;top:calc(50% + 15px);transform:translateX(-50%);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;pointer-events:none;font-family:var(--font-subheading);font-weight:700;font-size:0.64rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.9),0 0 8px rgba(0,0,0,0.7);opacity:0;transition:opacity 0.2s ease}body.light-theme .pf-xpin__label{color:#1c2024;text-shadow:0 1px 3px rgba(255,255,255,0.95),0 0 8px rgba(255,255,255,0.9)}.pf-xpin-wrap:hover .pf-xpin__label, .pf-console.show-xlabels .pf-xpin__label{opacity:1}.pf-xcluster{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:#fff;color:#14181c;border:3px solid var(--x,var(--color-primary));box-shadow:0 4px 12px rgba(0,0,0,0.45),0 0 0 5px color-mix(in srgb,var(--x,var(--color-primary)) 25%,transparent);display:flex;align-items:center;justify-content:center;font-family:var(--font-subheading);font-weight:800;font-size:0.8rem;cursor:pointer;transition:transform 0.15s ease}.pf-xpin-wrap:hover .pf-xcluster{transform:translate(-50%,-50%) scale(1.1)}@supports not (color: color-mix(in srgb, #000 50%, transparent)){.pf-xcluster{box-shadow:0 4px 12px rgba(0,0,0,0.45)}}.pf-xlist{list-style:none;margin:8px 0 0;padding:0;max-height:240px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--color-border)}.pf-xlist li{display:grid;grid-template-columns:18px minmax(0,1fr) 34px;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--color-border)}.pf-xlist li > i{font-size:0.75rem;text-align:center}.pf-xlist li > span{min-width:0;display:flex;flex-direction:column;line-height:1.25}.pf-xlist b{font-family:var(--font-subheading);font-weight:700;font-size:0.84rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-xlist small{font-size:0.7rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-xlist .pf-ibtn{width:34px;height:34px;border-color:var(--color-border);color:var(--x,var(--color-primary))}.pf-xlist .pf-ibtn:hover, .pf-xlist .pf-ibtn:focus-visible{background:var(--x,var(--color-primary));color:#fff;border-color:var(--x,var(--color-primary))}.pf-xlist__more{display:block!important;padding:8px 0!important;font-size:0.74rem;color:var(--color-text-secondary);font-style:italic}.vv-popup .pf-xcard .vv-map-card__actions{margin-top:10px}.pf-xcard__approx{color:var(--color-text-secondary);font-style:italic}.pf-xcard__kicker{color:var(--x,var(--color-primary))}.pf-xcard .vv-map-card__actions .vv-btn:first-child{flex:1}.pf-seq{display:flex;align-items:center;justify-content:space-between;gap:2px;margin:10px 0 2px;padding:4px;border-radius:12px;background:var(--color-surface)}.pf-seq .pf-ibtn{width:32px;height:32px;font-size:0.75rem;color:var(--color-text-primary)}.pf-seq .pf-ibtn:hover, .pf-seq .pf-ibtn:focus-visible{color:var(--day,var(--color-primary))}.pf-seq__n{flex:1;text-align:center;font-family:var(--font-tactical);font-size:0.6rem;letter-spacing:1px;text-transform:uppercase;color:var(--color-text-secondary)}.pf-seq__hint{margin:4px 0 0;font-size:0.68rem;line-height:1.4;color:var(--color-text-secondary);font-style:italic}.pf-console.is-dragging-pin .leaflet-overlay-pane path{stroke-width:6;opacity:1}.pf-console.is-dragging-pin .pf-xpin-wrap, .pf-console.is-dragging-pin .pf-xcluster{opacity:0.35}.pf-fuel{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border)}.pf-fuel__head{margin:0 0 6px;font-family:var(--font-tactical);font-size:0.6rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--x,var(--color-primary))}.pf-fuel__head small{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--color-text-secondary)}.pf-fuel__list{list-style:none;margin:0;padding:0}.pf-fuel__list li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:3px 0;font-size:0.8rem}.pf-fuel__list li + li{border-top:1px dashed var(--color-border)}.pf-fuel__list span{color:var(--color-text-secondary)}.pf-fuel__list b{font-family:var(--font-subheading);font-weight:800;color:var(--color-text-primary);white-space:nowrap}.pf-fuel__note{margin:6px 0 0;font-size:0.66rem;line-height:1.35;color:var(--color-text-secondary);font-style:italic}.pf-fuel--ev .pf-fuel__list b{text-align:right}.pf-geo{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border)}.pf-geo__row{display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:6px}.pf-geo__row + .pf-geo__row{margin-top:8px;padding-top:8px;border-top:1px dashed var(--color-border)}.pf-geo__lbl{grid-column:1;font-family:var(--font-tactical);font-size:0.55rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-secondary);display:block}.pf-geo__val{grid-column:1;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.86rem;color:var(--color-text-primary);word-break:break-word}.pf-geo__val--addr{font-family:var(--font-body);font-size:0.8rem;line-height:1.4}.pf-geo__copy{grid-column:2;grid-row:1/span 2;width:32px;height:32px;border:1px solid var(--color-border);color:var(--color-text-secondary)}.pf-geo__copy:hover, .pf-geo__copy:focus-visible{color:var(--color-primary);border-color:var(--color-primary)}.pf-geo__dms{margin:2px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.72rem;color:var(--color-text-secondary)}.pf-tip{position:fixed;z-index:100010;max-width:260px;padding:7px 11px;border-radius:10px;pointer-events:none;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);font-family:var(--font-subheading);font-weight:600;font-size:0.76rem;line-height:1.35;opacity:0;transform:translateY(4px);transition:opacity 0.15s ease,transform 0.15s ease}.pf-tip.is-on{opacity:1;transform:none}.pf-tip::after{content:'';position:absolute;left:50%;bottom:-5px;width:9px;height:9px;margin-left:-4px;background:var(--color-surface);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg)}.pf-tip.is-below::after{bottom:auto;top:-5px;border:none;border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.pf-xcard__warn{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--color-border);font-size:0.68rem;line-height:1.4;color:var(--color-text-secondary)}.pf-area{position:absolute;left:50%;top:62px;transform:translateX(-50%);z-index:6;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;cursor:pointer;background:var(--color-primary);color:var(--color-text-inverted);border:1px solid var(--color-primary);box-shadow:var(--shadow-md);font-family:var(--font-subheading);font-weight:800;font-size:0.78rem;letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap}.pf-area[hidden]{display:none}.pf-zone{position:absolute;left:50%;top:62px;transform:translateX(-50%);z-index:6;width:min(460px,calc(100% - 140px))}@media (min-width: 1024px){.pf-zone{left:calc(var(--pf-panel-w) + 28px + (100% - var(--pf-panel-w) - 28px - 70px) / 2);width:min(460px,calc(100% - var(--pf-panel-w) - 140px))}.pf-console.is-panel-hidden .pf-zone{left:50%}}.pf-zone[hidden], .pf-zone__card[hidden]{display:none}.pf-zone__card{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;border-radius:16px;background:var(--color-background);border:1px solid color-mix(in srgb,var(--pf-sug) 55%,var(--color-border));box-shadow:var(--shadow-lg)}.pf-zone__ico{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--pf-sug-solid);color:#fff;font-size:1.05rem}.pf-zone__txt{flex:1;min-width:0;margin:0;font-size:0.86rem;line-height:1.4;color:var(--color-text-primary)}.pf-zone__txt b{display:block;font-family:var(--font-subheading);font-weight:800}.pf-zone__txt small{display:block;color:var(--color-text-secondary);font-size:0.78rem}.pf-zone__card--res .pf-zone__txt b{display:inline;color:var(--pf-sug-txt);font-size:1.05rem}.pf-zone__card--res .pf-zone__txt small{display:inline}@media (min-width: 1024px){.pf-zone__card--res .pf-zone__txt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.pf-zone__acts{flex:none;display:flex;gap:6px;align-items:center}.pf-zone__acts [hidden]{display:none}.vv-btn.pf-zone__go{flex:none;background:var(--pf-sug-solid);border-color:var(--pf-sug-solid);color:#fff}.vv-btn.pf-zone__go:hover, .vv-btn.pf-zone__go:focus-visible{background:#6D28D9;border-color:#6D28D9;color:#fff}.pf-zone__card--live{border-style:dashed}.pf-zone__card--live .pf-zone__ico{animation:pf-zone-pulse 1.4s ease-in-out infinite}@keyframes pf-zone-pulse{50%{transform:scale(0.9);opacity:0.75}}.pf-console.is-drawing .pf-map, .pf-console.is-drawing .pf-map .leaflet-interactive{touch-action:none!important;cursor:crosshair!important}.pf-console.is-drawing .pf-fabs, .pf-console.is-drawing .pf-hint{visibility:hidden}@media (prefers-reduced-motion: reduce){.pf-zone__card--live .pf-zone__ico{animation:none}}.pf-area:disabled{background:var(--color-background);color:var(--color-text-secondary);border-color:var(--color-border);cursor:default}.pf-area:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media (min-width: 1024px){.pf-area{left:calc(var(--pf-panel-w) + 28px + (100% - var(--pf-panel-w) - 28px - 70px) / 2)}.pf-console.is-panel-hidden .pf-area{left:50%}}.pf-panel{position:absolute;z-index:8;display:flex;flex-direction:column;top:14px;left:14px;bottom:14px;width:var(--pf-panel-w);border-radius:16px;background:var(--color-background);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);overflow:hidden;transition:transform 0.35s cubic-bezier(0.23,1,0.32,1),opacity 0.25s ease}.pf-console.is-panel-hidden .pf-panel{transform:translateX(calc(-100% - 20px));opacity:0;pointer-events:none}.pf-panel__handle{display:none}.pf-panel__head{position:relative;flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px 16px 12px 18px;border-bottom:1px solid var(--color-border)}.pf-panel__titles{flex:1;min-width:0}.pf-panel__kicker{margin:0 0 2px;font-family:var(--font-tactical);font-size:0.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary)}.pf-panel__title{margin:0;font-family:var(--font-subheading);font-weight:800;font-size:1.25rem;line-height:1.1;text-transform:none;color:var(--color-text-primary)}.pf-panel__meta{margin:3px 0 0;font-size:0.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-panel__x{display:none}.pf-panel__peek{display:none}.pf-actions{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}#pf-act-route{grid-column:1/-1}.pf-actions .vv-btn{padding:11px 12px;font-size:0.74rem;letter-spacing:0.6px;gap:8px}.pf-actions .vv-btn--ghost{background:var(--color-background)}.pf-actions .vv-btn[aria-pressed="true"]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverted)}.pf-actions .vv-btn[aria-pressed="true"] i{animation:pf-gps 1.4s ease-in-out infinite}.pf-days{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 14px;scrollbar-width:thin}.pf-day{--day:var(--color-primary);position:relative;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);margin-bottom:10px;overflow:hidden;transition:border-color 0.2s ease}.pf-day:hover, .pf-day:focus-within{border-color:color-mix(in srgb,var(--day) 55%,var(--color-border))}.pf-day--reserve{--day:var(--pf-danger);border-style:dashed}.pf-day.is-done{--day:var(--pf-ok)}.pf-day__head{display:flex;align-items:center;gap:8px;padding:9px 8px 9px 6px;min-height:52px}.pf-day__grip{flex:none;width:24px;height:40px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:grab;border-radius:8px;opacity:0.7;touch-action:none}.pf-day__grip:hover{opacity:1}.pf-day--reserve .pf-day__grip{visibility:hidden}.pf-day__badge{flex:none;width:30px;height:30px;padding:0;border:none;border-radius:50%;background:var(--day);color:var(--day-fg,#14181c);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-subheading);font-weight:800;font-size:0.8rem;box-shadow:0 0 0 3px color-mix(in srgb,var(--day) 20%,transparent);cursor:pointer;transition:background-color 0.2s ease,color 0.2s ease}.pf-day__badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.pf-day__badge[aria-pressed="false"]{background:transparent;color:var(--day);box-shadow:inset 0 0 0 2px var(--day);text-decoration:line-through}.pf-day.is-off .pf-day__list, .pf-day.is-off .pf-day__meta{opacity:0.5}.pf-day--reserve .pf-day__badge{background:transparent;color:var(--day);box-shadow:inset 0 0 0 2px var(--day);cursor:default}.pf-day__titles{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:4px 6px}.pf-day__title{margin:0;font-family:var(--font-subheading);font-weight:800;font-size:0.95rem;line-height:1.2;text-transform:none;color:var(--color-text-primary)}.pf-day__meta{margin:0;font-size:0.72rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pf-day__meta i{color:var(--day);margin-right:2px;font-size:0.66rem}.pf-day__acts{flex:none;display:flex;align-items:center;gap:2px}.pf-ibtn{width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:0.85rem;text-decoration:none;transition:color 0.15s ease,background-color 0.15s ease,border-color 0.15s ease}.pf-ibtn:hover, .pf-ibtn:focus-visible{color:var(--color-primary);background:var(--color-background);outline:none;border-color:var(--color-border)}.pf-ibtn--danger:hover, .pf-ibtn--danger:focus-visible{color:var(--pf-danger)}.pf-ibtn--nav{color:var(--color-primary)}.pf-ibtn--ok[aria-pressed="true"], .pf-ibtn--ok.is-on{color:var(--pf-ok)}.pf-ibtn--chev i{transition:transform 0.25s ease}.pf-day.is-collapsed .pf-ibtn--chev i{transform:rotate(-90deg)}.pf-day__list{list-style:none;margin:0;padding:0 6px 6px;min-height:46px;border-top:1px solid var(--color-border)}.pf-day.is-collapsed .pf-day__list{display:none}.pf-day.is-collapsed .pf-daynav{display:none}.pf-daynav{margin:0 10px 8px;padding:10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-background)}.pf-daynav__h{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-family:var(--font-subheading);font-weight:800;font-size:0.78rem;color:var(--color-text-primary)}.pf-daynav__go{display:grid;gap:6px}.pf-daynav__btn{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;min-height:44px;padding:6px 12px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);text-decoration:none;font-size:0.8rem}.pf-daynav__btn{border-left:4px solid var(--day)}.pf-daynav__btn b{color:var(--color-text-primary);font-family:var(--font-subheading)}.pf-daynav__btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary)}.pf-daynav__btn i{color:var(--color-primary)}.pf-daynav__btn:hover, .pf-daynav__btn:focus-visible{border-color:var(--day);outline:none}.pf-daynav__btn:focus-visible{box-shadow:0 0 0 2px var(--day)}.pf-daynav__note{margin:8px 0 0;font-size:0.72rem;line-height:1.45;color:var(--color-text-secondary)}.pf-day__empty{margin:0;padding:12px 10px;font-size:0.78rem;color:var(--color-text-secondary);text-align:center;font-style:italic}.pf-day__empty i{color:var(--day);margin-right:4px}.pf-stop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 6px;margin-top:4px;border-radius:12px;cursor:grab;border:1px solid transparent;transition:background-color 0.15s ease,border-color 0.15s ease}.pf-stop:hover, .pf-stop.is-active{background:var(--color-background);border-color:var(--color-border)}.pf-stop.is-active{box-shadow:inset 3px 0 0 var(--day)}.pf-stop__main{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:0;margin:0;background:none;border:none;border-radius:10px;color:inherit;font:inherit;text-align:left;cursor:grab}.pf-stop__main:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pf-stop.is-visited .pf-stop__title{text-decoration:line-through;color:var(--color-text-secondary)}.pf-stop.is-visited .pf-stop__thumb img{filter:grayscale(1);opacity:0.6}.pf-stop__thumb{position:relative;display:block;width:48px;height:48px;border-radius:12px;overflow:visible;background:var(--color-background)}.pf-stop__thumb img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}.pf-stop__thumb .pf-stop__ico{width:100%;height:100%;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--day);font-size:1rem;background:color-mix(in srgb,var(--day) 12%,var(--color-background));border:1px solid var(--color-border)}.pf-stop__n{position:absolute;left:-6px;bottom:-6px;width:22px;height:22px;border-radius:50%;background:var(--day);color:var(--day-fg,#14181c);border:2px solid var(--color-surface);display:flex;align-items:center;justify-content:center;font-family:var(--font-subheading);font-weight:800;font-size:0.64rem;line-height:1}.pf-stop.is-visited .pf-stop__n{background:var(--pf-ok);color:#fff}.pf-stop__body{min-width:0}.pf-stop__title{display:block;margin:0;font-family:var(--font-subheading);font-weight:700;font-size:0.9rem;line-height:1.25;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-stop__sub{display:flex;align-items:center;gap:6px;margin:2px 0 0;font-size:0.72rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-stop__sub i{color:var(--day);font-size:0.66rem;flex:none}.pf-stop__sub span{min-width:0;overflow:hidden;text-overflow:ellipsis}.pf-badge{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;border:1px solid var(--color-border);font-family:var(--font-tactical);font-size:0.52rem;letter-spacing:1px;text-transform:uppercase;color:var(--color-text-secondary)}.pf-badge--type{border-color:transparent;background:color-mix(in srgb,var(--day) 18%,var(--color-background));color:var(--color-text-primary)}.pf-badge--type i{color:var(--day)}.pf-stop__acts{display:flex;align-items:center;gap:0}.pf-stop__acts .pf-ibtn{width:32px;height:32px;font-size:0.8rem}.pf-leg{display:flex;align-items:center;gap:6px;margin:2px 0 2px 26px;padding:2px 8px;font-size:0.68rem;color:var(--color-text-secondary);font-family:var(--font-subheading);font-weight:600}.pf-leg::before{content:'';width:2px;height:14px;border-radius:1px;background:var(--day);opacity:0.6}.pf-leg i{color:var(--day);font-size:0.66rem}.sortable-ghost{opacity:0.35}.sortable-chosen{background:var(--color-background);border-color:var(--color-primary)!important;box-shadow:var(--shadow-md)}.pf-day.sortable-ghost{border:2px dashed var(--color-primary)}.pf-empty{margin:8px 4px;padding:26px 20px 22px;text-align:center;border-radius:14px;border:1px dashed var(--color-border)}.pf-empty__ico{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 14%,var(--color-background));color:var(--color-primary);font-size:1.5rem;margin-bottom:12px}.pf-empty h3{margin:0 0 6px;font-family:var(--font-heading);font-size:1.5rem;line-height:1;letter-spacing:1px;color:var(--color-text-primary)}.pf-empty p{margin:0 0 16px;font-size:0.88rem;color:var(--color-text-secondary);line-height:1.55}.pf-empty__lead{margin:0 0 8px!important;font-family:var(--font-subheading);font-weight:800;font-size:1rem!important;color:var(--color-text-primary)!important}.pf-empty__acts{display:flex;flex-direction:column;gap:8px}.pf-empty__acts .vv-btn{width:100%}@supports not (color: color-mix(in srgb, #000 50%, transparent)){.pf-empty__ico, .pf-stop__thumb .pf-stop__ico, .pf-badge--type{background:var(--color-surface)}.pf-day__badge{box-shadow:none}}.pf-panel__foot{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--color-border);background:var(--color-surface)}.pf-panel__foot .vv-btn{flex:1}.pf-panel__foot .vv-btn--icon{flex:none;width:42px;height:42px}.pf-panel__foot .vv-btn--icon:hover, .pf-panel__foot .vv-btn--icon:focus-visible{color:var(--pf-danger);border-color:var(--pf-danger)}.pf-sync{margin:0;padding-top:14px;font-size:0.8rem;color:var(--color-text-secondary);display:flex;align-items:flex-start;gap:10px;line-height:1.5}.pf-sync i{color:var(--color-primary);flex:none;margin-top:4px}.pf-disclaimer{display:flex;align-items:flex-start;gap:10px;margin:10px 0 0;padding:12px 14px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);font-size:0.78rem;line-height:1.55;color:var(--color-text-secondary)}.pf-disclaimer i{color:var(--color-primary);flex:none;margin-top:3px}.pf-disclaimer b{color:var(--color-text-primary)}.pf-disclaimer a{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:2px}.pf-disclaimer a:hover, .pf-disclaimer a:focus-visible{color:var(--color-primary);outline:none}.pf-sync a{color:var(--color-text-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.pf-sync a:hover, .pf-sync a:focus-visible{color:var(--color-primary);outline:none}.pf-fabs{display:none}.pf-toast{position:absolute;left:50%;bottom:66px;transform:translate(-50%,16px);z-index:12;max-width:min(92%,420px);display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--color-background);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);color:var(--color-text-primary);font-size:0.86rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity 0.25s ease,transform 0.3s cubic-bezier(0.23,1,0.32,1)}.pf-toast i{color:var(--color-primary)}.pf-toast.has-act{pointer-events:auto}.pf-console.has-popup .pf-fabs{opacity:0;pointer-events:none}.pf-toast__act{flex:none;margin-left:4px;min-height:36px;padding:6px 12px;border-radius:10px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary);font:inherit;font-weight:800;cursor:pointer}.pf-toast__act:hover, .pf-toast__act:focus-visible{background:var(--color-primary);color:var(--color-text-inverted);outline:none}.vv-map-card__actions .pf-card-del:hover, .vv-map-card__actions .pf-card-del:focus-visible{color:var(--pf-danger);border-color:var(--pf-danger)}.pf-toast.is-on{opacity:1;transform:translate(-50%,0)}.pf-stars{display:inline-flex;align-items:center;gap:2px}.pf-stars i{color:#FFC300;font-size:0.72rem}.pf-stars b{margin-left:5px;font-family:var(--font-tactical);font-weight:700;font-size:0.7rem;color:var(--color-text-primary)}body.light-theme .pf-stars i{color:#D39E00}.pf-fuel--hotel .pf-fuel__head i{color:#C2185B}.pf-fuel--hotel .pf-fuel__list a{color:var(--color-primary);text-decoration:none}.pf-fuel--hotel .pf-fuel__list a:hover, .pf-fuel--hotel .pf-fuel__list a:focus-visible{text-decoration:underline}.pf-fuel--hotel .pf-fuel__list small{font-family:var(--font-tactical);font-weight:400;color:var(--color-text-secondary)}body.light-theme .pf-fuel--hotel .pf-fuel__list a{color:#C2410C}.pf-xcard__desc{white-space:pre-line;margin:8px 0 0;padding-left:9px;border-left:2px solid var(--color-border);font-size:0.78rem;line-height:1.5;font-style:italic;color:var(--color-text-secondary)}.pf-dialog{border:none;padding:0;margin:auto;background:transparent;color:var(--color-text-primary);width:min(calc(100% - 32px),520px);max-width:none;max-height:none;overflow:visible}.pf-dialog::backdrop{background:rgba(10,12,15,0.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pf-dialog__box{display:flex;flex-direction:column;max-height:88vh;background:var(--color-background);border:1px solid var(--color-border);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden}.pf-dialog__head{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:16px 14px 12px 22px;border-bottom:1px solid var(--color-border)}.pf-dialog__titles{flex:1;min-width:0}.pf-dialog__kicker{margin:0;font-family:var(--font-tactical);font-size:0.62rem;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary)}.pf-dialog__title{margin:2px 0 0;font-family:var(--font-subheading);font-weight:800;font-size:1.15rem;line-height:1.2;text-transform:none;color:var(--color-text-primary)}.pf-dialog__x{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.pf-dialog__x:hover, .pf-dialog__x:focus-visible{border-color:var(--color-primary);color:var(--color-primary);outline:none}.pf-dialog__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 22px}.pf-dialog__body > p{margin:0 0 14px;color:var(--color-text-secondary);font-size:0.92rem;line-height:1.6}.pf-dialog__body > p:last-child{margin-bottom:0}.pf-dialog__foot{flex-shrink:0;display:flex;flex-wrap:wrap;gap:10px;padding:14px 22px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface)}.pf-dialog__foot .vv-btn{flex:1 1 auto}.pf-dialog__foot .vv-btn--icon{flex:none;width:46px;height:46px}.pf-dialog__foot .vv-btn--danger{background:var(--pf-danger);border-color:var(--pf-danger);color:#fff}.pf-dialog__foot .vv-btn--danger:hover{filter:brightness(1.08)}.pf-dialog__lead{margin:0 0 12px;font-family:var(--font-subheading);font-weight:800;font-size:1.05rem;color:var(--color-text-primary)}.pf-seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-background)}.pf-seg button{min-height:38px;padding:0 14px;border:none;border-radius:999px;background:none;color:var(--color-text-secondary);font-family:var(--font-subheading);font-weight:700;font-size:0.78rem;cursor:pointer;transition:background-color 0.15s ease,color 0.15s ease}.pf-seg button:hover{color:var(--color-text-primary)}.pf-seg button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pf-seg button[aria-pressed="true"]{background:var(--pf-sug-solid);color:#fff}.pf-sug__lead{margin:0 0 14px;font-size:0.9rem;line-height:1.6;color:var(--color-text-secondary)}.pf-sug__lead b{color:var(--color-text-primary)}.pf-sug__bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;padding:10px 14px;border-radius:14px;background:var(--color-surface);border:1px dashed var(--color-border)}.pf-sug__bar .pf-label{margin:0}.pf-sug__meta{margin:12px 0 0!important;font-family:var(--font-tactical);font-size:0.64rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--pf-sug-txt)!important;line-height:1.5}.pf-sug__meta:empty{display:none}.pf-sug__sel{flex:1 1 100%;font-family:var(--font-tactical);font-size:0.64rem;letter-spacing:1.2px;text-transform:uppercase;color:var(--pf-sug-txt)}.pf-sug__sel:empty{display:none}.pf-sug__list{list-style:none;margin:8px 0 0;padding:0}.pf-sug{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--color-border)}.pf-sug:last-child{border-bottom:none}.pf-sug__main{display:grid;grid-template-columns:24px 46px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:58px;padding:6px;border:1px solid transparent;border-radius:14px;background:none;color:var(--color-text-primary);text-align:left;cursor:pointer}.pf-sug__main:hover{border-color:var(--color-border);background:var(--color-surface)}.pf-sug__main:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.pf-sug__main[aria-pressed="true"]{border-color:var(--pf-sug);background:var(--color-surface);background:color-mix(in srgb,var(--pf-sug) 12%,var(--color-background))}.pf-sug__box{width:24px;height:24px;border-radius:7px;border:2px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;font-size:0.68rem;color:transparent}.pf-sug__main[aria-pressed="true"] .pf-sug__box{background:var(--pf-sug-solid);border-color:var(--pf-sug-solid);color:#fff}.pf-sug__img{width:46px;height:46px;border-radius:10px;object-fit:cover;background:var(--color-surface)}.pf-sug__img--none{display:inline-flex;align-items:center;justify-content:center;color:var(--pf-sug-txt);font-size:0.9rem;border:1px dashed var(--color-border)}.pf-sug__txt{min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.3}.pf-sug__txt b{font-family:var(--font-subheading);font-weight:700;font-size:0.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-sug__txt small{font-size:0.74rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-sug__km{font-family:var(--font-tactical);color:var(--pf-sug-txt);letter-spacing:0.5px}.pf-sug .pf-ibtn:hover, .pf-sug .pf-ibtn:focus-visible{color:var(--pf-sug-txt)}.pf-xcard--sug .pf-xcard__kicker{color:var(--pf-sug-txt);letter-spacing:1px}.pf-fuel--transit .pf-fuel__head i{color:#3B82F6}.pf-fuel--transit .pf-fuel__list li:first-child b{font-family:var(--font-tactical);color:#3B82F6}body.light-theme .pf-fuel--transit .pf-fuel__head i,
body.light-theme .pf-fuel--transit .pf-fuel__list li:first-child b{color:#1D4ED8}.pf-xcard--sug .vv-map-card__actions .vv-btn:first-child{background:var(--pf-sug-solid);border-color:var(--pf-sug-solid);color:#fff}.pf-xcard--sug .vv-map-card__actions .vv-btn:first-child:hover{filter:brightness(1.1);color:#fff}.pf-dialog--wide{width:min(calc(100% - 32px),640px)}.pf-dialog--alert .pf-dialog__body{text-align:center;padding-top:26px}.pf-dialog__ico{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;margin-bottom:12px;background:color-mix(in srgb,var(--color-primary) 14%,var(--color-background));color:var(--color-primary);font-size:1.5rem}.pf-dialog--alert.is-warn .pf-dialog__ico{color:#f59e0b;background:rgba(245,158,11,0.14)}.pf-dialog--alert .pf-dialog__title{font-size:1.3rem}.pf-dialog--alert .pf-dialog__body > p{color:var(--color-text-primary)}.pf-field{margin-bottom:14px}.pf-field:last-child{margin-bottom:0}.pf-label{display:block;margin:0 0 6px;font-family:var(--font-subheading);font-weight:700;font-size:0.74rem;letter-spacing:0.5px;text-transform:uppercase;color:var(--color-text-secondary)}.pf-input, .pf-select{width:100%;min-height:48px;padding:10px 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color 0.2s ease,box-shadow 0.2s ease}.pf-input:focus-visible, .pf-select:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.pf-select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-secondary) 50%),linear-gradient(135deg,var(--color-text-secondary) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.pf-search{position:relative}.pf-search > i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-primary);pointer-events:none}.pf-search .pf-input{padding-left:40px}.pf-results{list-style:none;margin:6px 0 0;padding:0;max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.pf-results:empty{display:none}.pf-results li + li{border-top:1px solid var(--color-border)}.pf-result{display:grid;grid-template-columns:auto 1fr;gap:10px;width:100%;padding:10px 12px;background:none;border:none;text-align:left;cursor:pointer;color:var(--color-text-primary);font-size:0.86rem;line-height:1.35}.pf-result i{color:var(--color-primary);margin-top:3px}.pf-result:hover, .pf-result:focus-visible, .pf-result.is-on{background:var(--color-background);outline:none}.pf-result b{display:block;font-family:var(--font-subheading);font-weight:700}.pf-result span{color:var(--color-text-secondary);font-size:0.78rem;display:block}.pf-results__msg{padding:12px;font-size:0.85rem;color:var(--color-text-secondary)}.pf-results__msg i{color:var(--color-primary);margin-right:6px}.pf-picked{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-background));border:1px solid var(--color-border);font-size:0.86rem}.pf-picked[hidden]{display:none}.pf-picked i{color:var(--color-primary)}.pf-picked b{font-family:var(--font-subheading)}.pf-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pf-tiles--2{grid-template-columns:1fr 1fr}.pf-tiles--3{grid-template-columns:repeat(3,1fr)}.pf-tiles--3 .pf-tile{min-height:62px;padding:8px 4px;font-size:0.7rem;gap:5px}.pf-tiles--3 .pf-tile i{font-size:1.05rem}.pf-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:68px;padding:10px 8px;border-radius:14px;border:1px solid transparent;background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-subheading);font-weight:700;font-size:0.78rem;text-align:center;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease,background-color 0.2s ease,border-color 0.2s ease}.pf-tile input{position:absolute;opacity:0;width:1px;height:1px}.pf-tile i{font-size:1.2rem;color:var(--color-primary)}.pf-tile:hover{border-color:var(--color-border);transform:translateY(-2px);box-shadow:var(--shadow-md)}.pf-tile.is-on, .pf-tile:has(input:checked){background:var(--color-primary);color:var(--color-text-inverted);box-shadow:var(--shadow-glow)}.pf-tile.is-on i, .pf-tile:has(input:checked) i{color:var(--color-text-inverted)}.pf-tile:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:3px}.pf-choice{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;width:100%;padding:14px;margin-bottom:8px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:border-color 0.2s ease,transform 0.2s ease,box-shadow 0.2s ease}.pf-choice:hover, .pf-choice:focus-visible{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md);outline:none}.pf-choice i{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;background:color-mix(in srgb,var(--color-primary) 14%,var(--color-background));color:var(--color-primary)}.pf-choice b{display:block;font-family:var(--font-subheading);font-weight:800;font-size:0.95rem}.pf-choice b em{font-style:normal;font-family:var(--font-tactical);font-size:0.56rem;letter-spacing:1.5px;color:var(--color-primary);margin-left:6px;vertical-align:middle}.pf-choice span{display:block;margin-top:3px;font-size:0.82rem;color:var(--color-text-secondary);line-height:1.5}.pf-choice--warn i{color:#f59e0b;background:rgba(245,158,11,0.14)}.pf-choice--warn:hover, .pf-choice--warn:focus-visible{border-color:#f59e0b}.pf-choice--danger i{color:var(--pf-danger);background:rgba(239,68,68,0.12)}.pf-choice--danger:hover, .pf-choice--danger:focus-visible{border-color:var(--pf-danger)}.pf-inline{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;border-radius:12px;background:var(--color-surface);border:1px dashed var(--color-border)}.pf-inline .pf-label{margin:0;flex:1}.pf-inline .pf-input{width:92px;text-align:center}.pf-row{display:flex;gap:8px}.pf-row .vv-btn{flex:1}.pf-edit-name{margin:0 0 14px;font-family:var(--font-subheading);font-weight:800;font-size:1.05rem;color:var(--color-text-primary);line-height:1.3}.pf-edit-name small{display:block;font-weight:600;font-size:0.78rem;color:var(--color-text-secondary);margin-top:2px}.pf-help{padding-top:56px}.pf-lead{margin-bottom:22px}.pf-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-tactical);font-size:0.72rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-primary);margin-bottom:10px}.pf-lead__title{margin:0;font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);line-height:1;color:var(--color-text-primary)}.pf-lead__title span{color:var(--color-primary)}.pf-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:pf}.pf-step{position:relative;padding:22px 22px 22px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);counter-increment:pf;transition:transform 0.25s ease,border-color 0.25s ease,box-shadow 0.25s ease}.pf-step:hover{transform:translateY(-4px);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.pf-step::before{content:counter(pf,decimal-leading-zero);display:block;font-family:var(--font-tactical);font-size:0.7rem;letter-spacing:3px;color:var(--color-primary);margin-bottom:10px}.pf-step i{position:absolute;top:18px;right:20px;font-size:1.3rem;color:var(--color-primary);opacity:0.85}.pf-step h3{margin:0 0 8px;font-family:var(--font-subheading);font-weight:800;font-size:1.15rem;text-transform:none;line-height:1.2;color:var(--color-text-primary)}.pf-step p{margin:0;font-size:0.92rem;line-height:1.6;color:var(--color-text-secondary)}.pf-step a{color:var(--color-primary);text-decoration:none;font-weight:600}.pf-step a:hover{text-decoration:underline;text-underline-offset:3px}.pf-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.pf-faq{margin-top:56px;padding-top:36px;border-top:2px dashed var(--color-border);max-width:820px}.pf-faq__title{font-family:var(--font-heading);font-size:2rem;line-height:1;margin-bottom:14px;color:var(--color-text-primary)}.pf-faq details{border-bottom:1px solid var(--color-border)}.pf-faq summary{list-style:none;cursor:pointer;padding:14px 0;font-family:var(--font-subheading);font-weight:700;color:var(--color-text-primary);display:flex;gap:12px;align-items:center;min-height:48px}.pf-faq summary::-webkit-details-marker{display:none}.pf-faq summary i{margin-left:auto;color:var(--color-text-secondary);transition:transform 0.2s ease;flex:none}.pf-faq details[open] summary i{transform:rotate(180deg)}.pf-faq summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:6px}.pf-faq p{margin:0 0 16px;color:var(--color-text-secondary);line-height:1.7}.lazy-load-section{content-visibility:visible;contain-intrinsic-size:none}#vv-cart, #vvc-backdrop{display:none!important}@media (max-width: 1023px){.pf-zone{left:10px;right:66px;top:66px;transform:none;width:auto}.pf-zone__card{flex-wrap:wrap;gap:10px;padding:10px}.pf-zone__card .pf-zone__go, .pf-zone__card--live .vv-btn{flex:1 1 100%;justify-content:center;min-height:44px}.pf-zone__card--res .pf-zone__acts{flex:1 1 100%}.pf-zone__card--res .pf-zone__acts .pf-zone__go{flex:1}.pf-zone__acts .vv-btn{min-height:44px}.pf-console:has(.pf-layers:not([hidden])) .pf-zone{display:none}.pf-page{--pf-peek:76px;padding-bottom:40px}.pf-sync{font-size:0.74rem;padding-top:10px}.pf-hero{padding:calc(var(--header-height,60px) + 22px) 0 12px}.pf-hero .vv-title{font-size:clamp(2.2rem,10vw,3rem);margin-bottom:8px}.pf-sub{font-size:0.94rem}.pf-hero__row{gap:10px 20px}.pf-stats{gap:6px 18px;padding-bottom:0}.pf-stats b{font-size:1.45rem}.pf-stats span{font-size:0.6rem;letter-spacing:1.5px}.pf-console{height:calc(100svh - var(--header-height) - 65px);min-height:480px}.pf-tools{top:10px;right:10px}.pf-tool{width:44px;height:44px}.pf-hint{top:10px;left:10px;white-space:normal;text-align:left;font-size:0.74rem}.pf-console .leaflet-control-attribution{margin-bottom:calc(var(--pf-peek) + 2px)}.pf-legend{display:none}.pf-layers{top:auto;bottom:0;left:0;right:0;width:auto;max-height:78%;border-radius:18px 18px 0 0;border-bottom:none;box-shadow:0 -12px 40px rgba(0,0,0,0.45);z-index:12}.pf-layers__handle{display:block;position:absolute;top:8px;left:50%;width:42px;height:4px;border-radius:999px;background:var(--color-border);transform:translateX(-50%)}.pf-layers__head{padding:20px 10px 10px 16px}.pf-layers__x{width:40px;height:40px}.pf-layers__list{padding:2px 8px}.pf-lx__row{grid-template-columns:40px minmax(0,1fr) 50px;gap:12px;padding:12px 6px;min-height:60px}.pf-lx__ico{width:40px;height:40px;font-size:1rem}.pf-lx__text b{font-size:0.95rem}.pf-lx__desc{font-size:0.76rem}.pf-lx__filter{margin-left:52px}.pf-lx__fsum{padding:8px 0;font-size:0.76rem}.pf-layers__hint{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.pf-area{top:66px;left:10px;transform:none;max-width:calc(100% - 130px);white-space:normal;text-align:left;font-size:0.72rem}.pf-console:has(.pf-layers:not([hidden])) .pf-area{display:none}.pf-panel{top:auto;left:0;right:0;bottom:0;width:auto;height:82%;max-height:82%;border-radius:18px 18px 0 0;border-bottom:none;box-shadow:0 -12px 40px rgba(0,0,0,0.4);transform:translateY(calc(100% - var(--pf-peek)));transition:transform 0.35s cubic-bezier(0.23,1,0.32,1)}.pf-panel.is-open{transform:translateY(0)}.pf-panel.is-dragging{transition:none}.pf-console.is-panel-hidden .pf-panel{transform:translateY(calc(100% - var(--pf-peek)));opacity:1;pointer-events:auto}.pf-panel__handle{display:block;position:absolute;top:8px;left:50%;width:42px;height:4px;border-radius:999px;background:var(--color-border);transform:translateX(-50%);z-index:2}.pf-panel__head{height:var(--pf-peek);min-height:0;padding:18px 14px 0 18px;align-items:flex-start;overflow:hidden;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.pf-panel.is-open .pf-panel__head{height:auto;min-height:var(--pf-peek);padding-bottom:10px}.pf-panel__meta{display:none}.pf-panel.is-open .pf-panel__meta{display:block}.pf-tool--desk{display:none}.pf-hint{max-width:calc(100% - 130px)}.pf-panel__kicker{display:none}.pf-panel__title{font-size:1.05rem;padding-top:4px}.pf-panel__meta{font-size:0.78rem}.pf-panel__x{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.pf-panel__x i{transition:transform 0.3s ease}.pf-panel.is-open .pf-panel__x i{transform:rotate(180deg)}.pf-panel__x:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pf-actions{grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 10px}#pf-act-route{flex-direction:row;min-height:46px;font-size:0.66rem}#dlg-sug .pf-dialog__foot{display:grid;grid-template-columns:1fr 1fr}#dlg-sug .pf-dialog__foot .pf-sug__sel,
    #dlg-sug .pf-dialog__foot .vv-btn:last-child{grid-column:1/-1}.pf-sug__main{grid-template-columns:24px 40px minmax(0,1fr);gap:8px;min-height:60px}.pf-sug__img{width:40px;height:40px}.pf-seg button{padding:0 12px}.pf-actions .vv-btn{flex-direction:column;gap:5px;min-height:58px;padding:8px 4px;border-radius:14px;font-size:0.58rem;letter-spacing:0.3px;white-space:normal;line-height:1.1}.pf-actions .vv-btn i{font-size:1.05rem}.pf-actions .vv-btn--ghost i{color:var(--color-primary)}.pf-days{padding:10px 10px 12px}.pf-day__head{min-height:54px;gap:6px}.pf-day__grip{width:22px;height:44px}.pf-ibtn{width:38px;height:38px}.pf-stop{padding:8px 6px;gap:10px}.pf-stop__acts .pf-ibtn{width:40px;height:40px}.pf-stop__acts .pf-ibtn--danger{display:none}.pf-panel__foot{padding:8px 10px calc(30px + env(safe-area-inset-bottom))}.pf-day__meta{white-space:normal}.pf-panel__foot .vv-btn{min-height:44px}.pf-fabs{position:absolute;right:12px;bottom:calc(var(--pf-peek) + 34px);z-index:7;display:flex;flex-direction:column-reverse;gap:12px;transition:opacity 0.25s ease,transform 0.3s ease}.pf-console.is-sheet-open .pf-fabs{opacity:0;pointer-events:none;transform:translateY(20px)}.pf-fab{width:54px;height:54px;border-radius:50%;border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-text-inverted);font-size:1.25rem;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,0.45);display:inline-flex;align-items:center;justify-content:center}.pf-fab--ghost{background:var(--color-background);border-color:var(--color-border);color:var(--color-text-primary)}.pf-fab:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.pf-toast{bottom:calc(var(--pf-peek) + 34px);max-width:calc(100% - 100px);left:12px;transform:translate(0,16px)}.pf-toast.is-on{transform:none}.pf-dialog{margin:auto 0 0;width:100%}.pf-dialog__box{border-radius:22px 22px 0 0;border-bottom:none;max-height:92vh;max-height:92svh}.pf-dialog__box::before{content:'';position:absolute;top:8px;left:50%;width:42px;height:4px;border-radius:999px;background:var(--color-border);transform:translateX(-50%)}.pf-dialog__box{position:relative}.pf-dialog__head{padding-top:20px}.pf-dialog__body{padding:16px 18px}.pf-dialog__foot{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.pf-tiles{grid-template-columns:repeat(3,1fr)}.pf-tiles--3{gap:6px}.pf-tiles--3 .pf-tile{font-size:0.64rem;min-height:58px}.pf-help{padding-top:26px}.pf-lead{margin-bottom:12px}.pf-lead__title{font-size:1.6rem}.pf-steps{gap:0;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;background:var(--color-surface)}.pf-step{border:none;border-radius:0;padding:14px 16px 14px 52px}.pf-step + .pf-step{border-top:1px solid var(--color-border)}.pf-step:hover{transform:none;box-shadow:none}.pf-step::before{position:absolute;left:16px;top:17px;margin:0}.pf-step i{top:14px;right:14px;font-size:1.05rem}.pf-step h3{font-size:1rem;padding-right:30px}.pf-step p{font-size:0.86rem}.pf-cta{margin-top:14px}.pf-cta .vv-btn{flex:1 1 auto}.pf-faq{margin-top:32px;padding-top:24px}.pf-faq__title{font-size:1.5rem}}@media (max-width: 380px){.pf-actions .vv-btn{font-size:0.68rem;padding:10px 8px;gap:6px}.pf-stats{gap:6px 12px}}@media (prefers-reduced-motion: reduce){.pf-panel, .pf-dialog__box, .pf-tile, .pf-choice, .pf-step, .pf-pin, .pf-toast, .pf-fabs{transition:none}.pf-tool--gps.is-live i, .pf-actions .vv-btn[aria-pressed="true"] i, .pf-me::after{animation:none}}