:root{--primary:#00e676;--primary-dim:#00e67633;--accent:#2979ff;--accent-dim:#2979ff33;--bg-dark:#0a0e14;--bg-surface:#131920;--bg-card:#1a2332;--bg-card-hover:#1f2b3d;--bg-elevated:#243044;--danger:#ff5252;--warning:#ffd740;--success:#69f0ae;--text-primary:#fff;--text-secondary:#89a;--text-muted:#567;--border:#1e2d3d;--border-light:#2a3a4a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px #00e67626;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0}html,body{overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;background:var(--bg-dark);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}html:has(.page-static){-webkit-user-select:text;user-select:text;height:auto!important;overflow:visible auto!important}html:has(.page-static) body{-webkit-user-select:text;user-select:text;height:auto!important;overflow:visible auto!important}input,textarea{-webkit-user-select:auto;user-select:auto}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{width:100%;height:100vh;position:relative;overflow:hidden}.top-bar{z-index:1100;padding:calc(12px + env(safe-area-inset-top))16px 12px;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.top-bar>*{pointer-events:auto}.search-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);transition:border-color var(--transition-fast);align-items:center;gap:10px;padding:8px 16px;display:flex}.search-bar:focus-within{border-color:var(--primary);box-shadow:var(--shadow-glow)}.search-bar .logo{letter-spacing:-.5px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;flex-shrink:0;font-size:18px;font-weight:800}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px;font-weight:500}.search-bar input::placeholder{color:var(--text-muted)}.search-bar .location-btn{border-radius:var(--radius-full);background:var(--primary-dim);cursor:pointer;width:36px;height:36px;color:var(--primary);transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.search-bar .location-btn:hover{background:var(--primary);color:var(--bg-dark);transform:scale(1.05)}.search-bar .location-btn.loading{animation:1.5s infinite pulse-glow}@keyframes pulse-glow{0%,to{box-shadow:0 0 #00e67666}50%{box-shadow:0 0 0 8px #00e67600}}.fuel-pills{scrollbar-width:none;-ms-overflow-style:none;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.fuel-pills::-webkit-scrollbar{display:none}.fuel-pill{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.fuel-pill:hover{border-color:var(--border-light);background:var(--bg-card-hover);color:var(--text-primary)}.fuel-pill.active{background:var(--primary);border-color:var(--primary);color:var(--bg-dark);box-shadow:var(--shadow-glow)}.fuel-pill .dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.vehicle-fuel-indicator{border-radius:var(--radius-full);background:var(--primary-dim);border:1px solid var(--primary);color:var(--primary);white-space:nowrap;letter-spacing:.3px;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:700;display:flex}.map-container{width:100%;height:100vh}.map-placeholder{background:var(--bg-dark);justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.map-placeholder:before{content:"";background:radial-gradient(circle at 30% 40%,#00e6760d 0%,#0000 50%),radial-gradient(circle at 70% 60%,#2979ff0d 0%,#0000 50%);position:absolute;inset:0}.map-placeholder .grid-bg{background-image:linear-gradient(var(--border)1px,transparent 1px),linear-gradient(90deg,var(--border)1px,transparent 1px);opacity:.3;background-size:60px 60px;position:absolute;inset:0}.map-loading{z-index:1;flex-direction:column;align-items:center;gap:16px;display:flex}.map-loading .spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-loading p{color:var(--text-secondary);font-size:14px;font-weight:500}.station-marker{border-radius:var(--radius-full);color:var(--bg-dark);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);white-space:nowrap;border:2px solid #fff3;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:flex;transform:translateY(-50%)}.station-marker:hover{z-index:10;transform:translateY(-50%)scale(1.15)}.station-marker.cheap{background:var(--success)}.station-marker.mid{background:var(--warning)}.station-marker.expensive{background:var(--danger)}.station-marker.selected{box-shadow:0 0 0 4px #00e6764d,var(--shadow-lg);z-index:20;transform:translateY(-50%)scale(1.2)}.user-marker{background:var(--accent);width:20px;height:20px;box-shadow:0 0 0 6px #2979ff40,var(--shadow-md);border:3px solid #fff;border-radius:50%;animation:2s infinite user-pulse}@keyframes user-pulse{0%,to{box-shadow:0 0 0 6px #2979ff40,var(--shadow-md)}50%{box-shadow:0 0 0 12px #2979ff1a,var(--shadow-md)}}.bottom-sheet-overlay{z-index:1200;max-height:45vh;transition:max-height var(--transition-slow);pointer-events:none;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.bottom-sheet-overlay.expanded{max-height:75vh}.bottom-sheet-overlay.collapsed{max-height:none}.bottom-sheet{background:var(--bg-surface);border-top:1px solid var(--border);border-radius:var(--radius-xl)var(--radius-xl)0 0;pointer-events:auto;max-height:inherit;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -4px 32px #00000080}.bottom-sheet .handle-area{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;padding:10px 0 4px;display:flex}.bottom-sheet .handle{border-radius:var(--radius-full);background:var(--border-light);width:36px;height:4px;transition:background var(--transition-fast)}.bottom-sheet .handle-area:hover .handle{background:var(--text-muted)}.sheet-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:2px 12px 8px;display:flex}.sheet-header .title-group{flex-direction:column;gap:2px;display:flex}.sheet-header h2{color:var(--text-primary);font-size:14px;font-weight:700}.sheet-header .subtitle{color:var(--text-secondary);font-size:12px}.sheet-header .sort-controls{gap:4px;display:flex}.sort-btn{border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 10px;font-size:11px;font-weight:600}.sort-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.sort-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.station-list{flex-direction:column;flex:1;gap:6px;padding:6px 12px 20px;display:flex;overflow-y:auto}.collapse-btn{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.collapse-btn:hover{color:var(--text-primary);border-color:var(--border-light);background:var(--bg-card-hover)}.sheet-collapsed-summary{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;padding:4px 16px 12px;font-size:13px;font-weight:600;display:flex}.sheet-collapsed-summary .collapsed-price{color:var(--success);margin-left:auto;font-weight:700}.station-card{border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;align-items:center;gap:10px;min-height:auto;padding:10px;display:flex;position:relative;overflow:visible}.station-card:before{content:"";border-radius:0 var(--radius-sm)var(--radius-sm)0;width:3px;transition:background var(--transition-fast);position:absolute;top:0;bottom:0;left:0}.station-card.cheap:before{background:var(--success)}.station-card.mid:before{background:var(--warning)}.station-card.expensive:before{background:var(--danger)}.station-card:hover{background:var(--bg-card-hover);border-color:var(--border-light);transform:translate(2px)}.station-card.selected{border-color:var(--primary);background:var(--bg-elevated);box-shadow:var(--shadow-glow)}.station-card .price-badge{border-radius:var(--radius-md);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:64px;padding:6px 4px;display:flex}.station-card .price-badge .amount{letter-spacing:-.5px;font-size:20px;font-weight:800;line-height:1}.station-card .price-badge.cheap .amount{color:var(--success)}.station-card .price-badge.mid .amount{color:var(--warning)}.station-card .price-badge.expensive .amount{color:var(--danger)}.station-card .price-badge .unit{color:var(--text-muted);margin-top:2px;font-size:10px}.station-card .info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.station-card .info .name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.station-card .info .address{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.station-card .info .meta{align-items:center;gap:10px;margin-top:2px;display:flex}.station-card .info .meta span{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.station-card .info .meta .distance{color:var(--accent);font-weight:600}.station-card .info .meta .schedule{color:var(--text-muted)}.station-card .navigate-btn{border-radius:var(--radius-full);background:var(--accent-dim);cursor:pointer;width:36px;height:36px;color:var(--accent);transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-self:center;align-items:center;display:flex}.station-card .navigate-btn:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.station-detail{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.station-detail .detail-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.station-detail .detail-header .back-btn{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.station-detail .detail-header .back-btn:hover{color:var(--text-primary);border-color:var(--border-light)}.station-detail .detail-header .detail-info{flex:1}.station-detail .detail-header .detail-info h2{font-size:18px;font-weight:800}.station-detail .detail-header .detail-info .detail-address{color:var(--text-secondary);margin-top:2px;font-size:13px}.station-detail .detail-header .detail-info .detail-meta{gap:12px;margin-top:6px;display:flex}.station-detail .detail-header .detail-info .detail-meta span{color:var(--text-muted);align-items:center;gap:4px;font-size:12px;display:flex}.prices-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.price-tile{border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition-fast);flex-direction:column;gap:2px;padding:12px;display:flex}.price-tile:hover{border-color:var(--border-light)}.price-tile .fuel-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.price-tile .fuel-price{letter-spacing:-.5px;font-size:22px;font-weight:800}.price-tile .fuel-price.cheap{color:var(--success)}.price-tile .fuel-price.mid{color:var(--warning)}.price-tile .fuel-price.expensive{color:var(--danger)}.price-tile .fuel-price.na{color:var(--text-muted);font-size:14px}.price-tile .fuel-unit{color:var(--text-muted);font-size:10px}.navigate-full-btn{border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--accent),#1565c0);color:#fff;cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 16px #2979ff4d}.navigate-full-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px #2979ff66}.route-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);flex-direction:column;gap:8px;padding:12px;display:flex}.route-bar .route-inputs{flex-direction:column;gap:6px;display:flex;position:relative}.route-bar .route-input-wrap{align-items:center;gap:8px;display:flex}.route-bar .route-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.route-bar .route-dot.origin{background:var(--primary)}.route-bar .route-dot.destination{background:var(--danger)}.route-bar .route-line{background:var(--border-light);width:1px;position:absolute;top:14px;bottom:14px;left:4.5px}.route-bar input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;flex:1;padding:8px 12px;font-size:13px}.route-bar input:focus{border-color:var(--primary)}.route-bar input::placeholder{color:var(--text-muted)}.route-bar .route-actions{gap:8px;display:flex}.route-bar .route-search-btn{border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),#00c853);color:var(--bg-dark);cursor:pointer;transition:all var(--transition-fast);border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:700;display:flex}.route-bar .route-search-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00e6764d}.route-bar .route-close-btn{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border);width:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.route-bar .route-close-btn:hover{color:var(--danger);border-color:var(--danger)}.route-bar .route-controls{align-items:center;gap:8px;display:flex}.deviation-slider{flex:1;align-items:center;gap:8px;display:flex}.deviation-slider label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.deviation-slider input[type=range]{appearance:none;background:var(--border);border-radius:var(--radius-full);cursor:pointer;outline:none;flex:1;height:4px}.deviation-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #2979ff66}.deviation-slider .deviation-value{color:var(--accent);text-align:right;min-width:36px;font-size:12px;font-weight:700}.my-location-btn{border-radius:var(--radius-full);background:var(--accent-dim);border:1px solid var(--accent);width:32px;height:32px;color:var(--accent);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.my-location-btn:hover{background:var(--accent);color:#fff;transform:scale(1.1)}.autocomplete-wrapper{flex:1;align-items:center;gap:8px;display:flex;position:relative}.autocomplete-wrapper input{flex:1}.autocomplete-spinner{color:var(--text-muted);position:absolute;right:10px}.autocomplete-dropdown{z-index:2000;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(20px);animation:.15s dropdown-slide;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 12px 32px #0006}@keyframes dropdown-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.autocomplete-item{width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;display:flex}.autocomplete-item:hover,.autocomplete-item.highlighted{background:var(--bg-card-hover)}.autocomplete-item+.autocomplete-item{border-top:1px solid var(--border)}.autocomplete-icon{color:var(--accent);flex-shrink:0}.autocomplete-text{flex-direction:column;gap:1px;min-width:0;display:flex}.autocomplete-main{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.autocomplete-secondary{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.station-card .deviation-badge{color:var(--accent);border-radius:var(--radius-full);white-space:nowrap;background:#2979ff1f;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.mode-toggle{z-index:1150;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:calc(42vh + 16px);right:16px}.mode-btn{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(16px);justify-content:center;align-items:center;display:flex}.mode-btn:hover{border-color:var(--border-light);color:var(--text-primary);transform:scale(1.05)}.mode-btn.active{background:var(--primary);border-color:var(--primary);color:var(--bg-dark);box-shadow:var(--shadow-glow)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-state .icon{border-radius:var(--radius-full);background:var(--primary-dim);width:56px;height:56px;color:var(--primary);justify-content:center;align-items:center;display:flex}.empty-state h3{color:var(--text-primary);font-size:16px;font-weight:700}.empty-state p{color:var(--text-secondary);max-width:280px;font-size:13px;line-height:1.5}.skeleton{background:linear-gradient(90deg,var(--bg-card)25%,var(--bg-card-hover)50%,var(--bg-card)75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{border-radius:var(--radius-lg);height:80px}.radius-control{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:6px 14px;display:flex}.radius-control label{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:600}.radius-control input[type=range]{appearance:none;background:var(--border);border-radius:var(--radius-full);cursor:pointer;outline:none;width:80px;height:4px}.radius-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 6px #00e6764d}.radius-control .radius-value{color:var(--primary);text-align:right;min-width:36px;font-size:12px;font-weight:700}@media (min-width:768px){.bottom-sheet-overlay{max-width:420px;max-height:calc(100vh - 140px);bottom:16px;left:16px;right:auto}.bottom-sheet{border-radius:var(--radius-xl);border:1px solid var(--border)}.mode-toggle{bottom:32px;right:32px}.top-bar{max-width:500px;padding:16px 20px}}@media (min-width:1024px){.top-bar{max-width:600px}.bottom-sheet-overlay{max-width:480px;bottom:24px;left:24px}}.station-card.cheapest{background:linear-gradient(135deg,var(--bg-card),#ffd7000d);border-color:#ffd70066}.station-card.cheapest:before{width:4px;background:linear-gradient(gold,#ffa000)!important}.station-card.cheapest:hover{background:linear-gradient(135deg,var(--bg-card-hover),#ffd70014);border-color:#ffd70099}.station-card .cheapest-crown{color:#1a2332;background:gold;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;margin-bottom:2px;display:flex}.station-card .cheapest-label{color:gold;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:800}.station-card .freshness{border-radius:var(--radius-full);background:#ffffff0d;align-items:center;gap:3px;padding:1px 6px;font-size:10px;font-weight:600;display:flex}.station-card .freshness-fresh{color:#69f0ae}.station-card .freshness-stale{color:#ffd740}.station-card .freshness-old{color:#ff5252}.freshness-banner{border-radius:var(--radius-md);align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:500;line-height:1.4;display:flex}.freshness-banner strong{font-weight:700}.freshness-banner-fresh{color:#69f0ae;background:#69f0ae1a;border:1px solid #69f0ae40}.freshness-banner-stale{color:#ffd740;background:#ffd7401a;border:1px solid #ffd74040}.freshness-banner-old{color:#ff5252;background:#ff52521a;border:1px solid #ff525240}.card-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.fav-btn{border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.fav-btn:hover{color:#ff5252;background:#ff52521a;border-color:#ff5252}.fav-btn.active{color:#ff5252;background:#ff525226;border-color:#ff5252}.fav-btn-detail{border:1px solid var(--border);background:var(--bg-card);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.fav-btn-detail:hover{color:#ff5252;background:#ff52521a;border-color:#ff5252}.fav-btn-detail.active{color:#ff5252;background:#ff525226;border-color:#ff5252;animation:.3s fav-pulse}@keyframes fav-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.price-badge .tank-cost{color:var(--accent);opacity:.9;margin-top:1px;font-size:9px;font-weight:600}.modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s modal-fade-in;display:flex;position:fixed;inset:0}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:85vh;animation:.25s modal-slide-up;overflow-y:auto;box-shadow:0 24px 48px #0006}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-primary);align-items:center;gap:8px;font-size:18px;font-weight:800;display:flex}.modal-close{background:var(--bg-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.modal-close:hover{background:var(--danger);color:#fff}.modal-body{padding:20px 24px}.login-modal{max-width:400px}.login-body{padding:32px 28px 28px}.login-header{text-align:center;margin-bottom:28px}.login-icon{background:linear-gradient(135deg,var(--primary-dim),#00e67614);width:56px;height:56px;color:var(--primary);border:1px solid #00e67633;border-radius:16px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.login-header h2{color:var(--text-primary);margin-bottom:6px;font-size:22px;font-weight:800}.login-header p{color:var(--text-secondary);font-size:14px;line-height:1.4}.login-alert{border-radius:var(--radius-md);margin-bottom:20px;padding:12px 14px;font-size:13px;font-weight:500;line-height:1.4}.login-alert-error{color:var(--danger);background:#ff52521a;border:1px solid #ff525233}.login-alert-success{color:var(--success);background:#00e6761a;border:1px solid #00e67633}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.login-field input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.login-field input::placeholder{color:var(--text-muted)}.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-dim);outline:none}.login-submit-btn{background:linear-gradient(135deg,var(--primary),#00c853);border-radius:var(--radius-md);width:100%;color:var(--bg-dark);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s;display:flex}.login-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #00e6764d}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-divider{text-align:center;margin:24px 0;position:relative}.login-divider:before{content:"";background:var(--border);height:1px;position:absolute;top:50%;left:0;right:0}.login-divider span{background:var(--bg-surface);color:var(--text-muted);padding:0 14px;font-size:13px;position:relative}.login-google-btn{color:#333;border-radius:var(--radius-md);cursor:pointer;background:#fff;border:1px solid #ddd;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.login-google-btn:hover:not(:disabled){box-shadow:var(--shadow-sm);background:#f8f8f8;border-color:#ccc;transform:translateY(-1px)}.login-google-btn:disabled{opacity:.6;cursor:not-allowed}.login-toggle-text{text-align:center;color:var(--text-muted);margin-top:24px;font-size:13px}.login-toggle-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:700;transition:color .15s}.login-toggle-btn:hover{color:var(--success)}.vehicle-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.vehicle-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:all .2s;display:flex}.vehicle-item:hover{background:var(--bg-card-hover);border-color:var(--accent)}.vehicle-item.active{border-color:var(--primary);background:#00e6760d}.vehicle-icon{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.vehicle-info{flex:1;min-width:0}.vehicle-name{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:700;display:block}.vehicle-details{color:var(--text-muted);font-size:11px;display:block}.vehicle-actions{align-items:center;gap:6px;display:flex}.active-badge{color:var(--primary);border-radius:var(--radius-full);background:var(--primary-dim);align-items:center;gap:3px;padding:3px 8px;font-size:10px;font-weight:700;display:flex}.icon-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.icon-btn.danger:hover{color:var(--danger);background:#ff525226}.vehicle-empty{text-align:center;color:var(--text-muted);padding:32px 20px}.vehicle-empty h3{color:var(--text-secondary);margin:12px 0 6px;font-size:16px;font-weight:700}.vehicle-empty p{font-size:13px;line-height:1.5}.vehicle-form h3{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:700}.form-group{margin-bottom:14px}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-group input,.form-group select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);outline:none}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238899AA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-actions{gap:10px;margin-top:20px;display:flex}.btn-secondary{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-primary{background:var(--accent);border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;display:flex}.btn-primary:hover{background:#448aff;transform:translateY(-1px)}.add-vehicle-btn{background:var(--bg-card);border:2px dashed var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.add-vehicle-btn:hover{border-color:var(--accent);color:var(--accent);background:#2979ff0d}.refuel-card{background:linear-gradient(135deg,var(--bg-card),#2979ff14);border-radius:var(--radius-md);border:1px solid #2979ff33;margin-bottom:12px;padding:14px 16px}.refuel-header{color:var(--accent);align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:700;display:flex}.refuel-stats{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.refuel-stat{text-align:center}.refuel-value{color:var(--text-primary);font-size:18px;font-weight:800;display:block}.refuel-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:10px;font-weight:600;display:block}.route-summary{border-radius:var(--radius-full);color:var(--accent);background:#2979ff1a;border:1px solid #2979ff40;align-items:center;gap:6px;width:fit-content;margin-top:8px;padding:6px 12px;font-size:12px;font-weight:700;display:flex}.spin{animation:1s linear infinite spin}.route-search-btn.loading{opacity:.7;cursor:wait}.route-search-btn:disabled{pointer-events:none}.discount-savings{color:var(--primary);background:var(--primary-dim);border-radius:var(--radius-full);align-items:center;gap:2px;margin-top:1px;padding:1px 5px;font-size:8px;font-weight:700;display:flex}.discount-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.discount-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:14px 16px;display:flex}.discount-icon{width:40px;height:40px;color:var(--primary);background:#00e6761a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.discount-info{flex:1;min-width:0}.discount-brand{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:700;display:block}.discount-detail{color:var(--primary);font-size:11px;font-weight:600;display:block}.brand-chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.brand-chip{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;padding:5px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s}.brand-chip:hover{border-color:var(--primary);color:var(--primary)}.brand-chip.active{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.discount-preview{border-radius:var(--radius-md);background:#00e6760d;border:1px solid #00e67626;margin-top:10px;padding:10px 14px}.discount-preview span{color:var(--text-secondary);font-size:12px;display:block}.discount-preview .preview-result{color:var(--primary);margin-top:4px;font-weight:600}.discount-preview strong{color:#fff;font-weight:800}.stats-modal{max-width:520px}.stats-tabs{border-bottom:1px solid var(--border);padding:0 24px;display:flex}.stats-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}.stats-tab:hover{color:var(--text-secondary)}.stats-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);flex-direction:column;align-items:center;gap:4px;padding:16px 12px;display:flex}.stat-card.primary{background:linear-gradient(135deg,var(--bg-card),#2979ff1a);color:var(--accent);border-color:#2979ff4d}.stat-value{color:var(--text-primary);font-size:22px;font-weight:800}.stat-label{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.stats-section{margin-bottom:20px}.stats-section h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:13px;font-weight:700}.monthly-bars{align-items:flex-end;gap:8px;height:140px;padding:10px 0;display:flex}.bar-item{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.bar-track{border-radius:var(--radius-sm)var(--radius-sm)0 0;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.bar-fill{background:linear-gradient(180deg,var(--accent),#2979ff66);border-radius:var(--radius-sm)var(--radius-sm)0 0;width:100%;min-height:4px;transition:height .5s}.bar-value{color:var(--text-primary);font-size:10px;font-weight:700}.bar-label{color:var(--text-muted);font-size:9px;font-weight:600}.record-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.record-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);gap:10px;padding:12px;display:flex}.record-card.cheap{color:var(--primary);border-color:#00e67633}.record-card.expensive{color:var(--danger);border-color:#ff525233}.record-title{text-transform:uppercase;letter-spacing:.3px;opacity:.8;font-size:10px;font-weight:600;display:block}.record-value{color:var(--text-primary);font-size:16px;font-weight:800;display:block}.record-detail{color:var(--text-muted);margin-top:2px;font-size:10px;display:block}.log-list{flex-direction:column;gap:2px;display:flex}.log-entry{background:var(--bg-card);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.log-entry:hover{background:var(--bg-card-hover)}.log-date{color:var(--text-muted);text-align:center;flex-shrink:0;width:44px;font-size:11px;font-weight:700}.log-info{flex:1;min-width:0}.log-station{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.log-detail{color:var(--text-muted);margin-top:1px;font-size:11px;display:block}.log-cost{flex-shrink:0;align-items:center;gap:6px;display:flex}.log-total{color:var(--accent);font-size:15px;font-weight:800}.refuel-preview{border-radius:var(--radius-md);background:#2979ff14;border:1px solid #2979ff33;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 16px;display:flex}.refuel-preview span{color:var(--text-secondary);font-size:13px}.refuel-preview .preview-total{color:var(--text-primary);font-size:22px;font-weight:800}.review-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out reviewFadeIn;display:flex;position:fixed;inset:0}@keyframes reviewFadeIn{0%{opacity:0}to{opacity:1}}.review-modal{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);width:100%;max-width:380px;animation:.4s cubic-bezier(.34,1.56,.64,1) reviewSlideUp;position:relative;overflow:hidden;box-shadow:0 24px 80px #0009,0 0 40px #00e67614}.review-modal:before{content:"";background:linear-gradient(90deg,var(--primary),var(--accent),var(--primary));background-size:200% 100%;height:3px;animation:3s ease-in-out infinite reviewShimmer;position:absolute;top:0;left:0;right:0}@keyframes reviewSlideUp{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reviewShimmer{0%,to{background-position:0%}50%{background-position:100%}}.review-close{border-radius:var(--radius-full);background:var(--bg-card);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.review-close:hover{color:var(--text-primary);border-color:var(--border-light);background:var(--bg-card-hover)}.review-content{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 24px 24px;display:flex}.review-emoji{margin-bottom:4px;font-size:48px;line-height:1}.review-emoji-bounce{animation:.6s cubic-bezier(.34,1.56,.64,1) reviewBounce}@keyframes reviewBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.review-title{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:800}.review-subtitle{color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.5}.review-subtitle strong{color:var(--text-primary);font-weight:700}.review-stars{justify-content:center;gap:8px;margin:12px 0 20px;display:flex}.review-star{color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.review-star:hover{transform:scale(1.2)rotate(5deg)}.review-star.active{color:gold;filter:drop-shadow(0 0 12px #ffd70066);transform:scale(1.1)}.review-cta{border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),#00c853);width:100%;color:var(--bg-dark);cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:14px 20px;font-size:15px;font-weight:700;transition:all .2s;display:flex;box-shadow:0 8px 24px #00e67633}.review-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #00e6764d}.review-cta:disabled{opacity:.5;cursor:not-allowed;filter:grayscale()}.review-cta-secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);box-shadow:none}.review-cta-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-light);box-shadow:var(--shadow-sm)}.review-textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:100px;color:var(--text-primary);resize:none;margin-bottom:20px;padding:12px;font-family:inherit;font-size:14px;transition:border-color .2s}.review-textarea:focus{border-color:var(--primary);outline:none}.review-later{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:600;transition:color .2s}.review-later:hover{color:var(--text-secondary)}.review-email{color:var(--primary);font-weight:600;text-decoration:none}.review-celebrate{animation:.5s ease-out reviewConfetti}@keyframes reviewConfetti{0%{transform:scale(.9)}50%{transform:scale(1.05)}to{transform:scale(1)}}.pro-pulse{animation:2s infinite pro-pulse-anim}@keyframes pro-pulse-anim{0%{transform:scale(1);box-shadow:0 0 #fdb931b3}70%{transform:scale(1.05);box-shadow:0 0 0 10px #fdb93100}to{transform:scale(1);box-shadow:0 0 #fdb93100}}
