/*! HTML5 Boilerplate v9.0.1 | MIT License | https://html5boilerplate.com/ */html{color:#222;font-size:1em;line-height:1.4}::-moz-selection{background:#6b7cff59;text-shadow:none}::selection{background:#6b7cff59;text-shadow:none}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}fieldset{border:0;margin:0;padding:0}textarea{resize:vertical}:root{--color-bg-primary: #0f0f1a;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #16213e;--color-bg-glass: rgba(15, 15, 26, .75);--color-surface: #1e1e36;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-text-primary: #f5f5fa;--color-text-secondary: #e2e2ee;--color-text-muted: #d0d0e0;--color-danger: #ef4444;--color-danger-deep: #dc2626;--color-danger-glow: rgba(239, 68, 68, .2);--color-danger-bg: rgba(239, 68, 68, .1);--color-warning: #f59e0b;--color-warning-deep: #d97706;--color-warning-glow: rgba(245, 158, 11, .2);--color-warning-bg: rgba(245, 158, 11, .1);--color-success: #22c55e;--color-success-deep: #16a34a;--color-success-glow: rgba(34, 197, 94, .2);--color-success-bg: rgba(34, 197, 94, .1);--color-accent: #6b7cff;--color-accent-light: #7f8fff;--color-accent-strong: #5262f5;--color-accent-glow: rgba(107, 124, 255, .2);--color-accent-bg: rgba(107, 124, 255, .14);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-2xs: .72rem;--font-size-xs: .8rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.05rem;--font-size-lg: 1.2rem;--font-size-xl: 1.4rem;--font-size-2xl: 1.75rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .25);--shadow-md: 0 2px 10px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .35);--shadow-glow-danger: 0 0 10px var(--color-danger-glow);--shadow-glow-warning: 0 0 10px var(--color-warning-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--header-height: 64px;--footer-height: 36px;--legend-width: 220px;--z-map: 1;--z-legend: 500;--z-header: 1000;--z-toast: 2000;--z-loading: 9999}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus-visible{color:var(--color-accent-light);text-decoration:underline}.loading-overlay{position:fixed;inset:0;z-index:var(--z-loading);display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);transition:opacity var(--transition-slow),visibility var(--transition-slow)}.loading-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.loading-text{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:.02em}@keyframes spin{to{transform:rotate(360deg)}}.app-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);height:var(--header-height);background:#0f0f1aeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}@supports not (backdrop-filter: blur(16px)){.app-header{background:var(--color-bg-secondary)}}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 var(--space-lg);max-width:100%}.header-brand{display:flex;flex-direction:column;gap:2px;min-width:0}.header-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;line-height:1.2}.header-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-stats{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.stat-badge{display:flex;flex-direction:column;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);min-width:80px;transition:box-shadow var(--transition-base)}.stat-badge:hover{box-shadow:var(--shadow-sm)}.stat-badge--danger{background:var(--color-danger-bg);border:1px solid rgba(239,68,68,.25)}.stat-badge--danger:hover{box-shadow:var(--shadow-sm)}.stat-badge--warning{background:var(--color-warning-bg);border:1px solid rgba(245,158,11,.25)}.stat-badge--warning:hover{box-shadow:var(--shadow-sm)}.stat-badge--success{background:#2bb85e1a;border:1px solid rgba(43,184,94,.25)}.stat-badge--success:hover{box-shadow:var(--shadow-sm)}.stat-badge--success .stat-count{color:var(--color-success)}.stat-count{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.stat-badge--danger .stat-count{color:var(--color-danger)}.stat-badge--warning .stat-count{color:var(--color-warning)}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}.header-update{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-left:var(--space-md);border-left:1px solid var(--color-border)}.update-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.header-update time{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.app-main{position:fixed;top:var(--header-height);left:0;right:0;bottom:var(--footer-height);z-index:var(--z-map)}.map-container{width:100%;height:100%}.leaflet-control-zoom{border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;overflow:hidden;box-shadow:var(--shadow-md)!important}.leaflet-control-zoom a{background-color:var(--color-bg-secondary)!important;color:var(--color-text-primary)!important;border-bottom-color:var(--color-border)!important;width:36px!important;height:36px!important;line-height:36px!important;font-size:18px!important;transition:background-color var(--transition-fast)!important}.leaflet-control-zoom a:hover{background-color:var(--color-bg-tertiary)!important}.leaflet-control-attribution{background:var(--color-bg-glass)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;color:var(--color-text-muted)!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-sm) 0 0 0!important;padding:2px 8px!important}.leaflet-control-attribution a{color:var(--color-text-secondary)!important}.leaflet-popup-content-wrapper{background:var(--color-bg-secondary)!important;color:var(--color-text-primary)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--color-border)!important;padding:0!important}.leaflet-popup-content{margin:0!important;font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;line-height:1.5!important}.leaflet-popup-tip{background:var(--color-bg-secondary)!important;border:1px solid var(--color-border)!important;box-shadow:none!important}.leaflet-popup-close-button{color:var(--color-text-muted)!important;font-size:20px!important;width:28px!important;height:28px!important;padding:4px!important;transition:color var(--transition-fast)!important}.leaflet-popup-close-button:hover{color:var(--color-text-primary)!important}.popup-station{padding:var(--space-md);min-width:220px}.popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.popup-name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.popup-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;flex-shrink:0}.popup-badge--total{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(239,68,68,.3)}.popup-badge--partial{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(245,158,11,.3)}.popup-address{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.popup-brand{display:inline-block;font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-surface);padding:2px 8px;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.popup-fuels-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.popup-fuel-item{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-2xs);white-space:nowrap;gap:6px}.popup-fuel-item--available{background:#22c55e14;border:1px solid rgba(34,197,94,.2);color:var(--color-text-primary)}.popup-fuel-item--available .popup-fuel-price-tag{color:var(--color-success);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.popup-fuel-item--unavailable{background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--color-text-muted)}.popup-fuel-item--unavailable .popup-fuel-name{text-decoration:line-through;opacity:.85}.popup-fuel-item--unavailable .popup-fuel-price-tag{color:var(--color-danger);font-weight:var(--font-weight-medium);font-size:var(--font-size-2xs);white-space:nowrap}.popup-fuel-name{font-weight:var(--font-weight-medium);white-space:nowrap}.popup-fuel-price-tag{white-space:nowrap;font-weight:var(--font-weight-semibold)}.popup-fuel-status{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);white-space:nowrap}@keyframes pulse-danger{0%{box-shadow:0 0 0 0 var(--color-danger-glow)}70%{box-shadow:0 0 0 7px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes pulse-warning{0%{box-shadow:0 0 0 0 var(--color-warning-glow)}70%{box-shadow:0 0 0 6px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.marker-icon{border-radius:50%;border:2px solid;cursor:pointer;transition:transform var(--transition-base)}.marker-icon:hover{transform:scale(1.3);z-index:1000!important}.marker-icon--total{background:var(--color-danger);border-color:var(--color-danger-deep);box-shadow:0 0 4px var(--color-danger-glow);animation:pulse-danger 2s ease-in-out infinite}.marker-icon--partial{background:var(--color-warning);border-color:var(--color-warning-deep);box-shadow:0 0 4px var(--color-warning-glow);animation:pulse-warning 2.5s ease-in-out infinite}.marker-icon--available{background:var(--color-success);border-color:var(--color-success-deep)}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large,.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:none!important}.cluster-icon{display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-family);font-weight:var(--font-weight-bold);color:var(--color-text-primary);background:var(--color-bg-secondary);border:2px solid var(--color-accent);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--transition-base)}.cluster-icon:hover{transform:scale(1.15)}.cluster-small{width:36px;height:36px;font-size:var(--font-size-sm);border-color:var(--color-accent)}.cluster-medium{width:44px;height:44px;font-size:var(--font-size-base);border-color:var(--color-accent)}.cluster-large{width:52px;height:52px;font-size:var(--font-size-md);border-color:var(--color-accent);border-width:3px}.legend-panel{position:fixed;bottom:calc(var(--footer-height) + var(--space-md));left:var(--space-md);z-index:var(--z-legend);width:var(--legend-width);background:#0f0f1aeb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;transition:transform var(--transition-spring),opacity var(--transition-base)}.legend-panel--collapsed{transform:translateY(calc(100% - 44px))}.legend-toggle{display:flex;align-items:center;justify-content:center;width:100%;height:40px;background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-md);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.legend-toggle:hover{background:#ffffff0d;color:var(--color-text-primary)}.legend-body{padding:var(--space-md)}.legend-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.06em}.legend-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.legend-marker{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:2px solid}.legend-marker--available{background:var(--color-success);border-color:var(--color-success-deep);box-shadow:none}.legend-marker--partial{background:var(--color-warning);border-color:var(--color-warning-deep);box-shadow:none}.legend-marker--total{background:var(--color-danger);border-color:var(--color-danger-deep);box-shadow:none}.legend-info{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.legend-info p{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.toast-container{position:fixed;top:calc(var(--header-height) + var(--space-md));right:var(--space-md);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-sm);max-width:380px;width:100%;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--transition-spring) forwards}.toast--removing{animation:toast-out var(--transition-base) forwards}.toast-icon{font-size:var(--font-size-lg);flex-shrink:0;line-height:1}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.toast-message{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}.situation-bar{position:fixed;top:calc(var(--header-height) + var(--space-md));left:50%;transform:translate(-50%);z-index:var(--z-header);background:#0f0f1aeb;backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-lg);box-shadow:var(--shadow-md);transition:opacity var(--transition-base),transform var(--transition-base);width:90%;max-width:500px}.situation-bar--hidden{opacity:0;pointer-events:none;transform:translate(-50%,-20px)}.situation-inner{display:flex;align-items:center;gap:var(--space-md)}.situation-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.situation-percent{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);min-width:32px;text-align:right}.situation-gauge{flex-grow:1;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.situation-fill{height:100%;background:var(--color-success);width:0%;transition:width 1s cubic-bezier(.34,1.56,.64,1),background-color .5s ease}.situation-percent{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);min-width:45px;text-align:right}.app-footer{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-header);height:var(--footer-height);display:flex;align-items:center;justify-content:center;background:#0f0f1aeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--color-border);padding:0 var(--space-md)}.app-footer p{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-footer a{color:var(--color-text-secondary)}.hidden,[hidden]{display:none!important}.visually-hidden{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visually-hidden.focusable:active,.visually-hidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.invisible{visibility:hidden}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}@media only screen and (max-width:767px){:root{--header-height: 110px;--legend-width: 180px}.header-inner{flex-direction:column;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.header-brand{align-items:center;text-align:center}.header-title{font-size:var(--font-size-lg)}.header-subtitle{display:none}.header-stats{gap:var(--space-sm)}.stat-badge{padding:2px var(--space-sm);min-width:64px}.stat-count{font-size:var(--font-size-md)}.header-update{display:none}.legend-panel{bottom:calc(var(--footer-height) + var(--space-sm));left:var(--space-sm)}.toast-container{left:var(--space-sm);right:var(--space-sm);max-width:none}}@media only screen and (max-width:399px){:root{--header-height: 100px}.header-title{font-size:var(--font-size-md)}.stat-label{display:none}}@media only screen and (min-width:768px){.stat-badge{min-width:100px}}@media only screen and (min-width:1200px){:root{--legend-width: 250px}}@media print{*,*:before,*:after{background:#fff!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}pre,blockquote{border:1px solid #999;page-break-inside:avoid}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.btn-compare-float{position:fixed;bottom:calc(var(--footer-height) + var(--space-md));left:50%;transform:translate(-50%);z-index:550;display:flex;align-items:center;gap:8px;padding:11px 24px;background:linear-gradient(135deg,#6b7cffe0,#5569ebe0);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(107,124,255,.55);border-radius:var(--radius-full);color:#fff;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.025em;white-space:nowrap;cursor:pointer;box-shadow:0 4px 18px #6b7cff66;animation:compare-pulse 4s ease-in-out infinite;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}@keyframes compare-pulse{0%,to{box-shadow:0 4px 18px #6b7cff61}50%{box-shadow:0 4px 28px #6b7cff99,0 0 18px #6b7cff2e}}.btn-compare-float:hover{transform:translate(-50%) translateY(-3px);background:linear-gradient(135deg,#7a8afff5,#6276f5f5);box-shadow:0 8px 32px #6b7cff99;animation:none}.btn-compare-float:active{transform:translate(-50%) translateY(-1px);box-shadow:0 4px 14px #6b7cff66}.btn-compare-icon{display:inline-flex;align-items:center;flex-shrink:0}.btn-compare-arrow{font-size:1.2em;opacity:.75;transition:transform var(--transition-fast),opacity var(--transition-fast);line-height:1}.btn-compare-float:hover .btn-compare-arrow{transform:translate(4px);opacity:1}@media only screen and (max-width:767px){.btn-compare-float{padding:10px 20px;font-size:var(--font-size-xs)}.btn-compare-text{display:inline}}.popup-header{display:block!important;margin-bottom:var(--space-sm)}.popup-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:4px}.popup-name{font-size:var(--font-size-md)!important;font-weight:var(--font-weight-semibold)!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup-badge{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px}.popup-address{display:flex!important;align-items:flex-start!important;gap:4px;font-size:var(--font-size-xs)!important;color:var(--color-text-muted)!important;line-height:1.4;flex-wrap:wrap;margin-top:2px}.popup-address span:last-child{flex:1;word-break:break-word}.btn-share-station{flex-shrink:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:14px;padding:2px 6px;transition:background var(--transition-fast),color var(--transition-fast);line-height:1}.btn-share-station:hover{background:#6b7cff26;color:var(--color-accent);border-color:#6b7cff66}.popup-actions{display:inline-flex;gap:4px;flex-shrink:0}.btn-fav-station{flex-shrink:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;padding:2px 6px;transition:background var(--transition-fast),color var(--transition-fast);line-height:1}.btn-fav-station:hover{background:#f59e0b26;color:var(--color-warning);border-color:#f59e0b66}.btn-fav-station.is-fav{color:var(--color-warning);border-color:#f59e0b66}.btn-fav-station.is-fav svg{fill:currentColor}.header-brand,.header-stats,.header-subtitle,.stat-badge,.stat-count,.stat-label{display:none!important}.header-inner{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-md);padding:0 var(--space-lg);height:100%}.header-left{display:flex;align-items:center;gap:var(--space-md)}.header-title{font-size:clamp(1rem,2vw,1.25rem)!important;font-weight:800!important;letter-spacing:-.02em;display:flex!important;align-items:center;gap:6px;margin:0;white-space:nowrap}.header-icon{display:inline-flex;align-items:center}.header-center{flex:1}.header-counters{display:flex;align-items:center;gap:0}.hstat{display:flex;align-items:center;gap:5px;padding:4px 10px}.hstat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.hstat--available .hstat-dot{background:var(--color-success)}.hstat--partial .hstat-dot{background:var(--color-warning)}.hstat--total .hstat-dot{background:var(--color-danger)}.hstat-count{font-size:var(--font-size-md);font-weight:800;line-height:1}.hstat--available .hstat-count{color:var(--color-success)}.hstat--partial .hstat-count{color:var(--color-warning)}.hstat--total .hstat-count{color:var(--color-danger)}.hstat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.hstat-sep{width:1px;height:20px;background:var(--color-border);flex-shrink:0}.header-right{display:flex;align-items:center;gap:var(--space-sm);justify-content:flex-end}.header-vdivider{display:block;width:1px;height:24px;background:var(--color-border);flex-shrink:0}.header-update{display:flex!important;flex-direction:column;align-items:flex-end;line-height:1.2}.header-update .update-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.header-update time{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary)}@media only screen and (max-width:640px){.header-inner{grid-template-columns:auto 1fr auto;padding:0 var(--space-sm);gap:var(--space-sm)}.header-title{font-size:1rem!important}.header-left{gap:var(--space-sm)}.hstat{padding:4px 6px;gap:4px}.hstat-label{display:none}.hstat-sep{height:14px}.header-update{display:none!important}}.situation-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color-success)}.situation-sep{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.situation-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.vehicle-modal{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-md);opacity:0;pointer-events:none;transition:opacity .3s ease}.vehicle-modal.visible{opacity:1;pointer-events:auto}.vehicle-modal-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl, 32px) var(--space-lg, 24px);max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px #00000080;transform:translateY(20px);transition:transform .3s ease}.vehicle-modal.visible .vehicle-modal-card{transform:translateY(0)}.vehicle-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--color-accent-bg);color:var(--color-accent);margin-bottom:var(--space-md)}.vehicle-modal-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.vehicle-modal-sub{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-lg, 24px) 0}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.vehicle-btn{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-sm) var(--space-xs);transition:border-color var(--transition-fast),background var(--transition-fast),transform var(--transition-fast);color:var(--color-text-primary)}.vehicle-btn:hover{border-color:var(--color-accent);background:#6b7cff1a;transform:translateY(-2px)}.vehicle-btn--active{border-color:var(--color-accent);background:#6b7cff26;box-shadow:0 0 0 2px #6b7cff4d}.vehicle-btn-icon{display:inline-flex;color:var(--color-accent);line-height:1}.vehicle-btn-label{font-size:var(--font-size-sm);font-weight:700}.vehicle-btn-sub{font-size:10px;color:var(--color-text-muted)}.btn-vehicle-skip{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);text-decoration:underline;padding:4px 8px;transition:color var(--transition-fast)}.btn-vehicle-skip:hover{color:var(--color-text-secondary)}.onboarding-features{list-style:none;margin:0 0 var(--space-lg, 24px) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm);text-align:left}.onboarding-features li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.onboarding-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-accent-bg);color:var(--color-accent);flex-shrink:0}.onboarding-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.btn-onboarding-primary{width:100%;padding:11px 16px;border:none;border-radius:var(--radius-full);background:var(--color-accent);color:#fff;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:700;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.btn-onboarding-primary:hover{background:var(--color-accent-strong, var(--color-accent));transform:translateY(-1px)}.btn-onboarding-secondary{width:100%;padding:10px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.btn-onboarding-secondary:hover{border-color:var(--color-accent);color:var(--color-text-primary)}@media only screen and (max-width:480px){.vehicle-grid{grid-template-columns:repeat(2,1fr)}.vehicle-modal-card{padding:var(--space-lg, 24px) var(--space-md)}}.fuel-select{position:relative}.fuel-select-btn{display:flex;align-items:center;gap:6px;background:#6b7cff1f;border:1px solid rgba(107,124,255,.3);border-radius:var(--radius-full);color:var(--color-accent);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:700;padding:6px 14px;transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.fuel-select-btn:hover,.fuel-select-btn[aria-expanded=true]{background:#6b7cff38;border-color:#6b7cff80}.fuel-select-chevron{transition:transform var(--transition-fast)}.fuel-select-btn[aria-expanded=true] .fuel-select-chevron{transform:rotate(180deg)}.fuel-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:220px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs);z-index:calc(var(--z-header) + 10)}.fuel-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);text-align:left;transition:background var(--transition-fast)}.fuel-option:hover{background:var(--color-accent-bg)}.fuel-option-label{font-weight:var(--font-weight-semibold);flex-shrink:0}.fuel-option-sub{flex:1;color:var(--color-text-muted);font-size:var(--font-size-2xs)}.fuel-option-check{opacity:0;color:var(--color-accent);flex-shrink:0}.fuel-option[aria-selected=true]{background:var(--color-accent-bg)}.fuel-option[aria-selected=true] .fuel-option-check{opacity:1}@media only screen and (max-width:640px){.fuel-select-btn{padding:4px 10px}}.data-status{position:fixed;bottom:calc(var(--footer-height) + var(--space-md) + 58px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-sm);background:var(--color-bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:6px 14px;font-size:var(--font-size-xs);color:var(--color-text-secondary);box-shadow:var(--shadow-md);z-index:var(--z-legend);white-space:nowrap}.data-status[hidden]{display:none}.data-status--done{color:var(--color-success);border-color:#22c55e4d}.data-status--done .data-status-spinner{display:none}.data-status--fail{color:var(--color-warning);border-color:#f59e0b4d}.data-status--fail .data-status-spinner{display:none}.data-status-spinner{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-accent-glow);border-top-color:var(--color-accent);animation:spin .8s linear infinite;flex-shrink:0}.btn-theme-toggle{background:none;border:none;cursor:pointer;font-size:var(--font-size-md);line-height:1;padding:4px 6px;border-radius:var(--radius-sm);transition:background var(--transition-fast);color:var(--color-text-primary)}.page-wrap .page-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.page-wrap .page-nav-brand{font-weight:700;font-size:var(--font-size-lg);color:var(--color-text-primary);text-decoration:none;letter-spacing:-.01em}.page-wrap .page-nav-brand .brand-accent{color:var(--color-accent)}.page-wrap .page-nav-links{display:flex;gap:var(--space-md);flex-wrap:wrap}.page-wrap .page-nav-links a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500}.page-wrap .page-nav-links a:hover{color:var(--color-text-primary)}.page-wrap .page-nav-links a[aria-current=page]{color:var(--color-accent);font-weight:600}.btn-help-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--color-text-secondary)}.btn-help-link:hover{color:var(--color-text-primary)}.onboarding-more{display:block;margin-top:var(--space-md);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);text-decoration:none}.onboarding-more:hover{color:var(--color-accent);text-decoration:underline}.btn-theme-toggle:hover{background:#ffffff14}:root.theme-light{--color-bg-primary: #f4f6fb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #e8ecf5;--color-text-primary: #1a1a2e;--color-text-secondary: #444466;--color-text-muted: #6b6b8a;--color-border: rgba(0, 0, 0, .12);--color-bg-glass: rgba(255, 255, 255, .82)}.theme-light .filters-panel{background:#fffffff7;border-color:#0000001a}.theme-light .stats-panel{background:#f4f6fbfa;border-left-color:#0000001a;color:var(--color-text-primary)}.theme-light .stats-panel-header,.theme-light .stats-controls,.theme-light .stats-table thead th{border-bottom-color:#00000014!important}.theme-light .stats-table thead th{background:#0000000a;color:var(--color-text-muted)}.theme-light .stats-table tbody tr:hover td{background:#00000008}.theme-light .station-row-clickable:hover td{background:#6b7cff0f}.theme-light .control-group select,.theme-light .control-group input[type=text],.theme-light .control-group input[type=number]{background:#fff;color:#1a1a2e;border-color:#0003}.theme-light .country-chip{border-color:#0003;color:var(--color-text-secondary)}.theme-light .country-chip.is-active{background:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent-strong, var(--color-accent))}.theme-light .control-group select option{background:#fff;color:#1a1a2e}.theme-light .btn-close{color:var(--color-text-primary)}.theme-light .btn-theme-toggle:hover{background:#0000000f}.theme-light .vehicle-modal{background:#00000059}.theme-light .vehicle-modal-card{box-shadow:0 20px 60px #00000026}.theme-light .trajet-panel{box-shadow:0 4px 24px #0000001f}.theme-light .situation-bar{box-shadow:0 1px 4px #00000026}.marker-price{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;font-weight:700;background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;pointer-events:none;box-shadow:0 1px 4px #0006}.marker-icon{position:relative}.map--show-prices .marker-price{display:block}.cluster-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.cluster-count{font-size:.85em;font-weight:700;line-height:1}.cluster-price{font-size:9px;font-weight:600;opacity:.85;line-height:1}.stats-panel-header{display:flex;align-items:center;justify-content:space-between}.stats-panel-actions{display:flex;align-items:center;gap:var(--space-sm)}.btn-export-csv{background:#6b7cff1f;border:1px solid rgba(107,124,255,.3);border-radius:var(--radius-sm);color:var(--color-accent);cursor:pointer;font-size:var(--font-size-xs);font-weight:600;padding:4px 10px;transition:background var(--transition-fast)}.btn-export-csv:hover{background:#6b7cff3d}.toast--info{background:#6b7cffeb!important;border-color:#6b7cff99!important}.btn-search-action--trajet.active{background:#6b7cff47;border-color:#6b7cff99}.trajet-panel{position:fixed;top:calc(var(--header-height) + 70px);left:var(--space-md);width:380px;max-height:calc(100vh - var(--header-height) - 85px);overflow:visible;background:#0f0f1af7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:590;padding:0;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-spring);display:flex;flex-direction:column}.trajet-panel.open{opacity:1;transform:translateY(0);pointer-events:auto}.trajet-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--color-border)}.trajet-panel-title{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em}.trajet-panel-title svg{color:var(--color-accent);flex-shrink:0;width:16px;height:16px}.trajet-close-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-xs);padding:4px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);line-height:1}.trajet-close-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.trajet-form{padding:14px 16px 16px;display:flex;flex-direction:column;gap:14px;flex-shrink:0}.trajet-result{border-top:1px solid var(--color-border);padding:14px 16px 16px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(107,124,255,.3) transparent;max-height:380px}.trajet-waypoints{position:relative;display:flex;flex-direction:column;gap:0;overflow:visible}.trajet-waypoint{display:flex;align-items:flex-start;gap:10px;position:relative}.trajet-waypoint-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;margin-top:11px;box-shadow:0 0 0 3px #6b7cff26}.trajet-waypoint-dot--from{background:var(--color-success);box-shadow:0 0 0 3px #22c55e2e}.trajet-waypoint-dot--to{background:var(--color-accent);box-shadow:0 0 0 3px #6b7cff33}.trajet-waypoint-input-wrap{flex:1;display:flex;align-items:center;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.trajet-waypoint-input-wrap:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px #6b7cff1f}.trajet-waypoint-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:var(--font-size-sm);padding:10px 12px;min-width:0}.trajet-waypoint-input::placeholder{color:var(--color-text-muted);opacity:.7}.trajet-gps-btn{flex-shrink:0;background:none;border:none;border-left:1px solid var(--color-border);padding:0 11px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.trajet-gps-btn:hover{color:var(--color-success);background:#22c55e14}.trajet-gps-btn.loading{animation:gps-pulse 1s infinite;color:var(--color-success)}@keyframes gps-pulse{0%,to{opacity:1}50%{opacity:.4}}.trajet-connector{display:flex;align-items:center;padding:4px 0 4px 5px;margin-left:1px}.trajet-connector-line{width:1.5px;height:16px;background:linear-gradient(to bottom,#22c55e80,#6b7cff80);border-radius:2px;flex-shrink:0}.trajet-swap-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);cursor:pointer;margin-left:auto;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),border-color var(--transition-fast)}.trajet-swap-btn:hover{background:#6b7cff29;border-color:#6b7cff80;color:var(--color-accent);transform:rotate(180deg)}.trajet-autocomplete{list-style:none;position:absolute;top:calc(100% + 4px);left:22px;right:0;margin:0;padding:4px 0;background:#0f0f1afc;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;max-height:200px;overflow-y:auto;z-index:700}.trajet-autocomplete li{padding:9px 12px;font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-sm);margin:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trajet-autocomplete li:hover,.trajet-autocomplete li[aria-selected=true]{background:#6b7cff26;color:var(--color-text-primary)}.trajet-autocomplete li strong{color:var(--color-accent);font-weight:600}.trajet-params{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trajet-param-group{display:flex;flex-direction:column;gap:5px}.trajet-param-group label{font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.trajet-param-group select,.trajet-param-group input{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:9px 12px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;box-sizing:border-box}.trajet-param-group select:focus,.trajet-param-group input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #6b7cff1f}.btn-trajet-calc{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:700;letter-spacing:.02em;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:0 4px 14px #6b7cff59}.btn-trajet-calc:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #6b7cff73}.btn-trajet-calc:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.trajet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.trajet-summary-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;background:#6b7cff14;border:1px solid rgba(107,124,255,.18);border-radius:var(--radius-md);text-align:center}.trajet-summary-chip svg{color:var(--color-accent);opacity:.85}.trajet-summary-chip strong{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);line-height:1}.trajet-summary-chip small{font-size:var(--font-size-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.trajet-cheapest-title{font-size:var(--font-size-2xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.trajet-station-card{background:#ffffff0a;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:8px;transition:border-color var(--transition-fast),background var(--transition-fast)}.trajet-station-card:last-child{margin-bottom:0}.trajet-station-card--best{background:#6b7cff14;border-color:#6b7cff59}.trajet-station-card:hover{border-color:#6b7cff66}.trajet-station-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.trajet-rank{font-size:var(--font-size-2xs);font-weight:700;padding:2px 7px;border-radius:var(--radius-full);letter-spacing:.04em;text-transform:uppercase}.trajet-rank--best{background:#22c55e33;color:var(--color-success)}.trajet-rank--2nd{background:var(--color-accent-bg);color:var(--color-accent)}.trajet-rank--3rd{background:#9ca3af26;color:var(--color-text-muted)}.trajet-station-dist{font-size:var(--font-size-2xs);color:var(--color-text-muted)}.trajet-station-name{font-weight:700;font-size:var(--font-size-xs);color:var(--color-text-primary);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trajet-station-addr{font-size:var(--font-size-2xs);color:var(--color-text-muted);margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trajet-station-price-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.trajet-station-price{font-size:var(--font-size-xs);color:var(--color-success);font-weight:600}.trajet-station-cost{font-size:var(--font-size-sm);font-weight:800;color:var(--color-text-primary)}.btn-trajet-goto{display:flex;align-items:center;gap:5px;width:100%;justify-content:center;background:#6b7cff1f;border:1px solid rgba(107,124,255,.3);border-radius:var(--radius-sm);color:var(--color-accent);font-size:var(--font-size-2xs);font-weight:700;padding:5px 10px;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-trajet-goto:hover{background:#6b7cff38;border-color:#6b7cff8c}.trajet-loading{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.trajet-spinner{width:28px;height:28px;border:2.5px solid rgba(107,124,255,.2);border-top-color:var(--color-accent);border-radius:50%;animation:trajet-spin .7s linear infinite}@keyframes trajet-spin{to{transform:rotate(360deg)}}.trajet-error{font-size:var(--font-size-xs);color:var(--color-danger);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:10px 12px;text-align:center}.trajet-no-station{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding:12px 0}.btn-popup-route{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:10px;padding:7px 10px;background:var(--color-accent-bg);border:1px solid rgba(107,124,255,.35);border-radius:var(--radius-sm);color:var(--color-accent);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-popup-route:hover{background:#6b7cff40;border-color:#6b7cff99;transform:translateY(-1px)}@media only screen and (max-width:767px){.trajet-panel{left:8px;right:8px;width:auto;top:calc(var(--header-height) + 58px)}}.stats-panel{position:absolute;top:0;right:-920px;width:880px;max-width:95vw;height:100vh;background:#1e1e2ef2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid rgba(255,255,255,.1);z-index:2000;transition:right .3s ease-in-out;display:flex;flex-direction:column;box-shadow:-5px 0 20px #00000080}.stats-panel.open{right:0}.stats-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.stats-panel-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600}.btn-close{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.btn-close:hover{background:#ffffff14}.stats-controls{padding:20px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.control-group{display:flex;flex-direction:column;gap:4px}.control-group label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.control-group select,.control-group input{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2);background:var(--color-surface);color:#fff;font-family:var(--font-family);appearance:none;-webkit-appearance:none;-moz-appearance:none}.control-group select{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FFFFFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px top 50%;background-size:10px auto;padding-right:30px}.control-group select option{background:var(--color-surface);color:#fff}.control-group select:focus,.control-group input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #6b7cff26}.country-chips{display:flex;gap:var(--space-sm)}.country-chip{flex:1;padding:7px 12px;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.country-chip:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.country-chip:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #6b7cff26}.country-chip.is-active{background:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent)}.stats-table-container{flex:1;overflow-y:auto;padding:0}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-table th{background:#28283ce6;position:sticky;top:0;text-align:left;padding:12px;cursor:pointer;user-select:none;border-bottom:1px solid rgba(255,255,255,.1)}.data-table th:hover{background:#3c3c50e6}.data-table th[aria-sort]{color:var(--color-accent)}.price-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.price-min{color:var(--color-success)}.price-max{color:var(--color-warning)}.count-cell{text-align:center;color:var(--color-text-muted)}.data-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05)}.data-table tr:hover td{background:#ffffff0d}.data-table tbody tr.row-clickable{cursor:pointer;transition:background var(--transition-fast)}.data-table tbody tr.row-clickable:hover td{background:#6b7cff14}.data-table tbody tr.row-clickable:hover td:last-child:after{content:" \2192";color:var(--color-accent);opacity:.6}.table-empty{text-align:center;padding:2rem!important;color:var(--color-text-muted)}.stats-detail-header{display:flex;align-items:center;gap:var(--space-md);padding:14px 20px;border-bottom:1px solid var(--color-border);background:#6b7cff0d}.btn-back{display:flex;align-items:center;gap:var(--space-xs);padding:6px 12px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.btn-back:hover{background:#6b7cff1a;border-color:#6b7cff66}.detail-info{display:flex;flex-direction:column;gap:2px;min-width:0}.detail-group-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.th-station{min-width:160px;cursor:pointer}.th-fuel{cursor:pointer;white-space:nowrap}.th-active-fuel{color:var(--color-accent)!important;background:#6b7cff14!important}.th-sorted{color:var(--color-accent)}.sort-arrow{opacity:.35;font-size:.85em;margin-left:2px;transition:opacity var(--transition-fast)}.sort-arrow.active{opacity:1;color:var(--color-accent)}th:hover .sort-arrow{opacity:.7}.station-row-clickable{cursor:pointer;transition:background var(--transition-fast)}.station-row-clickable:hover td{background:#6b7cff14}.map-hint{opacity:0;font-size:.85em;margin-left:4px;transition:opacity var(--transition-fast);vertical-align:middle}.station-row-clickable:hover .map-hint{opacity:.7}.station-name-cell{font-weight:var(--font-weight-medium);white-space:nowrap}.station-brand-badge{display:inline-block;font-size:var(--font-size-2xs);font-weight:var(--font-weight-regular);background:var(--color-surface);color:var(--color-text-muted);padding:1px 7px;border-radius:var(--radius-full);margin-left:6px;vertical-align:middle}.station-addr-cell{font-size:var(--font-size-xs);color:var(--color-text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-available{color:var(--color-success);font-weight:var(--font-weight-medium)}.price-unavailable{color:var(--color-danger);opacity:.75;text-decoration:line-through;text-decoration-color:#ef444466}.price-na{color:var(--color-text-muted);text-align:center}.active-fuel-col{background:#6b7cff0f}@media(max-width:600px){.stats-panel{right:0;bottom:-100vh;width:100%;border-left:none;border-top:1px solid rgba(255,255,255,.1);transition:bottom .3s ease-in-out}.stats-panel.open{right:0;bottom:0}}.map-search-area{position:fixed;top:calc(var(--header-height) + 14px);left:var(--space-md);z-index:600;width:480px;max-width:calc(100vw - 2 * var(--space-md))}.map-search-bar{display:flex;align-items:center;gap:var(--space-xs);height:46px;padding:0 var(--space-sm);background:#0f0f1af0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.map-search-bar:focus-within{border-color:var(--color-border-hover);box-shadow:var(--shadow-md),0 0 0 3px #6b7cff26}.search-icon{display:flex;align-items:center;opacity:.55;flex-shrink:0;color:var(--color-text-primary)}#map-search-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);padding:0 var(--space-xs);min-width:0}#map-search-input::placeholder{color:var(--color-text-muted)}.btn-search-action{position:relative;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-primary);padding:6px 8px;border-radius:var(--radius-sm);flex-shrink:0;transition:background var(--transition-fast)}.btn-search-action:hover{background:#ffffff14}.btn-search-action--trajet{display:inline-flex;align-items:center;gap:6px;background:#6b7cff26;border:1px solid rgba(107,124,255,.35);color:var(--color-accent);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:var(--font-weight-semibold);transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-search-action--trajet:hover{background:#6b7cff47;border-color:#6b7cff99;transform:translateY(-1px)}.btn-trajet-label{font-size:12px;font-weight:600;color:var(--color-accent)}@media only screen and (max-width:480px){.btn-trajet-label{display:none}}.btn-search-action--loading{animation:spin .8s linear infinite}.filters-badge,.favorites-badge{position:absolute;top:1px;right:1px;background:var(--color-accent);color:#fff;font-size:9px;font-weight:var(--font-weight-bold);line-height:1;padding:2px 3px;border-radius:var(--radius-full);min-width:13px;text-align:center;pointer-events:none}.search-results{list-style:none;margin:0;padding:0;background:#0f0f1afa;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.search-results-header{padding:6px var(--space-md) 4px;font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);pointer-events:none}.search-result-item{display:flex;align-items:center;gap:6px;padding:9px var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-icon{flex-shrink:0;font-size:var(--font-size-sm);opacity:.7}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#6b7cff1f;color:var(--color-text-primary)}.filters-panel{position:fixed;top:calc(var(--header-height) + 64px);left:var(--space-md);z-index:600;width:240px;background:#0f0f1af7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-spring)}.filters-panel.open{opacity:1;transform:translateY(0);pointer-events:auto}.filters-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.filters-panel-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.06em}.btn-filters-reset{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-family);font-size:var(--font-size-xs);padding:3px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.btn-filters-reset:hover{color:var(--color-text-primary);border-color:var(--color-border-hover)}.filter-section{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.filter-section:last-child{border-bottom:none;padding-bottom:var(--space-md)}.filter-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-sm)}.favorites-list{padding:var(--space-xs) 0;max-height:50vh;overflow-y:auto}.favorites-empty{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--space-lg) var(--space-md);margin:0;line-height:1.5}.favorite-row{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-md);border-bottom:1px solid var(--color-border)}.favorite-row:last-child{border-bottom:none}.favorite-go{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:none;padding:4px 0;cursor:pointer;text-align:left;font-family:var(--font-family)}.favorite-go:hover .favorite-label{color:var(--color-accent)}.favorite-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);transition:color var(--transition-fast)}.favorite-sub{font-size:var(--font-size-2xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.favorite-price{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.favorite-price--drop{color:var(--color-success)}.favorite-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-md);line-height:1;padding:4px 6px;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.favorite-remove:hover{color:var(--color-danger);background:var(--color-danger-bg, rgba(239, 68, 68, .12))}.filter-fuel-disabled-hint{font-size:var(--font-size-2xs);font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:1px 8px;margin-left:var(--space-xs);vertical-align:middle}.filter-checkboxes{display:flex;flex-direction:column;gap:7px}.filter-check{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);user-select:none}.filter-check:hover{color:var(--color-text-primary)}.filter-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1.5px solid var(--color-border-hover);border-radius:3px;background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:background var(--transition-fast),border-color var(--transition-fast)}.filter-check input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.filter-check input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.filter-check--available{color:var(--color-success)}.filter-check--partial{color:var(--color-warning)}.filter-check--total{color:var(--color-danger)}.filter-check--user-fuel{color:var(--color-accent);font-weight:600}.filter-fuel-disabled-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;margin:2px 0 6px}.leaflet-control-layers{background:#0f0f1af0!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.leaflet-control-layers-toggle{background-color:var(--color-bg-secondary)!important;background-image:none!important;width:36px!important;height:36px!important;border-radius:var(--radius-md)!important;display:flex!important;align-items:center!important;justify-content:center!important}.leaflet-control-layers-toggle:after{content:"\1f5fa";font-size:16px;line-height:1}.leaflet-control-layers-list{padding:var(--space-sm) var(--space-md)!important;min-width:170px!important}.leaflet-control-layers-base label,.leaflet-control-layers-overlays label{display:flex!important;align-items:center!important;gap:var(--space-sm)!important;padding:5px 0!important;cursor:pointer!important;color:var(--color-text-secondary)!important;font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;transition:color var(--transition-fast)!important;border-bottom:1px solid var(--color-border)!important}.leaflet-control-layers-base label:last-child,.leaflet-control-layers-overlays label:last-child{border-bottom:none!important}.leaflet-control-layers-base label:hover,.leaflet-control-layers-overlays label:hover{color:var(--color-text-primary)!important}.leaflet-control-layers-base input[type=radio],.leaflet-control-layers-overlays input[type=checkbox]{appearance:none!important;-webkit-appearance:none!important;width:14px!important;height:14px!important;border:1.5px solid var(--color-border-hover)!important;border-radius:50%!important;background:transparent!important;cursor:pointer!important;flex-shrink:0!important;position:relative!important;transition:border-color var(--transition-fast),background var(--transition-fast)!important;margin:0!important}.leaflet-control-layers-base input[type=radio]:checked,.leaflet-control-layers-overlays input[type=checkbox]:checked{background:var(--color-accent)!important;border-color:var(--color-accent)!important}.leaflet-control-layers-base input[type=radio]:checked:after{content:""!important;position:absolute!important;inset:3px!important;border-radius:50%!important;background:#fff!important}.leaflet-control-layers-separator{border-top-color:var(--color-border)!important;margin:var(--space-xs) 0!important}@media only screen and (max-width:767px){.map-search-area{width:calc(100vw - 2 * var(--space-md));top:calc(var(--header-height) + 10px)}.filters-panel{width:calc(100vw - 2 * var(--space-md));top:calc(var(--header-height) + 60px)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.header-icon svg,.search-icon svg,.btn-search-action svg,.btn-compare-icon svg,.btn-close svg,.btn-back svg,.legend-toggle-icon svg{display:block;flex-shrink:0}
