.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078A8}.leaflet-zoom-box{border:2px dotted #38f;background:rgba(255,255,255,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:black}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers.ef6db872.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(/_next/static/media/layers-2x.9859cd12.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(/_next/static/media/marker-icon.d577052a.png)}.leaflet-container .leaflet-control-attribution{background:#fff;background:rgba(255,255,255,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;box-sizing:border-box;background:rgba(255,255,255,.8);text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:white;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}:root,:root[data-theme=dark]{--text:#eaf0fb;--muted:#a3b0c7;--border:rgba(255,255,255,0.14);--panel:rgba(14,22,44,0.62);--panel-solid:#101a33;--input-bg:rgba(8,14,30,0.55);--accent:#6d8dff;--accent-2:#9a6bff;--accent-text:#ffffff;--green:#4ade80;--red:#f87171;--warn-bg:rgba(217,158,34,0.18);--warn-text:#fcd34d;--error-bg:rgba(220,60,60,0.2);--error-text:#fca5a5;--overlay:linear-gradient(180deg,rgba(5,9,22,0.25),rgba(5,9,22,0.55));--shadow:0 10px 40px rgba(0,0,0,0.35);--radius:16px}:root[data-theme=light]{--text:#17233d;--muted:#5b6b88;--border:rgba(23,35,61,0.14);--panel:rgba(255,255,255,0.72);--panel-solid:#ffffff;--input-bg:rgba(255,255,255,0.85);--accent:#3b63e0;--accent-2:#7a4de0;--accent-text:#ffffff;--green:#15803d;--red:#b91c1c;--warn-bg:rgba(245,200,80,0.35);--warn-text:#7c5200;--error-bg:rgba(220,60,60,0.12);--error-text:#991b1b;--overlay:linear-gradient(180deg,rgba(244,247,253,0.6),rgba(240,244,252,0.84));--shadow:0 10px 40px rgba(23,35,61,0.12)}*{box-sizing:border-box}html{color-scheme:dark}:root[data-theme=light]{color-scheme:light}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--text);line-height:1.55;background:#060a16;transition:color .3s ease}:root[data-theme=light] body{background:#eef2fa}.hero-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(160deg,#070d20,#14295e 45%,#241263 75%,#0b4a6e)}.hero-bg:after,.hero-bg:before{content:"";position:absolute;width:55vmax;height:55vmax;border-radius:50%;filter:blur(70px);mix-blend-mode:screen;pointer-events:none;z-index:1;will-change:transform}.hero-bg:before{background:radial-gradient(circle,rgba(79,125,255,.5),transparent 62%);top:-22vmax;left:-12vmax;animation:drift-a 26s ease-in-out infinite alternate}.hero-bg:after{background:radial-gradient(circle,rgba(138,92,246,.45),transparent 62%);bottom:-26vmax;right:-14vmax;animation:drift-b 32s ease-in-out infinite alternate}:root[data-theme=light] .hero-bg:after,:root[data-theme=light] .hero-bg:before{opacity:.5}@media (max-width:700px){.hero-bg:after,.hero-bg:before{display:none}}@keyframes drift-a{to{transform:translate(14vmax,10vmax)}}@keyframes drift-b{to{transform:translate(-12vmax,-8vmax)}}:root[data-theme=light] .hero-bg{background:linear-gradient(160deg,#dfe7fb,#eaeefb 45%,#e6defa 75%,#dcebf7)}:root[data-theme=light] .hero-bg video{display:none}.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;inset:0;background:var(--overlay);transition:background .4s ease;z-index:2}.shell{max-width:1240px;margin:0 auto;padding:28px 22px 70px}.hero-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:26px}header.hero h1{margin:0 0 6px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;letter-spacing:-.03em}header.hero h1 .logo{filter:drop-shadow(0 2px 12px rgba(109,141,255,.6))}header.hero h1 .brand{background:linear-gradient(100deg,var(--text) 0,var(--text) 32%,var(--accent) 46%,var(--accent-2) 54%,var(--text) 68%,var(--text) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear 3 both}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}header.hero p{margin:0;color:var(--muted);font-size:clamp(.95rem,2vw,1.1rem)}.header-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.lang-toggle{display:flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--panel);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);box-shadow:var(--shadow)}.lang-toggle button{padding:8px 12px;border:none;background:transparent;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.03em;cursor:pointer}.lang-toggle button.active{background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff}.theme-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);cursor:pointer;box-shadow:var(--shadow);flex-shrink:0}.theme-toggle .mode{font-size:1rem;opacity:.35;transition:opacity .25s ease}.theme-toggle .mode.on{opacity:1}.theme-toggle .track{width:40px;height:22px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));position:relative}.theme-toggle .knob{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:transform .25s ease}.theme-toggle .track.dark .knob{transform:translateX(18px)}.layout{display:grid;grid-template-columns:350px 1fr;grid-gap:22px;gap:22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--shadow)}aside.form{position:-webkit-sticky;position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}.field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:2px}.field-hint{display:block;font-size:.75rem;font-weight:400;line-height:1.35;opacity:.75;margin-bottom:6px}.field input[type=number],.field input[type=text]{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;font-size:1rem;background:var(--input-bg);color:var(--text)}.field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.input-unit{align-items:center}.input-unit,.vehicle-row{display:flex;gap:8px}.vehicle-row input{flex:1 1;min-width:0}button.mini{padding:9px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff;font-weight:650;letter-spacing:.01em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}button.mini:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px 18px rgba(109,141,255,.4)}button.mini:disabled{opacity:.55;cursor:default}button.mini.ghost{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}button.mini.ghost:hover:not(:disabled){border-color:var(--accent);box-shadow:none}.vehicle-info{margin:6px 0 0;font-size:.8rem;color:var(--accent)}.check-row{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text);cursor:pointer}.check-row input{width:16px;height:16px;accent-color:var(--accent)}.filters{border:1px solid var(--border);border-radius:12px;background:var(--input-bg)}.filters>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;list-style:none}.filters>summary::-webkit-details-marker{display:none}.filters>summary:after{content:"▾";margin-left:auto;opacity:.6}.filters[open]>summary:after{content:"▴"}.filter-badge{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:.7rem;text-align:center}.filters-body{display:flex;flex-direction:column;gap:8px;padding:0 12px 12px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.8rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.filter-chip.on,.filter-chip:hover:not(:disabled){border-color:var(--accent)}.filter-chip.on{background:color-mix(in srgb,var(--accent) 22%,transparent);font-weight:600}.filter-chip:disabled{opacity:.5;cursor:default}.filters-note{margin:0;font-size:.72rem;line-height:1.4;opacity:.75}.link-btn{align-self:flex-start;padding:0;border:0;background:none;color:var(--accent);font-size:.78rem;text-decoration:underline;cursor:pointer}.share-btn{width:100%;padding:10px;font-size:.9rem}.save-panel{margin-top:4px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.save-title{font-size:.85rem;font-weight:700}.auth-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.auth-who{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-box{display:flex;flex-direction:column;gap:8px}.auth-box input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.9rem}.auth-actions{display:flex;gap:8px}.auth-actions .mini{flex:1 1}.save-group{display:flex;flex-direction:column;gap:8px}.saved-list{display:flex;flex-wrap:wrap;gap:6px}.saved-item{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--input-bg)}.saved-load{border:none;background:transparent;color:var(--text);padding:5px 8px;font-size:.8rem;cursor:pointer;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-load:hover{color:var(--accent)}.saved-del{border:none;border-left:1px solid var(--border);background:transparent;color:var(--muted);padding:0 7px;font-size:.72rem;cursor:pointer}.saved-del:hover{color:var(--red)}.admin-badge{display:inline-block;padding:1px 7px;border-radius:999px;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff;font-size:.68rem;font-weight:700;vertical-align:middle}.admin-group{border-top:1px dashed var(--border);padding-top:12px}.save-subtitle{font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:2px}.admin-users{display:flex;flex-direction:column;gap:4px}.admin-user{display:flex;align-items:center;gap:8px;font-size:.8rem;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg)}.au-email{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.au-meta{color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-user .saved-del{border:none}.admin-link{color:var(--accent);font-weight:700;text-decoration:none}.admin-link:hover{text-decoration:underline}.admin-shell{max-width:1000px;margin:0 auto;padding:28px 22px 70px;display:flex;flex-direction:column;gap:18px}.admin-head{display:flex;align-items:center;justify-content:space-between}.admin-head h1{margin:0;font-size:1.6rem;font-weight:800}.admin-msg{position:-webkit-sticky;position:sticky;top:10px;align-self:center;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff;font-weight:600;box-shadow:var(--shadow);z-index:10}.admin-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}.admin-card h2{margin:0 0 12px;font-size:1.05rem}.admin-note{color:var(--muted);font-size:.85rem;margin:0 0 12px}.stat-grid{display:flex;flex-wrap:wrap;gap:20px 32px}.stat{display:flex;flex-direction:column}.stat b{font-size:1.6rem;font-weight:800}.stat span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.admin-users-table{display:flex;flex-direction:column;gap:6px}.au-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);font-size:.9rem}.au-em{flex:1 1;overflow:hidden;text-overflow:ellipsis}.au-ct,.au-em{white-space:nowrap}.au-ct{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cfg-block{margin-top:14px}.cfg-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}.cfg-badge{font-size:.68rem;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--warn-bg);color:var(--warn-text)}.cfg-actions{margin-left:auto;display:flex;gap:8px}.cfg-json{width:100%;min-height:120px;max-height:340px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;line-height:1.45;resize:vertical}.weather-note{color:var(--accent)!important}.label-hint{font-weight:400;color:var(--muted)}.cards-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.cards-country+.cards-country{margin-top:12px}.cards-country-label{font-size:.72rem;font-weight:600;opacity:.7;margin-bottom:6px}.card-chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 30px 10px 12px;border-radius:12px;background:var(--input-bg);border:2px solid rgba(220,60,60,.45);color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s ease,transform .1s ease}.card-chip:hover:not(:disabled){transform:translateY(-1px)}.card-chip.on{border-color:var(--green)}.card-mark{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff}.card-mark.yes{background:#15803d}.card-mark.no{background:#c03030}.card-name{font-size:.82rem;font-weight:650;line-height:1.25}.card-benefit{font-size:.72rem;color:var(--muted)}.base-price{color:var(--muted);font-weight:400;font-size:.85rem;margin-right:6px}.card-used{font-size:.75rem;color:var(--green);font-weight:600}.plan-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.legal{max-width:760px;margin:0 auto;padding:40px 20px 60px;line-height:1.6}.legal h1{margin-bottom:4px}.legal h2{margin-top:28px;margin-bottom:8px;font-size:1.15rem}.legal .legal-updated{color:var(--muted);font-size:.9rem;margin-bottom:24px}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.legal a{color:#6889e0}.legal .legal-back{margin-top:36px}.waypoints .wp-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.waypoints .wp-row input[type=text]{flex:1 1;min-width:0}.wp-force{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);white-space:nowrap;cursor:pointer}.wp-force input{accent-color:#7a4de0}.wp-del{background:transparent;border:1px solid var(--border,rgba(150,150,170,.35));color:var(--muted);border-radius:8px;width:30px;height:30px;cursor:pointer;flex:none}.wp-del:hover{color:#e03b3b;border-color:#e03b3b}.wp-add{margin-top:2px}.wp-marker span{font-size:20px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.premium-cta{background:linear-gradient(135deg,#b8860b,#f5c451)!important;color:#241a00!important;font-weight:700}.premium-tag{font-size:.8rem;font-weight:700;color:#e0a83a}.maps-label{font-size:.8rem;color:var(--muted);align-self:center}.redeem-row{display:flex;gap:6px;margin-top:8px}.redeem-row input{flex:1 1;min-width:0}.redeem-msg{margin-top:6px}.feat-row{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer}.feat-row .feat-state{margin-left:auto;font-size:.78rem;color:var(--muted)}.new-code{font-size:.85rem}.new-code b{font-family:ui-monospace,monospace;letter-spacing:.05em}.charge-info{margin-top:6px;font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:2px 4px;align-items:baseline}.charge-info b{color:var(--fg);font-weight:700}.charge-src{opacity:.6;font-size:.7rem}.live-avail{font-weight:700;border-radius:999px;padding:0 6px}.live-avail.free{color:#16a34a}.live-avail.busy{color:#e03b3b}.live-badge{margin-left:8px;padding:1px 6px;border-radius:999px;font-size:.62rem;font-weight:800;letter-spacing:.06em;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 0 0 1px rgba(34,197,94,.25)}.live-badge,.live-badge:before{display:inline-block;vertical-align:middle}.live-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:#eaffea;margin-right:4px;animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.3}}.tips{border-left:3px solid var(--accent)}.tips-title{font-weight:750;margin-bottom:4px}.tips ul{margin:6px 0;padding-left:20px;font-size:.85rem;color:var(--muted)}.tips li{margin-bottom:3px}.tips-total{margin:8px 0 0;font-size:.9rem}.tips-total strong{color:var(--green)}.input-unit span{color:var(--muted);font-size:.85rem;white-space:nowrap}.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:10px;overflow:hidden}.segmented button{padding:11px 0;border:none;background:transparent;font-size:.92rem;font-weight:500;cursor:pointer;color:var(--muted);transition:background .2s ease,color .2s ease}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:linear-gradient(135deg,#3b63e0,#7a4de0);color:var(--accent-text);font-weight:700}.segmented button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;position:relative;z-index:1}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.9}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 0 12px rgba(109,141,255,.8);-webkit-transition:transform .12s ease;transition:transform .12s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.9}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:0 0 12px rgba(109,141,255,.8)}input[type=range]:disabled{opacity:.5;cursor:default}.range-ends{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}button.cta{position:relative;overflow:hidden;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:var(--accent-text);font-size:1.05rem;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 26px rgba(109,141,255,.4);transition:transform .15s ease,box-shadow .15s ease}button.cta:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.28) 50%,transparent 68%);transform:translateX(-110%);pointer-events:none}button.cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 32px rgba(109,141,255,.5)}button.cta:hover:not(:disabled):after{animation:shine .8s ease}button.cta:disabled{cursor:wait}button.cta .timer{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.22);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}button.cta:disabled:after{animation:shine 1.4s linear infinite}@keyframes shine{to{transform:translateX(110%)}}.error{background:var(--error-bg);color:var(--error-text);border-radius:10px;padding:10px 12px;font-size:.9rem}.note{font-size:.75rem;color:var(--muted);margin:0}.intro{margin-bottom:24px}.intro h2{margin:0 0 8px;font-size:1.1rem}.intro-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 28px;gap:8px 28px}.intro-cols p{margin:0;color:var(--muted);font-size:.95rem}@media (max-width:700px){.intro-cols{grid-template-columns:1fr}}.results{display:flex;flex-direction:column;gap:16px;min-width:0}.alts{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.alt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);cursor:pointer;text-align:left;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease}.alt:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(109,141,255,.25)}.alt.selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px;box-shadow:0 0 28px rgba(109,141,255,.35),var(--shadow)}.alt-rank{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}.alt-cost{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.alt-meta{font-size:.8rem;color:var(--muted)}.alt-diff{font-size:.8rem;color:var(--red);font-weight:600}.summary{display:flex;flex-wrap:wrap;gap:12px 28px}.chip{display:flex;flex-direction:column}.chip .chip-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.chip .chip-value{font-size:1.15rem;font-weight:700}.chip.total .chip-value{background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.55rem;animation:shimmer 5s linear 3 both}.diff-up{color:var(--red)}.diff-down{color:var(--green)}.warning{background:var(--warn-bg);color:var(--warn-text);border-radius:10px;padding:10px 14px;font-size:.9rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.results-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;align-items:start}.results-grid.single{grid-template-columns:1fr}ol.stops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}.endpoint{align-items:center;gap:10px;padding:11px 15px;font-size:.88rem;color:var(--muted)}.endpoint,.stop{display:flex;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}.stop{gap:12px;align-items:flex-start;padding:15px;box-shadow:var(--shadow)}.stop .badge{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;margin-top:2px;box-shadow:0 0 14px rgba(109,141,255,.55)}.stop{transition:transform .15s ease,box-shadow .15s ease}.stop:hover{transform:translateY(-1px);box-shadow:0 12px 36px rgba(109,141,255,.18)}.stop-main{flex:1 1;min-width:0}.stop-name{font-weight:650}.stop-sub{font-size:.8rem;color:var(--muted)}.stop-eats{display:flex;flex-wrap:wrap;gap:3px 12px;margin-top:6px}.stop-eats .eat{font-size:.75rem;color:var(--text);opacity:.85}.stop-eats .eat.none{color:var(--muted);font-style:italic}.stop-price{text-align:right;flex-shrink:0}.stop-price .price{font-weight:750;font-size:1.05rem}.stop-price .fill{font-size:.8rem;color:var(--muted)}.map{height:560px;border-radius:var(--radius);border:1px solid var(--border);position:-webkit-sticky;position:sticky;top:20px;overflow:hidden;box-shadow:var(--shadow);background:var(--panel-solid)}.map-loading{display:flex;align-items:center;justify-content:center;color:var(--muted)}:root[data-theme=dark] .map .leaflet-tile{filter:brightness(.7) contrast(1.1) saturate(.7)}.stop-marker span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#3b63e0,#7a4de0);color:#fff;font-weight:700;font-size:13px;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}@media (max-width:1000px){.layout{grid-template-columns:1fr}aside.form{position:static}.results-grid{grid-template-columns:1fr}.map{height:420px;position:static}}@media (max-width:640px){.shell{padding:16px 12px 50px}.panel{padding:16px}.alts{grid-template-columns:1fr}.alt{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px}.summary{gap:10px 20px}.chip .chip-value{font-size:1rem}.chip.total .chip-value{font-size:1.3rem}.map{height:320px}.stop{flex-wrap:wrap}.stop-price{width:100%;display:flex;justify-content:space-between;align-items:baseline;text-align:left;padding-left:40px}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.alts .alt,.summary,.tips,ol.stops>li{animation:rise .5s cubic-bezier(.2,.7,.3,1) backwards}.alts .alt:nth-child(2){animation-delay:.07s}.alts .alt:nth-child(3){animation-delay:.14s}ol.stops>li:nth-child(2){animation-delay:.05s}ol.stops>li:nth-child(3){animation-delay:.1s}ol.stops>li:nth-child(4){animation-delay:.15s}ol.stops>li:nth-child(5){animation-delay:.2s}ol.stops>li:nth-child(6){animation-delay:.25s}ol.stops>li:nth-child(n+7){animation-delay:.3s}.route-flow{animation:route-dash 1.1s linear 8}@keyframes route-dash{to{stroke-dashoffset:-16}}@media (prefers-reduced-motion:reduce){.hero-bg video{display:none}*,:after,:before{animation:none!important;transition:none!important}}