:root{--background-color:#f7f9fc;--secondary-color:#4a3aff;--shadow-color:#0000001a;--success-color:#27ae60;--error-color:#c0392b;--input-background:#fff}[data-theme=dark]{--primary-color:#2ecc71;--secondary-color:#5a4aff;--text-color:#f5f5f5;--text-secondary-color:#aaa;--border-color:#444;--shadow-color:#0000004d;--success-color:#2ecc71;--error-color:#e74c3c;--input-background:#2d2d2d}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f9fc;background-color:var(--background-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,select,textarea{background-color:#fff;background-color:var(--input-background);border-color:#e0e0e0;border-color:var(--border-color);color:#333;color:var(--text-color);transition:background-color .3s ease,color .3s ease,border-color .3s ease}body.dark-mode{background-color:#121212;color:#f5f5f5}:root{--primary:#0b9748;--primary-hover:#0a8740;--primary-light:#0b97480d;--text-dark:#1c2530;--text-medium:#374151;--text-light:#6b7280;--error:#d8000c;--error-light:#ffe0e0;--shadow:#0000001a;--radius:8px;--card-shadow:0px 4px 25px #00000014}.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.login-card,.login-page{background-color:#fff;background-color:var(--white)}.login-card{border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 25px #00000014;box-shadow:var(--card-shadow);max-width:400px;overflow:hidden;padding:2rem;width:100%}.card-header{margin-bottom:1.5rem}.card-title{color:#1c2530;color:var(--text-dark);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.card-description{color:#6b7280;color:var(--text-light);font-size:.95rem}.card-content{gap:1.5rem}.card-content,.login-form{display:flex;flex-direction:column}.login-form{gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field label{color:#374151;color:var(--text-medium);font-size:.95rem;font-weight:500}.input-container{align-items:center;display:flex;position:relative;width:100%}.input-container svg{left:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-container input{background-color:#fff;background-color:var(--white);border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius);font-size:.95rem;height:44px;padding:0 12px 0 40px;transition:border-color .2s,box-shadow .2s;width:100%}.input-container input:focus{border-color:#0b9748;border-color:var(--primary);box-shadow:0 0 0 2px #0b97480d;box-shadow:0 0 0 2px var(--primary-light);outline:none}.password-toggle.text-button{background:#0000;border:none;color:#0b9748;color:var(--primary);cursor:pointer;font-size:.8rem;font-weight:600;padding:0;position:absolute;right:12px;text-transform:uppercase}.forgot-password{margin-top:-.5rem;text-align:right}.forgot-password a{color:#0b9748;color:var(--primary);font-size:.85rem;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.button-content{align-items:center;display:flex;gap:8px;justify-content:center}.spinner{height:20px;width:20px}.auth-button{align-items:center;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;height:44px;justify-content:center;transition:all .2s ease;width:100%}.auth-button.primary{background-color:#0b9748;background-color:var(--primary);color:#fff;color:var(--white)}.auth-button.primary:hover{background-color:#0a8740;background-color:var(--primary-hover)}.auth-button.primary:disabled{background-color:#6b7280;background-color:var(--text-light);cursor:not-allowed}.auth-button.google{background-color:#fff;background-color:var(--white);border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#1c2530;color:var(--text-dark)}.auth-button.google:hover{background-color:#0b97480d;background-color:var(--primary-light)}.auth-divider{align-items:center;color:#6b7280;color:var(--text-light);display:flex;margin:1.5rem 0;text-align:center}.auth-divider:after,.auth-divider:before{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);content:"";flex:1 1}.auth-divider span{font-size:.9rem;padding:0 1rem}.auth-footer{color:#374151;color:var(--text-medium);font-size:.95rem;margin-top:1.5rem;text-align:center}.auth-link{color:#0b9748;color:var(--primary);font-weight:500;text-decoration:none}.auth-link:hover{text-decoration:underline}@media (max-width:480px){.login-card{padding:1.5rem}}.signup-card{max-width:460px}.signup-form{gap:1rem}.form-message{color:#d8000c;color:var(--error)}.form-message,.password-hint{font-size:.8rem;margin-top:.25rem}.password-hint{color:#6b7280;color:var(--text-light)}.account-type-selector{display:flex;gap:1rem}.account-option{align-items:center;border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;flex:1 1;font-size:.95rem;gap:.5rem;padding:.75rem;transition:all .2s}.account-option.active,.account-option:hover{border-color:#0b9748;border-color:var(--primary)}.account-option.active{background-color:#0b97480d;background-color:var(--primary-light)}.account-option.active svg{color:#0b9748;color:var(--primary)}.checkbox-field{margin-top:.5rem}.checkbox-container{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-text{color:#374151;color:var(--text-medium);font-size:.9rem}.checkbox-text a{color:#0b9748;color:var(--primary);text-decoration:none}.checkbox-text a:hover{text-decoration:underline}.auth-success{align-items:center;background-color:#e6f7e9;color:#2e7d32;display:flex;font-size:.85rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.auth-success,.modal-container{border-radius:8px;border-radius:var(--radius)}.modal-container{background-color:#fff;background-color:var(--white);box-shadow:0 10px 25px #0000001a;max-width:400px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1rem 1.25rem}.modal-header h3{color:#1c2530;color:var(--text-dark);font-size:1.25rem;font-weight:600;margin:0}.modal-close{background:#0000;border:none;color:#6b7280;color:var(--text-light);cursor:pointer;line-height:0;padding:.25rem}.modal-body{padding:1.25rem}.modal-body p{color:#374151;color:var(--text-medium);margin-bottom:1rem;margin-top:0}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.modal-actions button{padding:.5rem 1rem}.forgot-link{background:none;border:none;color:#0b9748;color:var(--primary);cursor:pointer;font-size:.85rem;padding:0;text-decoration:none}.forgot-link:hover{text-decoration:underline}.spaced-input{letter-spacing:.3px;padding-left:36px!important}.add-charger-form{background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #00000014;max-width:600px;padding:2rem;position:relative;width:100%}.add-charger-form h2{margin-bottom:1.5rem;margin-top:0}.form-step h3{color:#0c5f2c;font-weight:600;margin-bottom:1rem;margin-top:0}.form-group label{font-size:.95rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:12px 15px;transition:border .3s,box-shadow .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0c5f2c;box-shadow:0 0 0 2px #0c5f2c1a;outline:none}.checkbox-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.checkbox-group label{align-items:center;display:flex;font-weight:400;margin-bottom:0}.checkbox-group input[type=checkbox]{margin-right:.5rem;width:auto}.map-container{border:1px solid #ddd;border-radius:16px;box-shadow:0 4px 12px #0000000d;height:300px;margin-bottom:1rem}.map-instruction{color:#666;margin-bottom:1rem}.selected-location{background-color:#f8f9fa;border-radius:4px;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.form-buttons{display:flex;justify-content:space-between;margin-top:1.5rem}.next-button,.submit-button{background-color:#0c5f2c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background-color .3s}.next-button:hover,.submit-button:hover{background-color:#094222}.back-button,.cancel-button{background-color:initial;border:1px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;font-weight:500;padding:12px 24px;transition:background-color .3s,border-color .3s}.back-button:hover,.cancel-button:hover{background-color:#f5f5f5;border-color:#ccc}.close-button{background-color:#f5f5f5;font-size:1.5rem;height:30px;position:absolute;right:1rem;top:1rem;width:30px}.rupee-input{align-items:center;display:flex;position:relative}.rupee-symbol{color:#333;font-size:1rem;left:10px;position:absolute;z-index:1}.rupee-input input{padding-left:25px;width:100%}.price-info{color:#666;display:block;font-size:.8rem;margin-top:5px}.image-preview{display:flex;flex-wrap:wrap;gap:10px;margin-top:.75rem}.image-preview img{border-radius:8px;box-shadow:0 2px 4px #0000001a;height:80px;object-fit:cover;transition:transform .2s;width:80px}.image-preview img:hover{transform:scale(1.05)}input[type=file]{background-color:#f9f9f9;border:1px dashed #ccc;border-radius:8px;padding:10px}.steps-indicator{display:flex;justify-content:center;margin-bottom:2rem}.step-dot{background-color:#e0e0e0;border-radius:50%;height:10px;margin:0 5px;width:10px}.step-dot.active{background-color:#0c5f2c;transform:scale(1.2)}.step-line{align-self:center;background-color:#e0e0e0;height:2px;width:30px}.step-line.active{background-color:#0c5f2c}.charger-list{overflow-x:auto;width:100%}.charger-list table{border-collapse:collapse;min-width:650px;width:100%}.charger-list td,.charger-list th{border-bottom:1px solid #eee;padding:.75rem;text-align:left}.charger-list th{color:#333;font-weight:500}.charger-list th,.charger-list tr:hover{background-color:#f8f9fa}.input-with-unit{align-items:center;display:flex;gap:.25rem}.input-with-unit input{border:1px solid #ddd;border-radius:4px;padding:.25rem;width:80px}.status-toggle{align-items:center;cursor:pointer;display:flex}.status-toggle input{margin-right:.5rem}.status{border-radius:4px;display:inline-block;font-weight:500;padding:.25rem .5rem}.status.available{background-color:#4caf501a;color:#2e7d32}.status.unavailable{background-color:#f443361a;color:#d32f2f}.cancel-button,.edit-button,.save-button{background-color:initial;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.25rem .5rem}.edit-button{border-color:#2196f3;color:#2196f3}.save-button{border-color:#4caf50;color:#4caf50}.cancel-button{border-color:#f44336;color:#f44336}@media (max-width:768px){.charger-list{font-size:.85rem}.action-buttons{flex-direction:column}}.bookings-list{width:100%}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-buttons button{background-color:initial;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.filter-buttons button.active{background-color:#4caf50;border-color:#4caf50;color:#fff}.bookings-list table{border-collapse:collapse;min-width:650px;width:100%}.bookings-list td,.bookings-list th{border-bottom:1px solid #eee;padding:.75rem;text-align:left}.bookings-list th{background-color:#f8f9fa;color:#333;font-weight:500}.booking-status{border-radius:4px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.status-confirmed{background-color:#2196f31a;color:#1976d2}.status-completed{background-color:#4caf501a;color:#2e7d32}.status-cancelled{background-color:#f443361a;color:#d32f2f}.status-pending{background-color:#ff98001a;color:#e65100}.complete-button,.confirm-button,.reject-button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;margin-right:.25rem;padding:.25rem .5rem}.confirm-button{background-color:#4caf50;color:#fff}.reject-button{background-color:#f44336;color:#fff}.complete-button{background-color:#2196f3;color:#fff}.no-bookings{color:#666;padding:2rem;text-align:center}.action-buttons{display:flex;gap:.5rem}@media (max-width:768px){.bookings-list{font-size:.85rem;overflow-x:auto}.filter-buttons{justify-content:center}.action-buttons{flex-direction:column}}.earnings-summary{width:100%}.earnings-stats{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.stat-card{background-color:#f1f8e9;border-left:4px solid #f93;border-radius:8px;box-shadow:0 1px 3px #0000001a;flex:1 1;min-width:150px;padding:1rem}.stat-card:nth-child(2){border-left-color:#fff}.stat-card:nth-child(3){border-left-color:#138808}.stat-card h4{color:#333;font-weight:500;margin-bottom:.5rem;margin-top:0}.stat-value{color:#333;font-size:1.5rem;font-weight:700;margin:0}.chart-container{height:250px;margin-bottom:2rem}.bar-chart{align-items:flex-end;display:flex;gap:10px;height:200px;padding-top:30px}.chart-column{align-items:center;display:flex;flex:1 1;flex-direction:column}.bar{background-color:#138808;border-radius:3px 3px 0 0;min-height:5px;position:relative;transition:height .3s;width:80%}.bar-value{font-size:.75rem;font-weight:500;left:0;position:absolute;right:0;text-align:center;top:-25px}.bar-label{color:#666;font-size:.8rem;margin-top:.5rem;text-align:center}.earnings-table{margin-bottom:2rem;overflow-x:auto}.earnings-table table{border-collapse:collapse;width:100%}.earnings-table td,.earnings-table th{border-bottom:1px solid #eee;padding:.75rem;text-align:left}.earnings-table th{background-color:#f8f9fa;color:#333;font-weight:500}.withdraw-section{background-color:#f0f7ff;border:1px solid #d0e8ff;border-radius:8px;margin-top:2rem;padding:1.5rem}.withdraw-section h3{color:#136fb6;margin-bottom:1rem;margin-top:0}.withdraw-button{background-color:#6a5acd;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:.5rem;padding:.75rem 1.5rem}.withdraw-button:disabled{background-color:#ccc;cursor:not-allowed}.withdraw-note{color:#666;font-size:.85rem;margin-top:.75rem}.payment-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.payment-option{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem}.payment-option:hover{background-color:#f9f9f9;border-color:#aaa}@media (max-width:768px){.earnings-stats{flex-direction:column}.bar-chart{overflow-x:auto;padding-bottom:1rem}.chart-column{min-width:60px}.bar-label{transform:rotate(-45deg);white-space:nowrap}}.host-dashboard{margin:0 auto;max-width:1200px;padding:1rem}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#333}.logout-btn{background-color:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.logout-button{background-color:initial;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;padding:.5rem 1rem}.dashboard-actions{margin-bottom:20px}.add-charger-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.error-message{border-radius:4px;color:#c62828;margin-bottom:20px}.dashboard-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.summary-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;min-width:180px;padding:1.5rem;text-align:center}.summary-card h3{color:#666;font-size:1rem;margin-bottom:.5rem;margin-top:0}.summary-value{color:#333;font-size:2rem;font-weight:700;margin:0}.dashboard-tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:1.5rem;overflow-x:auto}.tab-button{background-color:initial;border-bottom:2px solid #0000;color:#666;font-weight:500;min-width:100px;padding:.75rem 1.5rem;text-align:center}.tab-button.active{border-bottom-color:#4caf50;color:#4caf50}.dashboard-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1.5rem}.section-header{margin-bottom:1.5rem}.add-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem}.empty-state{color:#666;padding:3rem 1rem;text-align:center}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal{border-radius:8px;box-shadow:0 4px 8px #0003;max-width:600px;overflow:hidden;width:100%}.charger-form-container{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:20px}.charger-form{display:flex;flex-direction:column;gap:15px}.form-row{display:flex;gap:20px}.form-row .form-group{flex:1 1}.form-group label{margin-bottom:5px}.form-group input,.form-group select{font-size:16px;padding:10px}.checkbox-group{align-items:center;flex-direction:row;gap:10px}.checkbox-group input{margin-right:10px}.map-container{margin:15px 0}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.cancel-btn{background-color:#9e9e9e}.cancel-btn,.submit-btn{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px 20px}.submit-btn{background-color:#2196f3}.chargers-list h2{color:#333;margin-bottom:20px}.chargers-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.charger-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.charger-image{height:200px;overflow:hidden}.charger-image img{height:100%;object-fit:cover;width:100%}.charger-details{padding:15px}.charger-details h3{color:#333;margin-bottom:10px;margin-top:0}.charger-details p{color:#666;margin:5px 0}.charger-actions{border-top:1px solid #eee;display:flex;gap:10px;padding:15px}.edit-btn{background-color:#ffc107;color:#333}.delete-btn,.edit-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;padding:8px 16px}.delete-btn{background-color:#f44336;color:#fff}@media (max-width:768px){.dashboard-header{align-items:flex-start;gap:1rem}.dashboard-header,.dashboard-summary{flex-direction:column}.tab-button{min-width:80px;padding:.75rem 1rem}}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}:root{--background-color:#fff;--surface-color:#fff;--text-secondary-color:#666;--primary-dark-color:#094523;--accent-color:#4a90e2;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--transition-speed:0.3s;--transition-function:ease}@media (prefers-color-scheme:dark){:root{--background-color:#121212;--surface-color:#1e1e1e;--text-color:#f0f0f0;--text-secondary-color:#ccc;--border-color:#333;--primary-color:#2e8b57;--primary-dark-color:#3cb371;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080}}[data-theme=dark]{--background-color:#121212;--surface-color:#1e1e1e;--text-color:#f0f0f0;--text-secondary-color:#ccc;--border-color:#333;--primary-color:#2e8b57;--primary-dark-color:#3cb371;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080}.loading-overlay{align-items:center;background-color:#fffc;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;right:0;top:0;z-index:50}.loading-overlay .spinner{animation:spin 1s linear infinite;border:5px solid #0c5f2c1a;border-radius:50%;border-top-color:#0c5f2c;height:50px;margin-bottom:15px;width:50px}.error-message{background-color:#fff;box-shadow:0 4px 12px #0000001a;max-width:80%;padding:20px;z-index:50}.error-message p{color:#dc3545;font-weight:500;margin-bottom:15px}.error-message button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px}.error-message button:hover{background-color:#0069d9}.vehicle-missing-notice{align-items:center;background-color:#fff;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;max-width:90%;top:65px;z-index:15}.vehicle-missing-notice p{color:#666;font-size:14px;margin-bottom:10px}.vehicle-select-button{background-color:#0c5f2c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px}.vehicle-select-button:hover{background-color:#094523}.station-access-type-tag{background-color:#ffffffd9;border-radius:4px;font-size:.7rem;font-weight:600;padding:3px 8px;position:absolute;right:10px;top:10px;z-index:1}.driver-dashboard{background-color:#f7f9fc;color:#333;display:flex;flex-direction:column;font-family:Inter,sans-serif;height:100vh;min-height:100vh;overflow-x:hidden;position:relative}.driver-dashboard-mobile.dark-mode,.driver-dashboard.dark-mode,[data-theme=dark] .driver-dashboard,[data-theme=dark] .driver-dashboard-mobile{background-color:#1a1a1a;color:#e0e0e0}.dark-mode{background-color:#1a1a1a!important;color:#e0e0e0!important}.app-header{background-color:#fff;box-shadow:0 2px 10px #0000001a;padding:12px 0;z-index:1000}.dark-mode .app-header,[data-theme=dark] .app-header{background-color:#2d2d2d;box-shadow:0 2px 10px #0000004d;color:#e0e0e0}.header-container{padding:0 15px}.logo{cursor:pointer}.logo-text{color:#4a90e2;font-size:1.2rem}.mobile-nav{align-items:center;display:flex}.desktop-nav-links{display:none}.mobile-nav-btn{align-items:center;background:none;border:none;border-radius:50%;color:#555;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;margin-left:5px;padding:8px;width:40px}.mobile-nav-btn.active{background-color:#4a90e21a;color:#4a90e2}.mobile-nav-dropdown{position:relative}.mobile-dropdown-content{background-color:#fff;border-radius:10px;box-shadow:0 8px 16px #0000001a;display:none;min-width:180px;padding:10px 0;position:absolute;right:0;top:100%;z-index:1}.mobile-nav-dropdown:hover .mobile-dropdown-content{display:block}.mobile-dropdown-content a{color:#333;display:block;font-size:16px;padding:12px 16px;text-decoration:none}.mobile-dropdown-content a:hover{background-color:#f1f5f9}.mobile-search-bar{background:#fff;box-shadow:0 2px 5px #0000000d;left:0;padding:10px 15px;position:fixed;right:0;top:64px;z-index:900}.search-box{align-items:center;background-color:#f5f7fa;border:1px solid #e5e9f0;border-radius:20px;display:flex;padding:2px 2px 2px 15px}.search-icon{color:#888;font-size:14px;margin-right:10px}.search-input{background:#0000;flex:1 1;padding:10px 5px}.search-button{align-items:center;background-color:#4a90e2;border-radius:18px;display:flex;font-weight:600;height:36px;justify-content:center;transition:background-color .3s;width:36px}.dark-mode .search-box,[data-theme=dark] .search-box{background-color:#3d3d3d;border-color:#555}.dark-mode .search-input,[data-theme=dark] .search-input{color:#e0e0e0}.dark-mode .search-input::placeholder,[data-theme=dark] .search-input::placeholder{color:#999}.dark-mode .search-button,[data-theme=dark] .search-button{background-color:#5a9ff2}.dark-mode .search-button:hover,[data-theme=dark] .search-button:hover{background-color:#4a90e2}.mobile-filter-panel{background:#fff;box-shadow:-2px 0 10px #0000001a;height:100%;overflow-y:auto;position:fixed;right:-100%;top:0;transition:right .3s ease;width:85%;z-index:1100}.dark-mode .mobile-filter-panel,[data-theme=dark] .mobile-filter-panel{background:#2d2d2d;box-shadow:-2px 0 10px #0000004d}.dark-mode .mobile-filter-header,[data-theme=dark] .mobile-filter-header{border-bottom-color:#444}.dark-mode .close-filter-btn,.dark-mode .mobile-filter-header h3,[data-theme=dark] .close-filter-btn,[data-theme=dark] .mobile-filter-header h3{color:#e0e0e0}.mobile-filter-panel.open{right:0}.mobile-filter-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:15px 20px}.mobile-filter-header h3{font-size:1.1rem;margin:0}.close-filter-btn{background:none;border:none;color:#555;cursor:pointer;font-size:1.2rem}.mobile-filter-content{padding:15px}.city-tabs{margin-bottom:20px}.tabs-header{font-weight:600;margin-bottom:10px}.city-tab-scroll{display:flex;overflow-x:auto;padding-bottom:10px;scrollbar-color:#ddd #0000;scrollbar-width:thin}.city-tab-scroll::-webkit-scrollbar{height:4px}.city-tab-scroll::-webkit-scrollbar-thumb{background-color:#ddd}.city-tab{background:#fff;border:1px solid #e0e0e0;border-radius:15px;cursor:pointer;flex:0 0 auto;font-size:14px;margin-right:8px;padding:8px 15px}.city-tab.active{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.dark-mode .city-tab,[data-theme=dark] .city-tab{background:#3d3d3d;border-color:#555;color:#e0e0e0}.dark-mode .city-tab.active,[data-theme=dark] .city-tab.active{background-color:#5a9ff2;border-color:#5a9ff2}.vehicle-selector{margin-bottom:20px}.vehicle-selector h4{font-size:16px;margin-bottom:10px;margin-top:0}.vehicle-options{display:flex;gap:10px}.vehicle-option{align-items:center;border:1px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;padding:12px;position:relative;transition:all .2s}.vehicle-option input{opacity:0;position:absolute}.vehicle-option.active{background-color:#4a90e20d;border-color:#4a90e2}.dark-mode .vehicle-option,[data-theme=dark] .vehicle-option{background:#3d3d3d;border-color:#555;color:#e0e0e0}.dark-mode .vehicle-option.active,[data-theme=dark] .vehicle-option.active{background-color:#5a9ff21a;border-color:#5a9ff2}.vehicle-icon{align-items:center;color:#666;display:flex;font-size:20px;height:30px;justify-content:center;margin-bottom:8px;width:30px}.vehicle-option.active .vehicle-icon{color:#4a90e2}.vehicle-icon.two-wheeler:before{content:"\f21c";font-family:Font Awesome\ 5 Free;font-weight:900}.vehicle-icon.four-wheeler:before{content:"\f1b9";font-family:Font Awesome\ 5 Free;font-weight:900}.vehicle-option span{font-size:14px}.filter-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.apply-filters-button,.clear-filters-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:5px;justify-content:center;padding:12px;width:100%}.clear-filters-button{background-color:#f0f0f0;color:#555}.apply-filters-button{background-color:#4a90e2;color:#fff}.dark-mode .clear-filters-button,[data-theme=dark] .clear-filters-button{background-color:#444;color:#e0e0e0}.dark-mode .apply-filters-button,[data-theme=dark] .apply-filters-button{background-color:#5a9ff2}.main-content{height:100vh;padding-bottom:60px;padding-top:114px}.mobile-view-container{height:calc(100vh - 174px);position:relative}.mobile-view-container.map .map-view-container{display:block}.mobile-view-container.list .map-view-container,.mobile-view-container.map .list-view-container{display:none}.mobile-view-container.list .list-view-container{display:block}.map-view-container{align-items:center;background-color:#e0e0e0;border-right:1px solid #ddd;color:#777;display:flex;flex-basis:65%;font-size:1.2em;justify-content:center;position:relative}.map-container{background-color:#e5e3df;height:100%}.mobile-map-actions{bottom:20px;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0}.bottom-sheet-toggle{align-items:center;background-color:#4a90e2;border:none;border-radius:20px;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;display:flex;gap:10px;padding:10px 20px;pointer-events:auto}.bottom-sheet{background:#fff;border-radius:15px 15px 0 0;bottom:60px;box-shadow:0 -2px 10px #0000001a;display:flex;flex-direction:column;height:70%;left:0;position:fixed;right:0;transform:translateY(calc(100% - 60px));transition:transform .3s ease;z-index:900}.dark-mode .bottom-sheet,[data-theme=dark] .bottom-sheet{background:#2d2d2d;box-shadow:0 -2px 10px #0000004d}.dark-mode .bottom-sheet-header,[data-theme=dark] .bottom-sheet-header{border-bottom-color:#444}.dark-mode .bottom-sheet-header h3,[data-theme=dark] .bottom-sheet-header h3{color:#e0e0e0}.dark-mode .bottom-sheet-handle,[data-theme=dark] .bottom-sheet-handle{background-color:#555}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-header{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:15px 20px;position:relative;text-align:center}.bottom-sheet-handle{background-color:#ddd;border-radius:3px;height:5px;margin:0 auto 10px;width:40px}.bottom-sheet-header h3{font-size:1.1rem;margin:0}.bottom-sheet-content{flex:1 1;overflow-y:auto;padding:10px 15px}.bottom-sheet-stations{display:flex;flex-direction:column;gap:15px}.bottom-sheet-station-card{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;padding:12px}.dark-mode .bottom-sheet-station-card,[data-theme=dark] .bottom-sheet-station-card{background-color:#3d3d3d;box-shadow:0 2px 8px #0003}.dark-mode .station-info h4,[data-theme=dark] .station-info h4{color:#e0e0e0}.dark-mode .station-info p,[data-theme=dark] .station-info p{color:#999}.station-status-dot{border-radius:50%;height:12px;margin-right:12px;width:12px}.station-status-dot.available{background-color:#4caf50;box-shadow:0 0 5px #4caf5080}.station-status-dot.occupied{background-color:#f44336;box-shadow:0 0 5px #f4433680}.station-info{flex:1 1}.station-info h4{font-size:16px;margin:0 0 5px}.station-info p{color:#666;font-size:14px;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-quick-details{color:#555;display:flex;font-size:13px;gap:12px}.station-action{color:#999;margin-left:10px}.view-all-btn{background-color:initial;border:1px solid #4a90e2;border-radius:10px;color:#4a90e2;cursor:pointer;font-weight:500;margin-top:10px;padding:10px;text-align:center}.list-view-container{height:100%;overflow-y:auto}.list-header{align-items:center;background-color:#f7f9fc;display:flex;justify-content:space-between;padding:15px 15px 10px;position:sticky;top:0;z-index:10}.list-header h3{font-size:1.1rem;margin:0}.result-count{color:#666;font-size:14px}.mobile-stations-list{display:flex;flex-direction:column;gap:15px;padding:0 15px 20px}.mobile-station-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative}.mobile-station-card.selected{border-color:#4a90e2;box-shadow:0 2px 12px #4a90e233}.dark-mode .mobile-station-card,[data-theme=dark] .mobile-station-card{background-color:#3d3d3d;border-color:#555;box-shadow:0 2px 8px #0003}.dark-mode .mobile-station-card.selected,[data-theme=dark] .mobile-station-card.selected{border-color:#5a9ff2;box-shadow:0 2px 12px #5a9ff233}.dark-mode .station-header h4,[data-theme=dark] .station-header h4{color:#e0e0e0}.dark-mode .station-address,[data-theme=dark] .station-address{color:#999}.dark-mode .feature,[data-theme=dark] .feature{color:#ccc}.dark-mode .direction-btn,[data-theme=dark] .direction-btn{background-color:#555;color:#e0e0e0}.dark-mode .view-button,[data-theme=dark] .view-button{background-color:#5a9ff2}.station-status-indicator{border-radius:50%;height:10px;position:absolute;right:10px;top:10px;width:10px}.station-status-indicator[data-status=available]{background-color:#4caf50;box-shadow:0 0 5px #4caf5080}.station-status-indicator[data-status=occupied]{background-color:#f44336;box-shadow:0 0 5px #f4433680}.station-content{padding:15px}.station-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.station-header h4{font-size:16px;margin:0;padding-right:20px}.station-price{color:#4a90e2;font-size:14px;font-weight:600}.station-address{color:#666;font-size:14px;margin-bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.feature{align-items:center;color:#555;display:flex;font-size:13px;gap:5px}.feature.status{border-radius:10px;font-size:12px;padding:3px 8px}.feature.status.available{background-color:#4caf501a;color:#4caf50}.feature.status.occupied{background-color:#f443361a;color:#f44336}.mobile-station-actions{display:flex;gap:10px}.direction-btn,.view-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:14px;gap:5px;justify-content:center;padding:10px 0}.direction-btn{background-color:#f0f0f0;color:#555}.view-button{background-color:#4a90e2;color:#fff}.loading-spinner,.loading-stations,.no-results{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:3px solid #0000001a;border-left-color:#4a90e2;height:30px;margin-bottom:15px;width:30px}.no-results .fa{color:#ccc;margin-bottom:15px}.nearest-chargers-container{background-color:#fff;box-shadow:0 2px 8px #0000000d;margin-bottom:15px;padding:20px 15px 5px}.nearest-chargers-container h2{font-size:1.1rem;margin-bottom:15px;margin-top:0}.nearest-chargers{display:flex;gap:15px;overflow-x:auto;padding-bottom:10px;scrollbar-color:#ddd #0000;scrollbar-width:thin}.nearest-chargers::-webkit-scrollbar{height:4px}.nearest-chargers::-webkit-scrollbar-thumb{background-color:#ddd}.nearest-charger-card{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;flex-shrink:0;min-width:220px;padding:15px;position:relative}.nearest-charger-card h3{font-size:16px;margin-bottom:8px;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distance{color:#666;font-size:13px;margin-bottom:10px}.charger-quick-info{display:flex;flex-direction:column;font-size:13px;gap:5px;margin-bottom:15px}.price-tag{border-radius:10px;font-size:13px;font-weight:600;padding:3px 8px;position:absolute;right:15px;top:15px}.price-tag,.view-details-btn{background-color:#4a90e2;color:#fff}.view-details-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 0;width:100%}.mobile-charger-details{background-color:#fff;display:flex;flex-direction:column;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1200}.mobile-success-modal{background-color:#000000b3}.mobile-success-modal .modal-content{border-radius:12px;max-width:350px;padding:25px;width:90%}.mobile-footer-nav{background-color:#fff;border-top:1px solid #eee;bottom:0;display:flex;justify-content:space-around;left:0;padding:8px 0;position:fixed;right:0;z-index:1000}.mobile-footer-btn{align-items:center;background-color:initial;border:none;color:#777;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:12px;justify-content:center;padding:5px}.mobile-footer-btn i{font-size:18px;margin-bottom:5px}.mobile-footer-btn.active{color:#4a90e2}.dark-mode .mobile-footer-nav,[data-theme=dark] .mobile-footer-nav{background-color:#2d2d2d;border-top-color:#444}.dark-mode .mobile-footer-btn,[data-theme=dark] .mobile-footer-btn{color:#999}.dark-mode .mobile-footer-btn.active,[data-theme=dark] .mobile-footer-btn.active{color:#5a9ff2}@media (min-width:768px){.app-header{padding:15px 0}.header-container{margin:0 auto;max-width:1400px;padding:0 20px}.logo-text{font-size:1.5rem}.bottom-sheet,.mobile-filter-panel,.mobile-footer-nav,.mobile-nav,.mobile-search-bar{display:none}.desktop-nav-links{gap:25px}.desktop-nav-links,.nav-item{align-items:center;display:flex}.nav-item{color:#555;font-weight:500;gap:7px;text-decoration:none;transition:color .3s}.nav-item.active,.nav-item:hover{color:#4a90e2}.btn-logout{background-color:initial;border:1px solid #e0e0e0;border-radius:20px;color:#555;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s}.btn-logout:hover{background-color:#f5f5f5;border-color:#ff6b6b;color:#ff6b6b}.main-content{height:auto;padding-bottom:0;padding-top:80px}.dashboard-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:280px 1fr;margin:0 auto;max-width:1400px;padding:20px}.sidebar{display:flex;flex-direction:column;gap:20px}.panel{background-color:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;padding:20px}.mobile-view-container{height:auto}.mobile-view-container.list .list-view-container,.mobile-view-container.list .map-view-container,.mobile-view-container.map .list-view-container,.mobile-view-container.map .map-view-container{display:block}.map-container-wrapper{border-radius:15px;height:450px;margin-bottom:20px;overflow:hidden}.stations-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.search-container{margin:0 auto 30px;max-width:600px}.search-box{padding:5px 5px 5px 20px}.search-input{font-size:16px;padding:15px 5px}.search-button{border-radius:25px;height:auto;padding:0 20px;width:auto}.city-options{display:flex;flex-direction:column;gap:10px}.city-button{border-radius:10px;padding:10px 15px;text-align:left}}.dashboard-header{align-items:center;background-color:#f0f0f0;border-bottom:1px solid #ccc;display:flex;justify-content:space-between;padding:15px}.dashboard-header h1{font-size:1.5em;margin:0}.dashboard-nav a{color:#333;font-weight:700;margin-left:15px;text-decoration:none}.dashboard-nav a:hover{color:#007bff}.search-and-filters{background-color:#ffffffe6;border-bottom:1px solid #ddd;padding:10px;position:relative;z-index:10}.search-bar input{border:1px solid #ccc;border-radius:25px;box-sizing:border-box;font-size:1em;padding:12px 15px;width:100%}.filters{display:flex;gap:8px;margin-top:8px}.filters p{background-color:#f0f0f0;border-radius:20px;cursor:pointer;font-size:.9em;margin:0;padding:8px 12px}.main-content-area{display:flex;flex-grow:1;overflow:hidden}.map-view-container .mapboxgl-map{height:100%;width:100%}.mapboxgl-popup-content{border-radius:12px!important;box-shadow:0 4px 15px #00000026;overflow:hidden;padding:0!important;width:280px}.popup-content{padding:15px}.popup-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:5px;position:relative}.popup-header h3{color:#333;flex-grow:1;font-size:1.1rem;margin:0;padding-right:70px}.popup-access-tag{border-radius:4px;font-size:.7rem;font-weight:600;padding:3px 8px;position:absolute;right:0;top:0}.popup-access-tag.public{background-color:#28a7451a;color:#28a745}.popup-access-tag.captive,.popup-access-tag.private{background-color:#dc35451a;color:#dc3545}.popup-address{color:#666;font-size:.9rem;margin:0 0 10px}.popup-details{display:flex;flex-direction:column;gap:8px;margin:15px 0}.popup-detail-row{align-items:center;display:flex;font-size:.9rem}.popup-detail-label{color:#555;font-weight:600;margin-right:8px;min-width:90px}.popup-detail-value{color:#333}.popup-detail-value.available{color:#28a745;font-weight:600}.popup-detail-value.unavailable{color:#dc3545}.popup-charger-types{display:flex;flex-wrap:wrap;gap:5px}.popup-charger-badge{background-color:#e9ecef;border-radius:4px;color:#495057;font-size:.75rem;font-weight:600;padding:2px 6px}.popup-directions-button{align-items:center;background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;justify-content:center;margin-top:5px;padding:8px 12px;width:100%}.popup-directions-button:hover{background-color:#3a80d2}.popup-directions-button:disabled{background-color:#ccc;cursor:not-allowed}.compatible-text{color:#28a745}.compatible-text,.not-compatible-text{align-items:center;display:flex;font-size:.85rem;font-weight:600;margin:8px 0}.not-compatible-text{color:#ffc107}.station-item{cursor:pointer}.station-item:hover{background-color:#e9ecef}.driver-dashboard-mobile{background-color:#f7f9fc;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;height:100vh;overflow:hidden;position:relative;width:100vw}.map-view-full-container{background-color:#e0e0e0;flex-grow:1;height:calc(100% - 65px);position:relative}.search-and-filters-on-map{background-color:initial;border-radius:8px;left:10px;padding:5px;position:absolute;right:10px;top:10px;z-index:10}.search-bar-on-map{align-items:center;background-color:#fff;border-radius:25px;box-shadow:0 2px 6px #00000026;display:flex;margin-bottom:8px;padding:8px 12px;position:relative}.search-bar-on-map .search-icon-on-map{color:#777;margin-right:8px}.search-bar-on-map input{background-color:initial;border:none;flex-grow:1;font-size:16px;outline:none}.search-bar-on-map .filter-icon-on-map{color:#333;cursor:pointer;margin-left:8px}.filters-on-map{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.filter-chip{border:1px solid #ddd;color:#555;cursor:pointer;gap:5px}.filter-chip.active{background-color:#e0e0e0;border-color:#ccc;color:#333;font-weight:500}.map-action-button{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 2px 6px #00000026;color:#333;cursor:pointer;display:flex;height:44px;justify-content:center;position:absolute;width:44px;z-index:10}.recenter-button{bottom:80px;left:15px}.list-toggle-button{bottom:80px;right:15px}.user-location-marker{align-items:center;background-color:#007bff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 2px #007bff;color:#fff;display:flex;height:28px;justify-content:center;width:28px}.user-location-marker:after{content:"\f1b9";font-family:Font Awesome\ 5 Free,FontAwesome;font-size:14px;font-weight:900;line-height:1}.station-marker{align-items:center;border-radius:50%;box-shadow:0 1px 3px #0006;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;width:24px}.station-marker.available{background-color:#28a745}.station-marker.occupied{background-color:#dc3545}.station-marker.unknown{background-color:#6c757d}.mapboxgl-popup-content{border-radius:6px!important;padding:10px!important}.station-popup h4{color:#333;font-size:1em;margin:0 0 5px}.station-popup p{color:#555;font-size:.85em;margin:3px 0}.map-token-error{color:red;padding:20px;text-align:center}.bottom-navigation{align-items:center;background-color:#fff;bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:65px;justify-content:space-around;left:0;padding:0 10px;position:fixed;right:0;z-index:100}.bottom-nav-item{align-items:center;background-color:initial;border:none;color:#777;cursor:pointer;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;padding:6px 0;position:relative;transition:all .2s ease}.bottom-nav-item span{font-size:12px;font-weight:500;margin-top:4px}.bottom-nav-item:before{background-color:#0c5f2c;border-radius:3px 3px 0 0;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:width .2s ease;width:0}.bottom-nav-item.active{color:#0c5f2c}.bottom-nav-item.active:before{width:40%}.bottom-nav-item:active{background-color:#0000000d}.bottom-nav-item .ripple{animation:ripple .6s linear;background-color:#0000001a;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}.dashboard-header,.dashboard-nav,.driver-dashboard,.list-view-container,.main-content-area,.map-view-container:not(.map-view-full-container),.search-and-filters,.station-details-placeholder,.station-item:hover{display:none}.map-view-full-container{display:block!important}.driver-dashboard-mobile .mapboxgl-ctrl-bottom-right{margin-bottom:75px!important}.station-marker.compatible{background-color:#00c853;border:2px solid #00a74a;overflow:visible;position:relative;z-index:2}.compatibility-icon{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;color:#00c853;font-size:10px;padding:2px;position:absolute;right:-8px;top:-8px}.compatibility-notice{background-color:#00c8531a;color:#00c853}.compatibility-notice,.incompatibility-notice{align-items:center;border-radius:4px;display:flex;font-weight:600;margin-top:8px;padding:5px 8px}.incompatibility-notice{background-color:#f443361a;color:#f44336}.filter-chip:disabled{cursor:not-allowed;opacity:.6}.loading-overlay{background-color:#ffffffe6;border-radius:8px;box-shadow:0 4px 12px #0000001a}.error-message,.loading-overlay{left:50%;padding:15px 25px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:10}.error-message{background-color:#f44336cc;box-shadow:0 4px 12px #0003;color:#fff}.vehicle-missing-notice{animation:fade-in .3s ease-in-out;background-color:#000000b3;border-radius:8px;bottom:100px;box-shadow:0 4px 12px #0003;color:#fff;font-size:14px;left:50%;max-width:80%;padding:12px 20px;position:absolute;text-align:center;transform:translateX(-50%);z-index:9}@keyframes fade-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.main-view-area{flex-grow:1;height:100%;position:relative}.map-view-full-container .main-view-area>.mapboxgl-map{height:100%!important;width:100%!important}.stations-list-container{height:100%;overflow-y:auto;padding:15px}.station-list-item{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;cursor:pointer;margin-bottom:10px;padding:10px 15px}.station-list-item h3{color:#333;font-size:1.1rem;margin:0 0 5px}.station-list-item p{color:#666;font-size:.9rem;margin:0 0 5px}.station-list-item .compatible-text{color:green;font-weight:700}.station-list-item .not-compatible-text{color:orange}.nearby-stations-bar{align-items:center;background-color:#ffffffe6;border-radius:12px;bottom:10px;box-shadow:0 -2px 10px #0000001a;display:flex;flex-direction:column;gap:8px;left:50%;max-width:600px;padding:10px;position:absolute;transform:translateX(-50%);width:calc(100% - 40px);z-index:10}.nearby-stations-bar h4{color:#555;font-size:.9rem;font-weight:600;margin:0 0 8px}.nearby-buttons-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}.nearby-station-button{align-items:center;background-color:#4a90e2;border:none;border-radius:20px;box-shadow:0 1px 3px #00000026;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:6px;padding:8px 12px;transition:background-color .2s ease}.nearby-station-button:hover{background-color:#357abd}.nearby-station-button .distance-badge{background-color:#00000026;border-radius:10px;color:#fff;font-size:.7rem;padding:2px 6px}@media (max-width:600px){.nearby-stations-bar{bottom:5px;width:calc(100% - 20px)}.nearby-station-button{font-size:.75rem;padding:6px 10px}}.nearby-stations-carousel-container{background-color:initial;bottom:65px;box-shadow:none;display:flex;justify-content:center;left:0;margin-bottom:0;padding:0;position:absolute;right:0;z-index:10}.nearby-station-cards-scrollable{-ms-overflow-style:none;background-color:initial;display:flex;gap:12px;overflow-x:auto;padding:0 10px;scrollbar-width:none;width:100%}.nearby-station-cards-scrollable::-webkit-scrollbar{display:none}.nearby-station-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;margin-bottom:8px;max-width:340px;min-width:280px;overflow:hidden;transform:translateY(0);transition:transform .2s ease-out,box-shadow .2s ease-out}[data-theme=dark] .nearby-station-card,html .dark-mode .nearby-station-card,html[data-theme=dark] .nearby-station-card{background-color:#3d3d3d!important;box-shadow:0 4px 12px #0000004d!important}[data-theme=dark] .nearby-station-card:hover,html .dark-mode .nearby-station-card:hover,html[data-theme=dark] .nearby-station-card:hover{box-shadow:0 6px 16px #0006!important}.nearby-station-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-3px)}.card-content-wrapper{display:flex;gap:10px;min-height:80px;padding:12px}.card-left{flex-shrink:0}.station-brand-icon-placeholder{align-items:center;background-color:#e0e0e0;border-radius:8px;color:#555;display:flex;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}[data-theme=dark] .station-brand-icon-placeholder,html .dark-mode .station-brand-icon-placeholder,html[data-theme=dark] .station-brand-icon-placeholder{background-color:#555!important;color:#ccc!important}.card-main-details{display:flex;flex-direction:column;flex-grow:1;justify-content:center;overflow:hidden}.card-main-details h3{color:#222;font-size:1rem;font-weight:600;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .card-main-details h3,html .dark-mode .card-main-details h3,html[data-theme=dark] .card-main-details h3{color:#e0e0e0!important}.station-address-line{color:#666;font-size:.8rem;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .station-address-line,html .dark-mode .station-address-line,html[data-theme=dark] .station-address-line{color:#999!important}.station-availability{align-items:center;display:flex;font-size:.85rem;font-weight:500}.station-availability.status-available{color:#2e7d32}.station-availability.status-unavailable{color:#c62828}.available-check-icon{font-size:.9em;margin-left:5px}.card-right-details{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;justify-content:space-between;text-align:right}.station-rating-placeholder{align-items:center;background-color:#f0f0f0;border-radius:4px;color:#333;display:inline-flex;font-size:.8rem;font-weight:600;margin-bottom:4px;padding:3px 6px}[data-theme=dark] .station-rating-placeholder,html .dark-mode .station-rating-placeholder,html[data-theme=dark] .station-rating-placeholder{background-color:#555!important;color:#e0e0e0!important}.station-rating-placeholder.actual-rating{background-color:#4caf50;color:#fff}.station-rating-placeholder .star-icon{color:#fbc02d;margin-left:3px}.station-distance{color:#777;font-size:.8rem;margin-bottom:6px}[data-theme=dark] .station-distance,html .dark-mode .station-distance,html[data-theme=dark] .station-distance{color:#aaa!important}.station-charger-types{display:flex;gap:4px;justify-content:flex-end}.charger-type-badge{background-color:#e8eaf6;color:#3f51b5;font-size:.7rem;padding:2px 6px;text-transform:uppercase}[data-theme=dark] .charger-type-badge,html .dark-mode .charger-type-badge,html[data-theme=dark] .charger-type-badge{background-color:#4a5568!important;color:#90cdf4!important}.stations-list-view-container{background-color:#f4f6f8;height:100%;overflow-y:auto;padding:10px}.station-cards-list{display:flex;flex-direction:column;gap:12px}.station-list-card-item{background-color:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;gap:10px;padding:12px;position:relative;transition:box-shadow .2s ease-in-out}.station-list-card-item:hover{box-shadow:0 4px 12px #0000001f}.list-card-left{align-items:center;display:flex;flex-shrink:0}.list-station-brand-icon{align-items:center;background-color:#e0e0e0;border-radius:8px;color:#555;display:flex;font-size:1.5rem;font-weight:700;height:48px;justify-content:center;width:48px}.list-card-main{display:flex;flex-direction:column;flex-grow:1;justify-content:center;overflow:hidden}.list-station-name{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 3px}.list-station-address,.list-station-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-station-address{color:#7f8c8d;font-size:.8rem;margin:0 0 6px}.list-station-availability{align-items:center;display:flex;font-size:.85rem;font-weight:500}.list-station-availability.available{color:#27ae60}.list-station-availability.unavailable{color:#c0392b}.list-station-availability .icon{font-size:.9em;margin-left:5px}.list-card-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;min-width:80px;text-align:right}.list-station-access{border-radius:4px;font-size:.7rem;font-weight:500;padding:3px 7px;position:absolute;right:8px;text-transform:capitalize;top:8px}.list-station-access.public{background-color:#2ecc7126;color:#27ae60}.list-station-access.captive{background-color:#e74c3c1a;color:#c0392b}.list-station-rating{align-items:center;background-color:#ecf0f1;border-radius:4px;color:#34495e;display:inline-flex;font-size:.85rem;font-weight:600;margin-top:20px;padding:3px 6px}.list-station-rating .star{color:#f39c12;font-size:.9em;margin-left:3px}.list-station-new-tag{background-color:#3498db;border-radius:4px;color:#fff;display:inline-block;font-size:.7rem;margin-top:4px;padding:2px 6px}.list-station-distance{color:#7f8c8d;font-size:.8rem;margin-top:4px}.list-station-chargers{display:flex;gap:5px;margin-top:auto;padding-top:5px}.list-station-chargers .type-badge{background-color:#bdc3c7;border-radius:3px;color:#2c3e50;font-size:.7rem;font-weight:500;padding:2px 7px;text-transform:uppercase}.list-empty-message,.list-error-message,.list-loading-message{color:#777;font-size:1rem;padding:30px;text-align:center}.stations-list-view-container{padding-bottom:70px}.clear-search-button{align-items:center;background:none;border:none;color:#aaa;cursor:pointer;display:flex;justify-content:center;margin-right:4px;padding:4px}.clear-search-button:hover{color:#666}.search-results-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.search-result-item{border-bottom:1px solid #f0f0f0}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f5f5f5}.search-result-icon{color:#666;font-size:18px}.search-result-name{color:#333;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-loading{color:#666;font-size:14px;padding:15px;text-align:center}.map-search-container{display:flex;flex-direction:column;gap:10px;left:10px;padding:0;position:absolute;right:10px;top:10px;z-index:15}.location-search-input{align-items:center;background-color:#fff;border-radius:30px;box-shadow:0 1px 6px #0000001a;display:flex;height:42px;padding:0 15px}.location-search-input input{background:#0000;border:none;color:#555;flex-grow:1;font-size:14px;outline:none;padding:8px 5px}.location-search-input input::placeholder{color:#aaa}.search-icon{color:#999;font-size:16px;margin-right:8px}.filter-chips-row{-ms-overflow-style:none;display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;padding-left:10px;scrollbar-width:none}.filter-chips-row::-webkit-scrollbar{display:none}.filter-chip{align-items:center;background-color:#fff;border:none;border-radius:20px;box-shadow:0 1px 3px #0000001a;color:#444;display:flex;flex-shrink:0;font-size:13px;gap:6px;height:34px;padding:6px 12px;white-space:nowrap}.filter-chip:active{background-color:#f5f5f5}.vehicle-chip{background-color:#fffffff2;padding-right:8px;position:relative}.vehicle-chip-icon{color:#666;font-size:14px}.dropdown-icon{color:#888;font-size:11px;margin-left:5px}.filter-chip.active{background-color:#f8f8f8}.available-toggle{padding-left:32px;position:relative}.toggle-circle{background-color:#4caf50;border-radius:50%;height:14px;left:10px;position:absolute;top:50%;transform:translateY(-50%);width:14px}.driver-map-control-buttons{bottom:180px;display:flex;flex-direction:column;gap:10px;position:absolute;right:20px;width:auto;z-index:20}.driver-map-control-btn{align-items:center;background-color:#fff;border:none;border-radius:8px;box-shadow:0 2px 8px #0003;color:#333;cursor:pointer;display:flex;font-weight:600;padding:10px 15px;transition:transform .2s,box-shadow .2s}.driver-map-control-btn:hover{box-shadow:0 4px 12px #00000040;transform:translateY(-2px)}.driver-map-control-btn:active{box-shadow:0 2px 4px #00000026;transform:translateY(1px)}.driver-map-control-btn .btn-icon{font-size:18px;margin-right:8px}.driver-map-control-btn.list-stations-btn{background-color:#0c5f2c;color:#fff}.driver-map-control-btn.live-location-btn{background-color:#fff;border:1px solid #0c5f2c;color:#0c5f2c}@media (max-width:768px){.driver-map-control-buttons{bottom:180px;gap:8px;right:15px;z-index:20}.driver-map-control-btn{border-radius:6px;font-size:13px;padding:8px 12px}.driver-map-control-btn .btn-icon{font-size:16px;margin-right:6px}}@media (max-width:480px){.driver-map-control-btn .btn-text{display:none}.driver-map-control-btn{padding:10px}.driver-map-control-btn .btn-icon{font-size:20px;margin-right:0}.driver-map-control-buttons{bottom:150px;right:15px;z-index:20}}.skeleton-station-card{background-color:#f5f5f5;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:12px;overflow:hidden;padding:15px;position:relative}.skeleton-header{height:24px;margin-bottom:15px;width:70%}.skeleton-content,.skeleton-header{background-color:#e0e0e0;border-radius:4px;position:relative}.skeleton-content{height:80px}.skeleton-content:after,.skeleton-header:after,.skeleton-station-card:after{animation:skeleton-loading 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff80,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes skeleton-loading{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.map-view-full-container,.stations-list-view-container{transition:opacity .3s ease,transform .3s ease}.view-enter{opacity:0;transform:translateY(10px)}.view-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.view-exit{opacity:1}.view-exit-active{opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}.available-status{color:#006400!important;font-weight:600}.unavailable-status{color:#8b0000!important;font-weight:600}.status-available{color:#006400!important}.status-unavailable{color:#8b0000!important}.station-list-card-item{margin-bottom:16px;padding:16px}.detail-item{margin-bottom:8px}.btn-action,.map-control-button,.popup-directions-button{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}@media (prefers-color-scheme:dark){.driver-dashboard-mobile{background-color:var(--background-color);color:var(--text-color)}.enhanced-station-details,.station-list-card-item{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color)}.enhanced-filter-button,.filter-chip{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary-color)}.enhanced-filter-button.active,.filter-chip.active{background-color:var(--primary-color);color:#fff}.skeleton-content,.skeleton-header,.skeleton-station-card{background-color:#2a2a2a}.skeleton-content:after,.skeleton-header:after,.skeleton-station-card:after{background:linear-gradient(90deg,#0000,#32323280,#0000)}.station-address,.station-address-line{color:var(--text-secondary-color)}.mapboxgl-popup-content{background-color:var(--surface-color);color:var(--text-color)}.mapboxgl-popup-tip{border-bottom-color:var(--surface-color)}}[data-theme=dark] .driver-dashboard-mobile{background-color:var(--background-color);color:var(--text-color)}[data-theme=dark] .enhanced-station-details,[data-theme=dark] .station-list-card-item{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color)}[data-theme=dark] .enhanced-filter-button,[data-theme=dark] .filter-chip{background-color:var(--surface-color);border:1px solid var(--border-color);color:var(--text-secondary-color)}[data-theme=dark] .enhanced-filter-button.active,[data-theme=dark] .filter-chip.active{background-color:var(--primary-color);color:#fff}[data-theme=dark] .skeleton-content,[data-theme=dark] .skeleton-header,[data-theme=dark] .skeleton-station-card{background-color:#2a2a2a}[data-theme=dark] .skeleton-content:after,[data-theme=dark] .skeleton-header:after,[data-theme=dark] .skeleton-station-card:after{background:linear-gradient(90deg,#0000,#32323280,#0000)}[data-theme=dark] .station-address,[data-theme=dark] .station-address-line{color:var(--text-secondary-color)}[data-theme=dark] .mapboxgl-popup-content{background-color:var(--surface-color);color:var(--text-color)}[data-theme=dark] .mapboxgl-popup-tip{border-bottom-color:var(--surface-color)}.station-photos{overflow:hidden;position:relative}.station-photos img{cursor:zoom-in;transition:transform .3s ease}.station-photos img.zoomed{cursor:zoom-out;transform:scale(1.5)}.error-action-indicator{align-items:center;background-color:#ffebee;border-radius:4px;color:#c62828;display:flex;margin:8px 0;padding:8px 12px}.error-action-indicator svg{margin-right:8px}@media (prefers-color-scheme:dark){.error-action-indicator{background-color:#c6282833;color:#ef9a9a}}.enhanced-filter-button.active,.filter-chip.active{overflow:hidden;position:relative}.enhanced-filter-button.active:after,.filter-chip.active:after{animation:pulse 2s infinite;background-color:#fff;bottom:0;content:"";height:2px;left:0;position:absolute;width:100%}.pull-to-refresh-indicator{align-items:center;background-color:#f5f5f5;border-radius:0 0 8px 8px;box-shadow:0 2px 4px #0000001a;color:#333;display:flex;font-size:14px;justify-content:center;margin-bottom:8px;padding:12px}.refresh-spinner{margin-right:8px}.rotating{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pull-arrow{animation:pull-pulse 1.5s infinite;font-size:18px;margin-right:8px}@keyframes pull-pulse{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}@media (prefers-color-scheme:dark){.pull-to-refresh-indicator{background-color:#2a2a2a;color:#e0e0e0}}[data-theme=dark] .pull-to-refresh-indicator{background-color:#2a2a2a;color:#e0e0e0}@media (max-width:768px){.booking-cta,.btn-action,.close-details,.enhanced-filter-button,.filter-chip,.photo-nav button,.popup-directions-button{min-height:44px;min-width:44px}.filter-chips-row{gap:8px}.nearby-station-card,.station-list-card-item{margin-bottom:10px;padding:14px}.photo-nav button{font-size:18px;padding:8px 12px}}.enhanced-station-details.mobile-sheet{background-color:#fff;border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -4px 20px #00000026;left:0;max-height:90vh;opacity:0;overflow-y:auto;overscroll-behavior:contain;position:fixed;right:0;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease,border-radius .3s ease;will-change:transform,opacity,border-radius;z-index:1000}.enhanced-station-details.mobile-sheet:before{background-color:#e0e0e0;border-radius:4px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:50px;z-index:1}.enhanced-station-details.mobile-sheet.open{opacity:1;transform:translateY(0)}.enhanced-station-details.mobile-sheet.open:after{animation:fadeIn .3s ease;background-color:#0006;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.enhanced-station-details.mobile-sheet.expanded{border-radius:0;max-height:100vh}.enhanced-station-details.mobile-sheet .details-section:active{background-color:#00000008;transition:background-color .15s ease}@media (prefers-color-scheme:dark){.enhanced-station-details.mobile-sheet{background-color:#1e1e1e}.enhanced-station-details.mobile-sheet:before{background-color:#555}.enhanced-station-details.mobile-sheet .details-section:active{background-color:#ffffff0d}}[data-theme=dark] .enhanced-station-details.mobile-sheet{background-color:#1e1e1e}[data-theme=dark] .enhanced-station-details.mobile-sheet:before{background-color:#555}[data-theme=dark] .enhanced-station-details.mobile-sheet .details-section:active{background-color:#ffffff0d}@media (min-width:769px) and (max-width:1024px){.station-list-card-item{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.card-header{grid-column:1/-1}.station-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}}.view-enter,.view-exit{transition:opacity .3s ease,transform .3s ease}.station-marker{transition:transform .2s ease,box-shadow .2s ease}.station-marker:hover{box-shadow:0 0 8px #0000004d;transform:scale(1.2);z-index:10}.error-action-indicator{animation:slide-in-top .3s ease forwards}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.map-control-buttons{display:none!important}.return-to-map-btn{align-items:center;background-color:#0c5f2c;border:none;border-radius:50px;bottom:75px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-weight:600;gap:8px;padding:10px 20px;position:fixed;right:15px;transition:transform .2s ease,box-shadow .2s ease;z-index:10}.return-to-map-btn:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-3px)}.return-to-map-btn:active{box-shadow:0 1px 4px #0003;transform:translateY(1px)}.location-permission-warning{align-items:flex-start;animation:slide-in-top .4s ease forwards;background-color:#fffffff2;border-radius:12px;box-shadow:0 4px 15px #00000026;display:flex;left:50%;max-width:400px;overflow:hidden;padding:15px;position:absolute;top:80px;transform:translateX(-50%);width:90%;z-index:20}.location-permission-warning .warning-content{flex:1 1}.location-permission-warning h3{color:#333;font-size:16px;margin:0 0 6px}.location-permission-warning p{color:#666;font-size:14px;line-height:1.4;margin:0 0 12px}.enable-location-btn{align-items:center;background-color:#0c5f2c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 15px;transition:background-color .2s ease}.enable-location-btn:hover{background-color:#0a4722}@media (prefers-color-scheme:dark){.location-permission-warning{background-color:#1e1e1ef2}.location-permission-warning h3{color:#f0f0f0}.location-permission-warning p{color:#ccc}}[data-theme=dark] .location-permission-warning{background-color:#1e1e1ef2}[data-theme=dark] .location-permission-warning h3{color:#f0f0f0}[data-theme=dark] .location-permission-warning p{color:#ccc}.location-permission-warning.list-view-warning{border:1px solid #f0f0f0;left:auto;margin:15px;max-width:none;position:relative;top:auto;transform:none;width:auto}.location-permission-warning .warning-icon{color:#f39c12;font-size:24px;margin-right:15px;margin-top:3px}.user-location-marker{height:40px;position:relative;width:40px;z-index:5}.user-location-dot{align-items:center;background-color:#ff5c42;border-radius:50%;box-shadow:0 0 10px #ff5c4299;display:flex;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px;z-index:2}.car-icon{background-color:#fff;height:22px;mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4 109.1 192h293.8l-26.1-74.6c-4.5-12.8-16.6-21.4-30.2-21.4H165.4c-13.6 0-25.7 8.6-30.2 21.4zm-95.6 79.4L74.8 96.3C88.3 57.8 124.6 32 165.4 32h181.2c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2v192c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-48H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M135.2 117.4 109.1 192h293.8l-26.1-74.6c-4.5-12.8-16.6-21.4-30.2-21.4H165.4c-13.6 0-25.7 8.6-30.2 21.4zm-95.6 79.4L74.8 96.3C88.3 57.8 124.6 32 165.4 32h181.2c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2v192c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-48H96v48c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z'/%3E%3C/svg%3E");mask-position:center;-webkit-mask-position:center;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;transform:rotate(-90deg);width:22px}.user-location-pulse{animation:pulse-ring 2s infinite;background-color:#ff5c4266;border-radius:50%;height:70px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:70px;z-index:1}@keyframes pulse-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.8)}70%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.route-marker{align-items:center;display:flex;justify-content:center}.destination-marker,.origin-marker{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.stop-marker{align-items:center;background-color:#ff9800;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;display:flex;height:24px;justify-content:center;width:24px}.stop-number{color:#fff;font-size:12px;font-weight:700}@media (prefers-color-scheme:dark){.stop-marker{border-color:#333}}[data-theme=dark] .stop-marker{border-color:#333}.route-marker.origin-marker{color:#0c5f2c}.route-marker.destination-marker,.route-marker.origin-marker{filter:drop-shadow(1px 1px 2px rgba(0,0,0,.4));font-size:32px}.route-marker.destination-marker{color:#d32f2f}.route-marker.stop-marker{align-items:center;background-color:#fff;border:2px solid #06f;border-radius:50%;box-shadow:0 2px 4px #0003;color:#06f;display:flex;font-weight:700;height:26px;justify-content:center;width:26px}@media (max-width:768px){.route-marker.destination-marker,.route-marker.origin-marker{font-size:24px}.route-marker.stop-marker{font-size:12px;height:20px;width:20px}}.enhanced-station-details.mobile-sheet .details-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin:15px 0;padding:5px 15px 15px;position:relative}.enhanced-station-details.mobile-sheet .details-header h2{align-items:center;color:#0c5f2c;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0;overflow:hidden;padding:0 30px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%}.enhanced-station-details.mobile-sheet .close-details{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:22px;height:40px;justify-content:center;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:background-color .2s;width:40px}.enhanced-station-details.mobile-sheet .close-details:hover{background-color:#f0f0f0;color:#333}.enhanced-station-details.mobile-sheet .details-content{padding:0 15px 20px}.enhanced-station-details.mobile-sheet .station-photos{height:200px;margin:0 -15px 15px;overflow:hidden;position:relative}.enhanced-station-details.mobile-sheet .station-photos img{height:100%;object-fit:cover;width:100%}.enhanced-station-details.mobile-sheet .photo-nav{bottom:10px;display:flex;justify-content:space-between;left:0;padding:0 15px;position:absolute;right:0;z-index:1}.enhanced-station-details.mobile-sheet .photo-nav button{align-items:center;background-color:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:background-color .2s;width:36px}.enhanced-station-details.mobile-sheet .photo-nav button:hover{background-color:#000000b3}.enhanced-station-details.mobile-sheet .station-address{color:#555;font-size:14px;line-height:1.4;margin-bottom:12px}.enhanced-station-details.mobile-sheet .compatibility-status{border-radius:6px;display:inline-block;margin-bottom:15px;padding:6px 12px}.enhanced-station-details.mobile-sheet .compatible-text{align-items:center;background-color:#4caf501a;color:#2e7d32;display:flex;font-weight:500;gap:6px}.enhanced-station-details.mobile-sheet .not-compatible-text{align-items:center;background-color:#ff98001a;color:#ef6c00;display:flex;font-weight:500;gap:6px}.enhanced-station-details.mobile-sheet .details-section{background-color:#f9f9f9;border-radius:8px;margin-bottom:20px;padding:15px}.enhanced-station-details.mobile-sheet .details-section h3{color:#333;font-size:16px;margin:0 0 10px}.enhanced-station-details.mobile-sheet .charges-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.enhanced-station-details.mobile-sheet .charge-type{background-color:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;padding:10px}.enhanced-station-details.mobile-sheet .charge-type-name{color:#333;font-weight:600;margin-bottom:4px}.enhanced-station-details.mobile-sheet .charge-type-details{color:#666;font-size:13px}.enhanced-station-details.mobile-sheet .amenities-grid{display:flex;flex-wrap:wrap;gap:8px}.enhanced-station-details.mobile-sheet .amenity-tag{background-color:#fff;border-radius:4px;color:#555;font-size:13px;padding:5px 10px}.enhanced-station-details.mobile-sheet .action-buttons{display:flex;gap:10px;margin-top:20px}.enhanced-station-details.mobile-sheet .btn-action{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:0 0 auto;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 20px}.enhanced-station-details.mobile-sheet .btn-directions{background-color:#f5f5f5;border:none;color:#333}.enhanced-station-details.mobile-sheet .booking-cta{background-color:#0c5f2c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 15px;transition:background-color .2s}.enhanced-station-details.mobile-sheet .booking-cta:hover{background-color:#094523}.enhanced-station-details.mobile-sheet .booking-cta:disabled{background-color:#ccc;cursor:not-allowed}.enhanced-station-details.mobile-sheet .swipe-indicator{background-color:#ddd;border-radius:2px;height:4px;margin:10px auto;position:relative;width:40px}.enhanced-station-details.mobile-sheet.open .swipe-indicator:after{animation:swipe-hint 2s infinite;background-color:#00000026;border-radius:2px;content:"";height:100%;left:0;position:absolute;top:0;width:20px}@keyframes swipe-hint{0%{left:0}50%{left:20px}to{left:0}}@media (prefers-color-scheme:dark){.enhanced-station-details.mobile-sheet .details-header{border-bottom-color:#333}.enhanced-station-details.mobile-sheet .details-header h2{color:#4caf50}.enhanced-station-details.mobile-sheet .close-details{color:#aaa}.enhanced-station-details.mobile-sheet .close-details:hover{background-color:#333;color:#fff}.enhanced-station-details.mobile-sheet .station-address{color:#bbb}.enhanced-station-details.mobile-sheet .details-section{background-color:#222}.enhanced-station-details.mobile-sheet .details-section h3{color:#ddd}.enhanced-station-details.mobile-sheet .charge-type{background-color:#333}.enhanced-station-details.mobile-sheet .charge-type-name{color:#eee}.enhanced-station-details.mobile-sheet .charge-type-details{color:#aaa}.enhanced-station-details.mobile-sheet .amenity-tag{background-color:#333;color:#ddd}.enhanced-station-details.mobile-sheet .btn-directions{background-color:#333;color:#eee}.enhanced-station-details.mobile-sheet .swipe-indicator{background-color:#444}.enhanced-station-details.mobile-sheet .swipe-indicator:after{background-color:#fff3}}[data-theme=dark] .enhanced-station-details.mobile-sheet .details-header{border-bottom-color:#333}[data-theme=dark] .enhanced-station-details.mobile-sheet .details-header h2{color:#4caf50}[data-theme=dark] .enhanced-station-details.mobile-sheet .close-details{color:#aaa}[data-theme=dark] .enhanced-station-details.mobile-sheet .close-details:hover{background-color:#333;color:#fff}[data-theme=dark] .enhanced-station-details.mobile-sheet .station-address{color:#bbb}[data-theme=dark] .enhanced-station-details.mobile-sheet .details-section{background-color:#222}[data-theme=dark] .enhanced-station-details.mobile-sheet .details-section h3{color:#ddd}[data-theme=dark] .enhanced-station-details.mobile-sheet .charge-type{background-color:#333}[data-theme=dark] .enhanced-station-details.mobile-sheet .charge-type-name{color:#eee}[data-theme=dark] .enhanced-station-details.mobile-sheet .charge-type-details{color:#aaa}[data-theme=dark] .enhanced-station-details.mobile-sheet .amenity-tag{background-color:#333;color:#ddd}[data-theme=dark] .enhanced-station-details.mobile-sheet .btn-directions{background-color:#333;color:#eee}.details-header-enhanced{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #f0f0f0;padding:15px 20px}@media (prefers-color-scheme:dark){.details-header-enhanced{background:linear-gradient(135deg,#2a2a2a,#333);border-bottom:1px solid #444}}[data-theme=dark] .details-header-enhanced{background:linear-gradient(135deg,#2a2a2a,#333);border-bottom:1px solid #444}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.station-status-badge{align-items:center;background-color:#ffffffe6;border-radius:20px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;padding:6px 12px}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.available{background-color:#4caf50;box-shadow:0 0 6px #4caf5066}.status-dot.occupied{background-color:#ff9800;box-shadow:0 0 6px #ff980066}.status-dot.unknown{background-color:#9e9e9e}.status-text{color:#333;font-size:12px;font-weight:600}.header-main h2{color:#0c5f2c;font-size:20px;font-weight:700;line-height:1.2;margin:0 0 8px}.station-meta{display:flex;flex-wrap:wrap;gap:16px}.distance-info,.rating-info{align-items:center;color:#666;display:flex;font-size:13px;gap:4px}.rating-info .stars{color:#ffc107;font-size:14px}.details-content-enhanced{max-height:calc(100vh - 200px);overflow-y:auto;padding:0 20px 20px}.quick-info-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.info-card{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #0c5f2c1a;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:10px;padding:12px}@media (prefers-color-scheme:dark){.info-card{background:linear-gradient(135deg,#2a2a2a,#333);border:1px solid #2e8b574d;box-shadow:0 2px 8px #0000004d}}[data-theme=dark] .info-card{background:linear-gradient(135deg,#2a2a2a,#333);border:1px solid #2e8b574d;box-shadow:0 2px 8px #0000004d}.info-icon{font-size:20px;text-align:center;width:32px}.info-content{flex:1 1}.info-label{color:#666;display:block;font-size:11px;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.info-value{color:#333;display:block;font-size:14px;font-weight:600}.station-location{margin-bottom:20px}.location-row{align-items:center;background:#f8f9fa;border-left:4px solid #0c5f2c;border-radius:8px;display:flex;gap:10px;padding:12px}@media (prefers-color-scheme:dark){.location-row{background:#2a2a2a;border-left:4px solid #2e8b57}}[data-theme=dark] .location-row{background:#2a2a2a;border-left:4px solid #2e8b57}.location-icon{color:#0c5f2c}.address-text{color:#555;flex:1 1;font-size:14px;line-height:1.4}.copy-address-btn{background:none;border:none;border-radius:4px;color:#0c5f2c;cursor:pointer;padding:4px;transition:background-color .2s}.copy-address-btn:hover{background-color:#0c5f2c1a}.compatibility-status-enhanced{align-items:center;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:12px}.compatibility-status-enhanced.compatible{background:linear-gradient(135deg,#4caf501a,#8bc34a1a);border:1px solid #4caf504d}.compatibility-status-enhanced.incompatible{background:linear-gradient(135deg,#ff98001a,#ffc1071a);border:1px solid #ff98004d}.compatibility-icon{font-size:20px}.compatibility-status-enhanced.compatible .compatibility-icon{color:#4caf50}.compatibility-status-enhanced.incompatible .compatibility-icon{color:#ff9800}.compatibility-text{flex:1 1}.main-text{color:#333;display:block;font-weight:600;margin-bottom:2px}.sub-text{color:#666;display:block;font-size:12px}.details-section-enhanced{background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 12px #0000000f;margin-bottom:24px;padding:16px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.section-header h3{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0}.section-badge{background:#0c5f2c;border-radius:12px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px}.review-count{color:#666;font-size:12px}.charges-grid-enhanced{display:flex;flex-direction:column;gap:12px}.charge-type-enhanced{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:12px}.charge-type-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.connector-icon{font-size:16px}.charge-type-name{color:#333;flex:1 1;font-weight:600}.availability-badge{border-radius:12px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:3px 8px;text-transform:uppercase}.availability-badge.available{background:#4caf5033;color:#2e7d32}.availability-badge.occupied{background:#ff980033;color:#ef6c00}.detail-row{color:#555;display:flex;font-size:13px;justify-content:space-between;margin-bottom:4px}.charging-time{align-items:center;color:#666;display:flex;font-size:12px;gap:4px}.amenities-grid-enhanced{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag-enhanced{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:16px;color:#555;display:flex;font-size:12px;gap:6px;padding:6px 10px}.amenity-icon{font-size:14px}.reviews-summary{display:flex;flex-direction:column;gap:16px}.rating-breakdown{align-items:center;display:flex;gap:16px}.overall-rating{align-items:center;display:flex;flex-direction:column;gap:4px}.rating-number{color:#333;font-size:28px;font-weight:700}.stars-display{display:flex;gap:2px}.stars-display .filled{color:#ffc107}.stars-display .empty{color:#e0e0e0}.rating-bars{flex:1 1}.rating-bar-row{align-items:center;display:flex;gap:8px;margin-bottom:4px}.rating-bar-row span{color:#666;font-size:12px;width:20px}.rating-bar{background:#f0f0f0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.rating-fill{background:#ffc107;height:100%;transition:width .3s ease}.recent-review{background:#f8f9fa;border-left:3px solid #0c5f2c;border-radius:8px;padding:12px}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.reviewer-name{color:#333;font-size:13px;font-weight:600}.review-date{color:#666;font-size:11px}.review-stars{display:flex;gap:2px;margin-bottom:6px}.review-stars .filled{color:#ffc107;font-size:12px}.review-stars .empty{color:#e0e0e0;font-size:12px}.review-text{color:#555;font-size:13px;line-height:1.4;margin:0}.operating-hours{margin-top:8px}.current-status{border-radius:12px;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.current-status.open{background:#4caf5033;color:#2e7d32}.current-status.closed{background:#f4433633;color:#c62828}.hours-grid{display:flex;flex-direction:column;gap:4px}.hours-row{border-bottom:1px solid #f0f0f0;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.hours-row.today{background:#0c5f2c0d;border-radius:4px;font-weight:600;margin:0 -8px;padding:6px 8px}.day{color:#333}.hours{color:#666}.action-buttons-enhanced{margin-top:24px}.primary-actions{display:flex;gap:12px;margin-bottom:12px}.btn-primary{align-items:center;display:flex;flex:1 1;font-size:14px;gap:8px;justify-content:center;padding:14px 16px;transition:all .2s ease}.btn-navigate{background:#f8f9fa;border:2px solid #e9ecef;color:#333}.btn-navigate:hover{background:#e9ecef;border-color:#dee2e6}.btn-book{background:linear-gradient(135deg,#0c5f2c,#0a4d24);box-shadow:0 4px 12px #0c5f2c4d}.btn-book:hover{box-shadow:0 6px 16px #0c5f2c66;transform:translateY(-1px)}.btn-book:disabled{background:#ccc;box-shadow:none;color:#666;cursor:not-allowed;transform:none}.secondary-actions{display:flex;gap:8px}.btn-secondary{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;color:#666;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:12px;gap:4px;padding:10px 8px;transition:all .2s ease}.btn-secondary:hover{background:#f8f9fa;border-color:#0c5f2c;color:#0c5f2c}@media (prefers-color-scheme:dark){.details-section-enhanced{background:#2a2a2a;border:1px solid #444;box-shadow:0 2px 12px #0000004d}.section-header h3{color:#f0f0f0}.section-badge{background:#2e8b57}.review-count{color:#aaa}.charge-type-enhanced{background:#333;border:1px solid #444}.charge-type-name{color:#f0f0f0}.charging-time,.detail-row{color:#ccc}.amenity-tag-enhanced{background:#333;border:1px solid #444;color:#ccc}.rating-number{color:#f0f0f0}.hours-row,.review-text{color:#ccc}.hours-row.today{background:#333;color:#f0f0f0}.btn-secondary{background:#333;border:1px solid #444;color:#ccc}.btn-secondary:hover{background:#444;border-color:#2e8b57;color:#f0f0f0}}[data-theme=dark] .details-section-enhanced{background:#2a2a2a;border:1px solid #444;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .section-header h3{color:#f0f0f0}[data-theme=dark] .section-badge{background:#2e8b57}[data-theme=dark] .review-count{color:#aaa}[data-theme=dark] .charge-type-enhanced{background:#333;border:1px solid #444}[data-theme=dark] .charge-type-name{color:#f0f0f0}[data-theme=dark] .charging-time,[data-theme=dark] .detail-row{color:#ccc}[data-theme=dark] .amenity-tag-enhanced{background:#333;border:1px solid #444;color:#ccc}[data-theme=dark] .rating-number{color:#f0f0f0}[data-theme=dark] .hours-row,[data-theme=dark] .review-text{color:#ccc}[data-theme=dark] .hours-row.today{background:#333;color:#f0f0f0}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#2e8b57,#0c5f2c)}[data-theme=dark] .btn-secondary{background:#333;border:1px solid #444;color:#ccc}[data-theme=dark] .btn-secondary:hover{background:#444;border-color:#2e8b57;color:#f0f0f0}.close-section{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.btn-close-sheet,.close-section{display:flex;justify-content:center}.btn-close-sheet{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:12px;box-shadow:0 4px 12px #dc35454d;color:#fff;font-size:16px;font-weight:600;gap:8px;padding:16px 20px;transition:all .3s ease;width:100%}.btn-close-sheet:hover{background:linear-gradient(135deg,#c82333,#bd2130);box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.btn-close-sheet:active{box-shadow:0 4px 12px #dc35454d;transform:translateY(0)}.close-details{align-items:center;background:#dc35451a;border:2px solid #dc35454d;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;transition:all .3s ease;width:36px}.close-details:hover{background:#dc354533;border-color:#dc354580;transform:scale(1.1)}.close-details:active{transform:scale(.95)}@media (prefers-color-scheme:dark){.close-section{border-top:1px solid #444}.btn-close-sheet{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 12px #dc354566}.btn-close-sheet:hover{box-shadow:0 6px 20px #dc354580}.close-details{background:#dc354533;border-color:#dc354566}.close-details:hover{background:#dc35454d;border-color:#dc354599}}[data-theme=dark] .close-section{border-top:1px solid #444}[data-theme=dark] .btn-close-sheet{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 12px #dc354566}[data-theme=dark] .btn-close-sheet:hover{box-shadow:0 6px 20px #dc354580}[data-theme=dark] .close-details{background:#dc354533;border-color:#dc354566}[data-theme=dark] .close-details:hover{background:#dc35454d;border-color:#dc354599}.cluster-marker{align-items:center;background:#0c5f2c;border-radius:50%;box-shadow:0 0 0 3px #fff;color:#fff;cursor:pointer;display:flex;font-weight:700;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;z-index:5}.cluster-marker:hover{box-shadow:0 0 0 3px #fff,0 0 10px #0000004d;transform:scale(1.1)}.offline-indicator{align-items:center;animation:slide-up .3s ease-in-out;border-radius:8px;bottom:75px;box-shadow:0 3px 10px #0003;display:flex;gap:12px;left:50%;max-width:90%;padding:12px 16px;position:fixed;transform:translateX(-50%);transition:all .3s ease;width:auto;z-index:1000}.offline-indicator.offline{background-color:#feeceb;border-left:4px solid #d32f2f;color:#d32f2f}.offline-indicator.online{background-color:#e8f5e9;border-left:4px solid #2e7d32;color:#2e7d32}.status-icon{font-size:20px}.offline-icon{color:#d32f2f}.online-icon{color:#2e7d32}.offline-indicator p{font-size:14px;font-weight:600;margin:0}.offline-indicator small{display:block;font-size:12px;margin-top:2px;opacity:.8}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}@media (prefers-color-scheme:dark){.offline-indicator.offline{background-color:#d32f2f26;border-left:4px solid #ff8a80;color:#ff8a80}.offline-indicator.online{background-color:#2e7d3226;border-left:4px solid #b9f6ca;color:#b9f6ca}.offline-icon{color:#ff8a80}.online-icon{color:#b9f6ca}}[data-theme=dark] .offline-indicator.offline{background-color:#d32f2f26;border-left:4px solid #ff8a80;color:#ff8a80}[data-theme=dark] .offline-indicator.online{background-color:#2e7d3226;border-left:4px solid #b9f6ca;color:#b9f6ca}[data-theme=dark] .offline-icon{color:#ff8a80}[data-theme=dark] .online-icon{color:#b9f6ca}.trip-planner{animation:slide-in .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 6px 24px #00000026;max-height:calc(100vh - 120px);max-width:500px;overflow-y:auto;padding:20px;position:absolute;right:20px;top:80px;transition:all .3s ease;width:100%;z-index:50}@keyframes slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.trip-planner-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.trip-planner-header h2{align-items:center;color:#0c5f2c;display:flex;font-size:20px;gap:8px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;justify-content:center;padding:5px;transition:background-color .2s}.close-button:hover{background-color:#f0f0f0;color:#333}.vehicle-info{align-items:center;background-color:#f7f9fc;border-radius:8px;display:flex;gap:10px;margin-bottom:15px;padding:10px 15px}.vehicle-info svg{color:#0c5f2c}.range-badge{background-color:#0c5f2c;border-radius:12px;color:#fff;font-size:12px;font-weight:700;margin-left:auto;padding:3px 8px}.location-inputs{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.input-with-icon,.location-input{position:relative}.input-with-icon{align-items:center;display:flex}.location-icon{color:#666;font-size:16px;left:10px;position:absolute}.origin-icon{color:#0c5f2c}.destination-icon{color:#d32f2f}.location-input input{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:12px 40px 12px 35px;transition:border-color .2s;width:100%}.location-input input:focus{border-color:#0c5f2c;box-shadow:0 0 0 2px #0c5f2c1a;outline:none}.clear-input{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;justify-content:center;padding:5px;position:absolute;right:10px}.clear-input:hover{background-color:#f0f0f0;color:#666}.search-results{background-color:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;position:absolute;width:100%;z-index:20}.searching{color:#666;font-style:italic;padding:15px;text-align:center}.search-result-item{align-items:center;cursor:pointer;display:flex;gap:10px;padding:12px 15px;transition:background-color .2s}.search-result-item:hover{background-color:#f7f9fc}.search-result-item svg{color:#0c5f2c;font-size:14px}.search-result-item span{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculate-route-button{background-color:#0c5f2c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 20px;transition:background-color .2s;width:100%}.calculate-route-button:hover:not(:disabled){background-color:#094523}.calculate-route-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#ffebee;border-radius:8px;color:#d32f2f;font-size:14px;margin:15px 0;padding:10px}.route-summary{border-top:1px solid #eee;margin-top:20px;padding-top:15px}.route-summary h3{align-items:center;color:#0c5f2c;display:flex;font-size:18px;gap:8px;margin:0 0 15px}.summary-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.summary-item{background-color:#f7f9fc;border-radius:8px;display:flex;flex-direction:column;padding:12px}.summary-item .label{color:#666;font-size:12px;margin-bottom:5px}.summary-item .value{color:#333;font-size:16px;font-weight:700}.navigation-actions{display:flex;gap:10px;margin-bottom:20px;margin-top:20px}.start-navigation-button{background-color:#0c5f2c;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:12px 15px;transition:background-color .2s}.start-navigation-button:hover{background-color:#084621}.google-maps-button{background-color:#4285f4;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:700;padding:12px 15px;transition:background-color .2s}.google-maps-button:hover{background-color:#3367d6}.charging-stops{margin-top:20px}.charging-stops h3{color:#0c5f2c;font-size:18px;margin:0 0 15px}.stops-list{display:flex;flex-direction:column;gap:12px}.stop-item{align-items:flex-start;background-color:#f7f9fc;border-radius:8px;display:flex;gap:12px;padding:12px;position:relative}.stop-item:not(:last-child):after{background-color:#ddd;bottom:-12px;content:"";left:18px;position:absolute;top:100%;width:2px}.stop-icon{color:#0c5f2c;font-size:18px;margin-top:2px}.stop-details{flex:1 1}.stop-name{font-weight:700;margin-bottom:5px}.stop-distance{color:#666;font-size:13px;margin-bottom:5px}.stop-charger-types{color:#0c5f2c;font-size:12px;font-weight:500}.directions-container{background-color:#f7f9fc;border-radius:8px;margin-top:20px;overflow:hidden}.directions-container h3{background-color:#0c5f2c;font-size:16px;gap:10px;justify-content:space-between;margin:0;padding:12px 15px}.collapse-button,.directions-container h3{align-items:center;color:#fff;display:flex}.collapse-button{background:none;background-color:#fff3;border:none;border-radius:50%;cursor:pointer;font-size:18px;font-weight:700;height:24px;justify-content:center;width:24px}.directions-steps{max-height:300px;overflow-y:auto;padding:0}.direction-step{border-bottom:1px solid #e5e5e5;display:flex;padding:12px 15px}.direction-step:last-child{border-bottom:none}.step-number{flex-shrink:0;font-size:12px;height:24px;margin-right:12px;width:24px}.step-details{flex:1 1}.step-instruction{font-size:14px;margin-bottom:5px}.step-distance{align-items:center;color:#666;display:flex;font-size:12px}.route-line{background-color:#0c5f2c;position:relative;width:4px}.marker-pin{align-items:center;display:flex;height:36px;justify-content:center;position:relative;width:36px}.origin-pin .origin-marker{color:#0c5f2c;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.4));font-size:36px}.destination-pin .destination-marker{color:#d32f2f;filter:drop-shadow(1px 1px 2px rgba(0,0,0,.4));font-size:36px}.stop-pin .stop-marker{background-color:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;color:#06f;font-size:18px;padding:6px}@media (max-width:768px){.marker-pin{height:24px;width:24px}.destination-pin .destination-marker,.origin-pin .origin-marker{font-size:24px}.stop-pin .stop-marker{font-size:14px;padding:4px}}@media (prefers-color-scheme:dark){.trip-planner{background-color:#1e1e1e;color:#f0f0f0}.trip-planner-header{border-bottom-color:#333}.close-button{color:#ccc}.close-button:hover{background-color:#333;color:#fff}.location-input input,.vehicle-info{background-color:#2a2a2a}.location-input input{border-color:#444;color:#f0f0f0}.location-input input:focus{border-color:#2e8b57;box-shadow:0 0 0 2px #2e8b5733}.search-results{background-color:#2a2a2a;border-color:#444}.search-result-item:hover{background-color:#333}.error-message{background-color:#d32f2f33}.stop-item,.summary-item{background-color:#2a2a2a}.stop-distance,.summary-item .label{color:#ccc}.summary-item .value{color:#f0f0f0}.stop-item:not(:last-child):after{background-color:#444}.directions-container{background-color:#2a2a2a}.directions-container h3{background-color:#094523}.direction-step{border-bottom-color:#333}}[data-theme=dark] .trip-planner{background-color:#1e1e1e;color:#f0f0f0}[data-theme=dark] .trip-planner-header{border-bottom-color:#333}[data-theme=dark] .close-button{color:#ccc}[data-theme=dark] .close-button:hover{background-color:#333;color:#fff}[data-theme=dark] .vehicle-info{background-color:#2a2a2a}[data-theme=dark] .location-input input{background-color:#2a2a2a;border-color:#444;color:#f0f0f0}[data-theme=dark] .location-input input:focus{border-color:#2e8b57;box-shadow:0 0 0 2px #2e8b5733}[data-theme=dark] .search-results{background-color:#2a2a2a;border-color:#444}[data-theme=dark] .search-result-item:hover{background-color:#333}[data-theme=dark] .error-message{background-color:#d32f2f33}[data-theme=dark] .stop-item,[data-theme=dark] .summary-item{background-color:#2a2a2a}[data-theme=dark] .stop-distance,[data-theme=dark] .summary-item .label{color:#ccc}[data-theme=dark] .summary-item .value{color:#f0f0f0}[data-theme=dark] .stop-item:not(:last-child):after{background-color:#444}[data-theme=dark] .directions-container{background-color:#2a2a2a}[data-theme=dark] .directions-container h3{background-color:#094523}[data-theme=dark] .direction-step{border-bottom-color:#333}@media (max-width:768px){.trip-planner{animation:slide-up .3s ease-out;border-radius:20px 20px 0 0;bottom:0;height:80vh;left:0;max-width:none;padding:20px 15px;right:0;top:auto;width:100%;z-index:999}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.summary-details{grid-template-columns:1fr}.navigation-actions{flex-direction:column}.directions-steps{max-height:250px}}.optimized-image-container{background-color:var(--background-off-white);border-radius:var(--border-radius-md);overflow:hidden;position:relative}.optimized-image{height:100%;object-fit:cover;transition:opacity .3s ease-in-out;width:100%}.optimized-image.loading{opacity:0}.optimized-image.error{opacity:.5}.image-placeholder{align-items:center;background-color:var(--background-off-white);display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;width:40px}@media (max-width:768px){.optimized-image-container{border-radius:var(--border-radius-sm)}.loading-spinner{border-width:2px;height:30px;width:30px}}.station-card{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}.station-card.is-visible{opacity:1;transform:translateY(0)}.station-card-skeleton{opacity:1;transform:none}.stations-list-section{background-color:#f9f9f9;padding:40px 0}.stations-list-section h2{margin-bottom:30px}.stations-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.no-stations-message{background-color:#fff;border:1px solid #eee;border-radius:4px;font-size:1.1em;padding:20px}.cost-estimator-section{background-color:#f4f7f6}.cost-estimator-card{background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #00000014;display:flex;gap:40px;margin:0 auto;max-width:800px;padding:30px 40px}.estimator-form{display:flex;flex:1 1;flex-direction:column;gap:15px;margin-bottom:20px}.estimator-results{border-left:1px solid #e0e0e0;border-top:1px dashed #ddd;flex:1 1;margin-top:20px;padding-left:40px;padding-top:20px}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{color:#333;margin-bottom:6px}.form-group input[type=number],.form-group select{background-color:#fff;border:1px solid #ccc;border-radius:6px;font-size:1em;padding:10px}.form-group select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.form-group input[type=number]:focus,.form-group select:focus{border-color:#0c5f2c;border-color:var(--primary-color,#0c5f2c);box-shadow:0 0 0 2px rgba(var(--primary-color-rgb),.2);outline:none}.estimator-results h4{color:#333;margin-bottom:15px;margin-top:0}.result-item{display:flex;font-size:.95em;justify-content:space-between;padding:8px 0}.result-item span{color:#555}.result-item strong{color:#007bff}.estimator-note{background-color:#f8f9fa;border-radius:4px;color:#666;font-size:.85em;line-height:1.5;margin-top:15px;padding:10px}.form-group.vehicle-type-toggle{margin-bottom:5px}.vehicle-type-toggle label{color:#333;font-weight:500;margin-bottom:8px}.toggle-buttons{border:1px solid #ccc;border-radius:6px;display:flex;overflow:hidden}.toggle-buttons button{background-color:#f8f9fa;border:none;color:#555;cursor:pointer;flex-grow:1;font-size:.95em;padding:10px 15px;transition:background-color .2s,color .2s}.toggle-buttons button:not(:last-child){border-right:1px solid #ccc}.toggle-buttons button.active{background-color:#007bff;color:#fff;font-weight:500}.toggle-buttons button:hover:not(.active){background-color:#e9ecef}@media (max-width:768px){.cost-estimator-card{flex-direction:column;gap:30px;padding:25px}.estimator-results{border-left:none;border-top:1px solid #e0e0e0;padding-left:0;padding-top:30px}.form-group select{-webkit-appearance:none;appearance:none;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%23007CB9%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-position:right 15px center;background-repeat:no-repeat;background-size:12px;cursor:pointer;height:auto}.form-group input[type=number],.form-group select{font-size:1.1rem;padding:14px 15px}}.ai-chat-window{background-color:#fff;border:1px solid #e0e0e0;border-radius:16px;bottom:90px;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;max-height:550px;opacity:0;overflow:hidden;position:fixed;right:20px;transform:translateY(20px) scale(.95);transition:opacity .25s ease-out,transform .25s ease-out,visibility 0s linear .25s;visibility:hidden;width:370px;z-index:1050}.ai-chat-window.open{opacity:1;transform:translateY(0) scale(1);transition:opacity .25s ease-out,transform .25s ease-out,visibility 0s linear 0s;visibility:visible}.ai-chat-header{background:linear-gradient(135deg,#0c5f2c,#23ad55);background:linear-gradient(135deg,var(--primary-color,#0c5f2c) 0,var(--secondary-color,#23ad55) 100%);padding:12px 20px}.ai-chat-header h3{align-items:center;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:8px;margin:0}.ai-chat-header h3:before{content:"🤖";font-size:1.3rem}.ai-chat-close-btn{background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.6rem;line-height:1;padding:2px 5px;transition:background-color .2s ease}.ai-chat-close-btn:hover{background-color:#fff3}.ai-chat-body{background-color:#f7f9fa;display:flex;flex-direction:column;flex-grow:1;overflow-y:auto;padding:15px}.ai-chat-body::-webkit-scrollbar{width:6px}.ai-chat-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.ai-chat-body::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}.ai-chat-body::-webkit-scrollbar-thumb:hover{background:#aaa}.ai-chat-body .message{border-radius:18px;font-size:.9rem;line-height:1.5;margin-bottom:10px;max-width:80%;padding:10px 15px}.ai-chat-body .message.ai-message{align-self:flex-start;background-color:#e9ecef;border-bottom-left-radius:4px;color:#333;padding-left:35px;position:relative}.ai-chat-body .message.ai-message:before{color:#0c5f2c;color:var(--primary-color,#0c5f2c);content:"✨";font-size:1.1em;left:12px;position:absolute;top:10px}.ai-chat-body .message.user-message{align-self:flex-end;background-color:#0c5f2c;background-color:var(--primary-color,#0c5f2c);border-bottom-right-radius:4px;color:#fff}.chat-nav-button{background-color:#23ad55;background-color:var(--secondary-color,#23ad55);border:none;border-radius:15px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:inline-block;font-size:.85rem;font-weight:500;margin-right:8px;margin-top:8px;padding:8px 14px;transition:background-color .2s ease,transform .1s ease}.chat-nav-button:hover{background-color:#0c5f2c;background-color:var(--primary-color,#0c5f2c);transform:translateY(-1px)}.chat-nav-button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.chat-nav-buttons-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-chat-body .message button.chat-nav-button,.ai-chat-body .message span{display:inline-block;vertical-align:middle}.ai-chat-footer{align-items:center;background-color:#fff;border-top:1px solid #e0e0e0;display:flex;gap:10px;padding:12px 15px}.ai-chat-footer input[type=text]{border:1px solid #d0d0d0;border-radius:20px;flex-grow:1;font-size:.9rem;outline:none;padding:10px 15px;transition:border-color .2s ease}.ai-chat-footer input[type=text]:focus{border-color:#0c5f2c;border-color:var(--primary-color,#0c5f2c);box-shadow:0 0 0 2px #0c5f2c33;box-shadow:0 0 0 2px rgba(var(--primary-color-rgb,12,95,44),.2)}.ai-chat-footer button.send-btn{align-items:center;background-color:initial;border:none;border-radius:50%;color:#0c5f2c;color:var(--primary-color,#0c5f2c);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s ease,color .2s ease}.ai-chat-footer button.send-btn:hover{background-color:#0c5f2c1a;background-color:rgba(var(--primary-color-rgb,12,95,44),.1)}.ai-chat-footer button.send-btn svg{fill:currentColor;height:20px;width:20px}.typing-indicator p{display:flex;margin:0;padding:0}.typing-indicator span{animation:pulseDots 1.4s ease-in-out infinite both;background-color:#b0b0b0;border-radius:50%;height:8px;margin:0 2px;opacity:.4;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes pulseDots{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (max-width:600px){.ai-chat-window,.ai-chat-window.open{border-radius:12px 12px 0 0;bottom:75px;left:10px;max-height:70vh;max-width:none;right:10px;transform:translateY(20px);width:calc(100vw - 20px)}.ai-chat-window.open{transform:translateY(0)}.ai-chat-header{padding:10px 15px}.ai-chat-header h3{font-size:1rem}.ai-chat-header h3:before{font-size:1.1rem}.ai-chat-close-btn{font-size:1.4rem}.ai-chat-body{padding:10px}.ai-chat-body .message{font-size:.85rem;max-width:90%;padding:8px 12px}.ai-chat-footer{padding:8px 10px}.ai-chat-footer input[type=text]{font-size:.85rem;padding:8px 12px}.ai-chat-footer button.send-btn{padding:6px}.ai-chat-footer button.send-btn svg{height:18px;width:18px}}.skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;display:block}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.station-card-skeleton{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem;padding:1rem}.skeleton-image{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px;margin-bottom:1rem}.skeleton-content{display:flex;flex-direction:column;gap:.75rem}.skeleton-title{margin-bottom:.5rem}.skeleton-text{margin-bottom:.25rem}.skeleton-text.short{margin-bottom:.75rem}.skeleton-details{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.skeleton-cta{display:flex;gap:.75rem;margin-top:1rem}.map-skeleton{border-radius:8px;height:400px;overflow:hidden;position:relative;width:100%}.map-skeleton-content{height:100%;position:relative;width:100%}.map-skeleton-overlay{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.map-skeleton-controls{display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;top:1rem}.map-skeleton-markers{bottom:0;left:0;position:absolute;right:0;top:0}.map-skeleton-marker{position:absolute;transform:translate(-50%,-50%)}.stats-skeleton{padding:2rem 0;text-align:center}.stats-title{margin:0 auto 2rem}.stats-grid-skeleton{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1000px}.stat-item-skeleton{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.stat-number{margin-bottom:.5rem}.search-suggestions-skeleton{background:#fff;border:1px solid #e1e4e8;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #0000001a;left:0;position:absolute;right:0;top:100%;z-index:1000}.suggestion-skeleton{border-bottom:1px solid #f0f0f0;padding:.75rem 1rem}.suggestion-skeleton:last-child{border-bottom:none}.hero-skeleton{padding:4rem 0;text-align:center}.hero-content-skeleton{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:800px}.hero-title{margin-bottom:1rem}.hero-search-skeleton{margin:2rem 0;max-width:600px;width:100%}.hero-buttons-skeleton{display:flex;gap:1rem;justify-content:center}.list-skeleton{display:flex;flex-direction:column;gap:1rem}.list-item-skeleton{width:100%}.text-skeleton{display:flex;flex-direction:column;gap:.5rem}.text-line{margin-bottom:.25rem}.image-skeleton{overflow:hidden}@media (max-width:768px){.skeleton-cta{flex-direction:column}.stats-grid-skeleton{gap:1rem;grid-template-columns:1fr}.hero-buttons-skeleton{flex-direction:column;max-width:300px;width:100%}.map-skeleton{height:300px}}@media (prefers-reduced-motion:reduce){.skeleton,.skeleton-image{animation:none;background:#f0f0f0}}@media (prefers-contrast:high){.skeleton,.skeleton-image{background:#d0d0d0;border:1px solid #999}}@media (prefers-color-scheme:dark){.skeleton,.skeleton-image{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200% 100%}.stat-item-skeleton,.station-card-skeleton{background:#1a1a1a;box-shadow:0 2px 8px #ffffff1a}.search-suggestions-skeleton{background:#1a1a1a;border-color:#3a3a3a}}html{box-sizing:border-box;scroll-behavior:smooth}.ai-assistant-chat-container{background-color:#fff;border-radius:12px;bottom:90px;box-shadow:0 5px 25px #0003;display:flex;flex-direction:column;height:500px;max-height:calc(100vh - 160px);max-width:calc(100vw - 40px);overflow:hidden;position:fixed;right:20px;transform-origin:bottom right;transition:transform .3s ease-out,opacity .3s ease-out;width:350px;z-index:1050}.ai-assistant-chat-container.hidden{opacity:0;pointer-events:none;transform:scale(.9)}.ai-chat-header{align-items:center;background-color:#0c5f2c;border-top-left-radius:12px;border-top-right-radius:12px;color:#fff;display:flex;justify-content:space-between;padding:15px}.ai-chat-header-title{align-items:center;display:flex;font-weight:600;gap:10px}.ai-assistant-icon{align-items:center;background-color:#fff;border-radius:50%;display:flex;height:24px;justify-content:center;width:24px}.chat-close-button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:18px;padding:5px}.ai-chat-messages{background-color:#f5f7fa;display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:15px}.chat-message{border-radius:18px;font-size:14px;line-height:1.4;max-width:80%;padding:12px 15px}.assistant-message{align-self:flex-start;background-color:#fff;border:1px solid #e1e5eb;border-bottom-left-radius:5px}.user-message{align-self:flex-end;background-color:#0c5f2c;border-bottom-right-radius:5px;color:#fff}.chat-input-container{align-items:center;border-top:1px solid #e1e5eb;display:flex;padding:10px 15px}.chat-input{border:1px solid #e1e5eb;border-radius:20px;flex:1 1;font-size:14px;outline:none;padding:10px 15px;transition:border-color .2s}.chat-input:focus{border-color:#0c5f2c}.send-button{align-items:center;background-color:#0c5f2c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:10px;transition:background-color .2s;width:40px}.send-button:hover{background-color:#094222}.send-button svg{height:20px;width:20px}.chat-typing-indicator{align-items:center;align-self:flex-start;background-color:#fff;border:1px solid #e1e5eb;border-radius:18px;display:flex;gap:5px;margin-top:10px;max-width:80px;padding:8px 15px}.typing-dot{animation:typingAnimation 1s ease-in-out infinite;background-color:#0c5f2c;border-radius:50%;height:8px;opacity:.6;width:8px}.typing-dot:first-child{animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.3s}.typing-dot:nth-child(3){animation-delay:.6s}@keyframes typingAnimation{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.chat-welcome-message{color:#555;font-size:14px;margin:20px 0;text-align:center}.suggested-questions{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.question-chip{background-color:#e9f5ef;border:1px solid #c8e6d7;border-radius:15px;color:#0c5f2c;cursor:pointer;font-size:12px;padding:6px 12px;transition:background-color .2s,transform .2s}.question-chip:hover{background-color:#d5ebe0;transform:translateY(-2px)}@media (max-width:768px){.ai-assistant-chat-container{bottom:90px;height:65vh;max-height:calc(100vh - 140px);right:10px;width:calc(100% - 20px)}.chat-message{font-size:14px;max-width:85%;padding:10px 12px}.chat-input{font-size:14px;padding:12px 16px}.send-button{height:44px;min-width:44px;width:44px}.ai-chat-header{padding:16px}.chat-close-button{min-height:44px;min-width:44px;padding:8px}}.enhanced-driver-dashboard{--primary-color:#0c5f2c;--secondary-color:#23ad55;--accent-color:gold;--light-bg:#f5f7fa;--medium-text:#666;--light-text:#999;--border-radius:12px;--hover-transition:all 0.3s ease}.enhanced-station-card{background-color:#fff;border:1px solid #eaedf2;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 15px #00000014;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:var(--hover-transition)}.enhanced-station-card:hover{border-color:#0c5f2c33;box-shadow:0 8px 25px #0c5f2c26;transform:translateY(-5px)}.enhanced-station-card .card-header{align-items:center;border-bottom:1px solid #eaedf2;display:flex;justify-content:space-between;padding:15px}.enhanced-station-card .station-name{align-items:center;color:#333;display:flex;font-size:16px;font-weight:600;gap:8px}.enhanced-station-compatibility{border-radius:20px;font-size:12px;font-weight:600;padding:4px 10px;position:absolute;right:15px;top:15px;z-index:5}.enhanced-station-compatibility.compatible{background-color:#23ad5526;color:#0c5f2c}.enhanced-station-compatibility.incompatible{background-color:#ff4d4d26;color:#e53935}.enhanced-station-card .station-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:15px}.enhanced-station-card .detail-item{display:flex;flex-direction:column}.enhanced-station-card .detail-label{color:var(--medium-text);font-size:12px;margin-bottom:4px}.enhanced-station-card .detail-value{color:#333;font-size:14px;font-weight:600}.enhanced-station-card .card-footer{border-top:1px solid #eaedf2;display:flex;gap:10px;justify-content:space-between;margin-top:auto;padding:15px}.enhanced-station-card .btn-action{border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;text-align:center;transition:var(--hover-transition)}.enhanced-station-card .btn-book{background-color:#0c5f2c;background-color:var(--primary-color);border:none;color:#fff}.enhanced-station-card .btn-book:hover{background-color:#4caf50;background-color:var(--secondary-color)}.enhanced-station-card .btn-directions{background-color:#fff;border:1px solid #0c5f2c;border:1px solid var(--primary-color);color:#0c5f2c;color:var(--primary-color)}.enhanced-station-card .btn-directions:hover{background-color:#0c5f2c1a}.enhanced-filter-bar{background-color:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:15px}.enhanced-filter-dropdown{position:relative}.enhanced-filter-button{align-items:center;background-color:var(--light-bg);border:1px solid #dde1e7;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 15px;transition:var(--hover-transition)}.enhanced-filter-button:hover{background-color:#eef1f6}.enhanced-filter-button.active{background-color:#0c5f2c1a;border-color:#0c5f2c;border-color:var(--primary-color);color:#0c5f2c;color:var(--primary-color)}.enhanced-filter-dropdown-content{background-color:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 15px #0000001a;display:none;left:0;margin-top:8px;padding:10px;position:absolute;top:100%;width:220px;z-index:10}.enhanced-filter-dropdown.open .enhanced-filter-dropdown-content{animation:fadeIn .2s ease;display:block}.enhanced-filter-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;transition:background-color .2s}.enhanced-filter-option:hover{background-color:var(--light-bg)}.enhanced-filter-option.selected{background-color:#0c5f2c1a;color:#0c5f2c;color:var(--primary-color)}.enhanced-filter-apply{background-color:#0c5f2c;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;margin-top:10px;padding:8px;width:100%}.enhanced-filter-apply:hover{background-color:#4caf50;background-color:var(--secondary-color)}.enhanced-station-details{background-color:#fff;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 20px #00000026;max-width:450px;overflow:hidden;width:100%}.enhanced-station-details .details-header{background-color:#0c5f2c;background-color:var(--primary-color);color:#fff;padding:20px;position:relative}.enhanced-station-details .details-header h2{font-size:18px;font-weight:600;margin:0}.enhanced-station-details .close-details{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:30px;justify-content:center;position:absolute;right:15px;top:15px;width:30px}.enhanced-station-details .details-content{padding:20px}.enhanced-station-details .station-photos{border-radius:8px;height:200px;margin-bottom:20px;overflow:hidden;position:relative}.enhanced-station-details .station-photos img{height:100%;object-fit:cover;width:100%}.enhanced-station-details .photo-nav{align-items:center;bottom:0;display:flex;justify-content:space-between;left:0;padding:0 10px;position:absolute;right:0;top:0}.enhanced-station-details .photo-nav button{align-items:center;background-color:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.enhanced-station-details .details-section{margin-bottom:20px}.enhanced-station-details .details-section h3{color:#333;font-size:16px;font-weight:600;margin-bottom:10px}.enhanced-station-details .charges-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.enhanced-station-details .charge-type{background-color:var(--light-bg);border-radius:8px;display:flex;flex-direction:column;gap:5px;padding:15px}.enhanced-station-details .charge-type-name{color:#333;font-weight:600}.enhanced-station-details .charge-type-details{color:var(--medium-text);font-size:13px}.enhanced-station-details .booking-cta{background-color:#0c5f2c;background-color:var(--primary-color);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px;transition:background-color .2s;width:100%}.enhanced-station-details .booking-cta:hover{background-color:#4caf50;background-color:var(--secondary-color)}.enhanced-station-details .booking-cta:disabled{background-color:var(--light-text);cursor:not-allowed}.enhanced-view-toggle{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;overflow:hidden;position:absolute;right:15px;top:15px;z-index:5}.enhanced-view-toggle button{align-items:center;background-color:initial;border:none;color:var(--medium-text);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:5px;padding:8px 16px;transition:var(--hover-transition)}.enhanced-view-toggle button.active{background-color:#0c5f2c;background-color:var(--primary-color);color:#fff}@media (max-width:768px){.enhanced-station-card{align-items:center;flex-direction:row;padding:12px}.enhanced-station-card .station-image{border-radius:6px;height:80px;margin-right:15px;overflow:hidden;width:80px}.enhanced-station-card .station-content{flex:1 1}.enhanced-filter-bar{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:10px}.enhanced-filter-button{padding:6px 12px;white-space:nowrap}.enhanced-station-details{border-radius:8px 8px 0 0;border-radius:var(--border-radius) var(--border-radius) 0 0;bottom:0;left:0;max-height:85vh;max-width:100%;overflow-y:auto;position:fixed;right:0;z-index:1000}.enhanced-view-toggle{bottom:75px;right:15px;top:auto}}.scroll-progress-container{background:#0000;height:4px;left:0;position:fixed;top:0;width:100%;z-index:9999}section{position:relative;transition:transform .5s ease-out,opacity .5s ease-out}section:before{background:#0c5f2c;content:"";height:2px;left:50%;position:absolute;top:0;transition:width .5s ease-out,left .5s ease-out;width:0}section.section-highlight:before{left:0;width:100%}*,:after,:before{box-sizing:inherit}.home-page{color:#333;font-family:Poppins,sans-serif}.home-header{box-shadow:0 2px 10px #0000000d;padding:15px 0;position:fixed;transition:padding .3s ease-in-out;width:100%}.header-container,.home-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px;min-height:70px;padding:0 40px;width:100%}.logo-text{font-size:22px}.nav-links{gap:25px}.nav-item{color:#333;text-decoration:none}.auth-buttons{gap:10px;margin-left:15px}.btn-login{border:2px solid #0c5f2c;border-radius:8px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-login:hover{background-color:#0c5f2c1a}.btn-signup{background-color:#0c5f2c;border-radius:8px;color:#fff;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s}.btn-signup:hover{background-color:#094222}.hamburger-menu{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:2rem;justify-content:space-around;padding:0;width:2rem;z-index:1001}.hamburger-menu:focus{outline:none}.hamburger-menu div{background:#0c5f2c;border-radius:10px;height:.25rem;position:relative;transform-origin:1px;transition:all .3s ease-in-out;width:2rem}.hamburger-menu.open div:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-menu.open div:nth-child(2){opacity:0;transform:translateX(20px)}.hamburger-menu.open div:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero-content{margin:0 auto;max-width:800px}.hero-content h1{font-size:48px;font-weight:700;margin-bottom:20px}.hero-content p{font-size:20px;margin-bottom:30px;opacity:.9}.hero-cta{display:flex;gap:15px;justify-content:center}.btn-primary{background-color:#fff;border:none;border-radius:8px;color:#0c5f2c;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s}.btn-primary:hover{background-color:#f0f0f0}.btn-secondary{background-color:#fff3;border-radius:8px;display:inline-block;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s}.btn-secondary:hover{background-color:#ffffff4d}.about-section{background-color:#f8f8f8;padding:80px 0;text-align:center}.about-section h2{color:#333;font-size:36px;margin-bottom:40px}.features-grid{grid-gap:30px;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:40px}.feature{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:30px;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.feature:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-10px)}.feature-icon{font-size:40px;margin-bottom:20px}.map-section{padding:80px 0}.map-section h2{font-size:36px;margin-bottom:15px;text-align:center}.section-intro{color:#666;margin:0 auto 40px;max-width:700px;text-align:center}.map-container{border-radius:12px;box-shadow:0 4px 12px #0000001a;width:100%}.mapboxgl-ctrl-attrib,.mapboxgl-ctrl-logo{display:block!important}.mapboxgl-canvas{height:100%!important;width:100%!important}.mapboxgl-popup-content{border-radius:4px;padding:10px}.station-infowindow h3{color:#0c5f2c;font-size:16px;margin:0 0 8px}.station-infowindow .address{color:#666;font-size:12px;margin-bottom:8px}.station-infowindow .info-details{font-size:12px;margin-bottom:10px}.station-infowindow .info-details p{margin:3px 0}.station-infowindow button{background:#0c5f2c;border:none;border-radius:4px;cursor:pointer;font-size:12px;padding:6px 12px}.stations-list-section{background-color:#f8f8f8;padding:80px 0}.stations-list-section h2{font-size:36px;margin-bottom:40px;text-align:center}.stations-grid{grid-gap:30px;gap:30px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.station-card{border-radius:12px;box-shadow:0 4px 12px #0000000d;transition:transform .3s}.station-image{background-color:#f0f0f0;border-radius:8px 8px 0 0;height:200px;overflow:hidden;position:relative;width:100%}.station-image img{display:block;height:100%;left:0;max-height:100%;max-width:100%;object-fit:cover;opacity:1;position:absolute;top:0;transition:opacity .3s ease,transform .3s ease;visibility:visible;width:100%;z-index:1}.image-loader{background-color:#f0f0f0b3;z-index:1}.image-loader .spinner{animation:spin 1s linear infinite;border:3px solid #0c5f2c4d;border-radius:50%;border-top-color:#0c5f2c;height:30px;width:30px}.station-rating{background:#ffffffe6;border-radius:20px;font-size:14px;font-weight:600;gap:4px;padding:5px 10px;right:15px;top:15px}.star-icon{color:gold}.station-content{padding:20px}.station-content h3{color:#0c5f2c;margin:0 0 10px}.address{color:#666;font-size:14px}.address,.station-details{margin-bottom:15px}.detail{border-bottom:1px dashed #eee;padding:5px 0}.detail-label{color:#666;font-weight:500}.detail-value{font-weight:600}.connectors,.station-amenities{margin-top:15px}.connector-tag{background-color:#e3f2fd;color:#1976d2}.amenity-tag,.connector-tag{border-radius:4px;font-size:12px;font-weight:500;padding:4px 8px}.amenity-tag{background-color:#f5f5f5;color:#666}.station-cta{margin-top:20px}.how-it-works{padding:80px 0;text-align:center}.how-it-works h2{font-size:36px;margin-bottom:60px}.steps{display:flex;justify-content:space-between;margin:0 auto 60px;max-width:1000px}.step{flex:1 1;padding:0 15px}.step-number{background-color:#0c5f2c;font-size:24px;margin:0 auto 20px}.cta-container{margin-top:40px}.btn-large{background-color:#0c5f2c;border-radius:8px;color:#fff;display:inline-block;font-size:18px;font-weight:600;padding:15px 30px;text-decoration:none;transition:all .2s}.btn-large:hover{background-color:#094222;box-shadow:0 4px 12px #0c5f2c4d;transform:translateY(-3px)}.footer{background-color:#232323;color:#fff;padding:60px 0 30px}.footer-columns{grid-gap:30px;gap:30px;margin-bottom:40px}.footer-column h3,.footer-column h4{margin-bottom:20px}.footer-column p{color:#bbb;line-height:1.6}.footer-column ul li{margin-bottom:10px}.footer-column ul li a{color:#bbb;text-decoration:none;transition:color .2s}.footer-column ul li a:hover{color:#fff}.copyright{border-top:1px solid #444;color:#999;padding-top:30px}.nearest-stations{background-color:#ffffffe6;border-radius:8px;margin-top:30px;padding:15px}.nearest-stations h3{color:#333;font-size:18px;margin-bottom:15px}.nearest-stations-cards{display:flex;gap:15px;overflow-x:auto;padding-bottom:10px}.nearest-station-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;flex:0 0 220px;padding:15px;transition:transform .2s,box-shadow .2s}.nearest-station-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-3px)}.nearest-station-card h4{color:#1976d2;font-size:16px;margin:0 0 8px}.nearest-station-card p{color:#555;font-size:14px;margin-bottom:10px}.nearest-station-card .btn-view{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 0;transition:background-color .2s;width:100%}.nearest-station-card .btn-view:hover{background-color:#1565c0}.station-card.highlight{box-shadow:0 0 15px #0c5f2c;transform:translateY(-5px);transition:all .3s ease}.btn-book:hover,.btn-large:hover,.btn-locate:hover,.btn-login:hover,.btn-primary:hover,.btn-secondary:hover,.btn-signup:hover,.btn-view:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px);transition:all .2s ease}.btn-book:active,.btn-large:active,.btn-locate:active,.btn-login:active,.btn-primary:active,.btn-secondary:active,.btn-signup:active,.btn-view:active{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.nearest-station-card{transition:transform .3s ease,box-shadow .3s ease}.nearest-station-card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-5px)}@media (max-width:1024px){.steps{flex-wrap:wrap}.step{flex-basis:50%;margin-bottom:40px}}@media (max-width:768px){.hamburger-menu{display:flex;height:1.8rem;padding:4px;position:relative;width:1.8rem;z-index:1001}.nav-links{align-items:flex-start;background-color:#fff;box-shadow:2px 0 15px #0000001a;display:none;flex-direction:column;height:100vh;left:0;overflow-y:auto;padding:70px 0 20px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px}.nav-links.open{display:flex!important;transform:translateX(0)!important}.nav-item{border-bottom:1px solid #f0f0f0;font-size:15px;font-weight:500;padding:14px 20px;transition:background-color .2s ease;width:100%}.nav-item:hover{background-color:#f8f9fa}.mobile-menu-overlay{opacity:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden}.mobile-menu-overlay.open{opacity:1;visibility:visible}.logo-text{font-size:1.1rem;font-weight:700;line-height:1.2;margin-right:auto}.home-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;min-height:60px;padding:8px 0;position:fixed}.header-container,.home-header .container{align-items:center;min-height:44px;padding:0 16px}.hero-banner{margin-top:0;padding:120px 20px 60px;text-align:center}.hero-content{max-width:100%;padding:0 10px}.hero-content h1{font-size:2.2rem;font-weight:700;line-height:1.2;margin-bottom:16px}.hero-content p{font-size:1.1rem;line-height:1.5;margin-bottom:24px;opacity:.95}.hero-cta{align-items:center;flex-direction:column;gap:16px;margin-top:32px}.hero-cta .btn-primary,.hero-cta .btn-secondary{align-items:center;border-radius:12px;display:flex;font-size:1rem;font-weight:600;justify-content:center;margin:0;max-width:300px;min-height:48px;padding:16px 24px;width:100%}.about-section,.explore-more,.faq-section,.how-it-works,.how-it-works-section,.map-section,.stations-list-section,.testimonials-section{padding:40px 0}.features-grid,.steps{gap:25px}.feature,.step{padding:25px}.cities-grid{flex-wrap:wrap;gap:8px;justify-content:center}.city-option{font-size:1.2rem;margin-bottom:3px}.city-name{font-size:.75rem}.city-title{font-size:1.6rem;margin-bottom:15px;margin-top:30px}.map-container{height:300px}.stations-grid{gap:20px;grid-template-columns:1fr}.station-card{flex-direction:column;padding:15px}.station-image-wrapper{height:160px;margin-bottom:10px}.station-content{padding:0}.station-name{font-size:1.15rem;margin-bottom:8px}.station-availability p,.station-details p,.station-pricing p{font-size:.8rem;margin-bottom:5px}.station-meta span{font-size:.75rem}.station-cta{flex-direction:column;gap:8px;margin-top:15px}.station-cta button{font-size:.9rem;padding:10px}.footer{padding:30px 0 15px}.footer-columns{gap:20px;grid-template-columns:1fr}.footer-column{margin-bottom:20px;text-align:center}.footer-column:last-child{margin-bottom:0}.footer-column h4{font-size:1.05rem;margin-bottom:8px}.footer-contact p,.footer-links li{margin-bottom:5px}.footer-contact a,.footer-contact p,.footer-links a{font-size:.85rem}.social-links{gap:12px;justify-content:center}.social-links a svg{height:18px;width:18px}.copyright{font-size:.75rem;margin-top:20px}.about-section,.explore-more,.how-it-works,.map-section,.stations-list-section{padding:60px 20px}.about-section h2,.how-it-works h2,.map-section h2,.stations-list-section h2{font-size:1.8rem;margin-bottom:24px;text-align:center}.section-intro{font-size:1rem;line-height:1.6;margin-bottom:32px;padding:0 10px}.features-grid,.steps{gap:24px;grid-template-columns:1fr;margin-top:32px}.feature,.step{border-radius:16px;padding:32px 24px;text-align:center}.feature-icon{font-size:48px;margin-bottom:16px}.feature h3,.step h3{font-size:1.2rem;margin-bottom:12px}.city-option{border-radius:12px;font-size:1rem;min-width:120px;padding:16px 20px}.city-name{font-size:.9rem;font-weight:600}.city-icon{font-size:2.2rem;margin-bottom:8px}.map-container{border-radius:16px;height:350px;margin:24px 0}.station-card{border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:0}.station-image{border-radius:12px 12px 0 0;height:180px}.station-image img{display:block;height:100%;left:0;object-fit:cover;opacity:1;position:absolute;top:0;width:100%}.station-content{padding:20px}.station-content h3{font-size:1.2rem;font-weight:600;margin-bottom:8px}.address{color:#666;font-size:.9rem;margin-bottom:16px}.station-details{margin-bottom:20px}.detail{border-bottom:1px solid #eee;padding:8px 0}.detail-label,.detail-value{font-size:.9rem}.detail-value{font-weight:600}.station-cta{gap:12px;margin-top:20px}.station-cta button{border-radius:10px;font-size:1rem;font-weight:600;min-height:48px;padding:14px 16px;width:100%}.btn-book,.btn-locate,.btn-primary,.btn-secondary,.city-option,.nav-item{align-items:center;display:flex;justify-content:center;min-height:44px}.search-bar-container{border-radius:25px;margin:20px auto;padding:6px;width:calc(100% - 40px)}.search-input{font-size:16px;padding:12px 16px}.search-button{font-size:1rem;min-height:44px;padding:12px 20px}.container{padding:0 20px;width:100%}h1{font-size:1.8rem;line-height:1.2}h2{font-size:1.5rem}h2,h3{line-height:1.3}h3{font-size:1.2rem}p{line-height:1.6;margin-bottom:16px}.footer{padding:40px 20px 20px}.mobile-menu-overlay{background-color:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:999}.nav-links{z-index:1000}}.city-selector{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:30px;padding:20px}.city-selector h3{color:#333;font-size:18px;margin-bottom:15px}.cities-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.city-option{background-color:#f8f8f8;border:2px solid #0000;padding:15px 10px;transition:all .3s}.city-option.active{background-color:#0c5f2c0d}.city-option:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}.city-name{font-weight:600;margin-top:8px}.city-icon{font-size:24px;margin-bottom:5px}.explore-more{background-color:#fff;padding:80px 0}.explore-more h2{font-size:36px;margin-bottom:20px;text-align:center}.city-title{align-items:center;color:#0c5f2c;display:flex;font-size:24px;gap:10px;margin-bottom:20px;margin-top:50px}.city-title:before{background-color:#0c5f2c;border-radius:3px;content:"";display:block;height:25px;width:5px}.city-selector-container{background-color:#f8f8f8;border-radius:8px;margin-bottom:30px;padding:20px;text-align:center}.city-selector-container h3{color:#0c5f2c;color:var(--primary-color,#0c5f2c);font-size:1.4rem;margin-bottom:15px;margin-top:0}.cities-buttons-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.city-button{background-color:#fff;border:1px solid #0c5f2c;border:1px solid var(--primary-color,#0c5f2c);border-radius:6px;color:#0c5f2c;color:var(--primary-color,#0c5f2c);cursor:pointer;font-weight:500;padding:10px 15px;transition:background-color .2s,color .2s,transform .2s}.city-button:hover{background-color:#23ad55;background-color:var(--primary-light,#23ad55);color:#fff;transform:translateY(-2px)}.city-button.active{background-color:#0c5f2c;background-color:var(--primary-color,#0c5f2c);border-color:#0c5f2c;border-color:var(--primary-color,#0c5f2c);color:#fff;font-weight:700}.search-bar-container{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#fffc;border-radius:50px;box-shadow:0 5px 15px #ffffff0d;display:flex;margin:30px auto 0;max-width:600px;padding:8px 8px 8px 20px;position:relative;transition:transform .2s ease-out,box-shadow .2s ease-out}.search-bar-container:focus-within{background-color:#fffffff2;box-shadow:0 8px 20px rgba(var(--primary-color-rgb),.2),0 0 0 3px rgba(var(--primary-color-rgb),.3);transform:scale(1.02)}.search-input{background-color:initial;border:none;flex-grow:1;font-size:1rem;outline:none;padding:10px 0}.search-button{background-color:#0c5f2c;background-color:var(--primary-color);border:none;border-radius:40px;color:#fff;cursor:pointer;font-size:1rem;margin-left:8px;padding:10px 25px;transition:background-color .3s ease}.search-button:hover{background-color:#4caf50;background-color:var(--secondary-color)}.search-suggestions{background-color:#fff;border:1px solid #ddd;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 8px 15px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:1000}.search-suggestions ul{list-style:none;margin:0;padding:0}.search-suggestions li{border-bottom:1px solid #eee;cursor:pointer;font-size:.95rem;padding:12px 20px;transition:background-color .2s ease}.search-suggestions li:last-child{border-bottom:none}.search-suggestions li:hover{background-color:#f5f5f5}.search-suggestions li strong{font-weight:600}.search-suggestions .suggestion-type{background-color:#eee;border-radius:4px;color:#777;font-size:.8em;margin-left:8px;padding:2px 6px}.map-loading-placeholder,.stations-loading-placeholder{align-items:center;background-color:#f8f9fa;border-radius:12px;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:50px 20px;text-align:center}.map-loading-placeholder{height:500px}.stations-loading-placeholder{margin-top:20px}.map-loading-placeholder .spinner,.stations-loading-placeholder .spinner{animation:spin 1s linear infinite;border:4px solid #0c5f2c33;border-radius:50%;border-top:4px solid var(--primary-color,#0c5f2c);height:40px;margin-bottom:15px;width:40px}.no-stations-message{background-color:#f1f3f5;border:1px dashed #ced4da;border-radius:8px;color:#555;font-size:1.1rem;margin-top:20px;padding:40px 20px;text-align:center}@media (max-width:768px){.search-bar-container{margin:20px auto;padding:5px;width:95%}.search-input{font-size:.9rem;padding:8px 10px}.search-button{font-size:.9rem;padding:8px 15px}.map-loading-placeholder{height:300px;padding:20px}.stations-loading-placeholder{padding:30px 15px}.no-stations-message{font-size:1rem;padding:30px 15px}.skeleton-image{height:160px}.station-card-skeleton .station-content{padding:15px}.geolocation-error-message{font-size:.9rem}}:root{--secondary-color:#4caf50;--accent-color:#ffc107;--text-color:#333;--light-gray:#f4f4f4;--medium-gray:#ccc;--white:#fff;--box-shadow:0 4px 8px #0000001a;--border-radius:8px;--transition-speed:0.3s ease}body{background-color:var(--white);color:var(--text-color);font-family:Arial,sans-serif;line-height:1.6}.container{padding:0 15px;width:90%}h1,h2,h3{color:#0c5f2c;color:var(--primary-color);margin-bottom:1rem}h1{font-size:2.5rem}h2{font-size:2rem;margin-bottom:2rem;text-align:center}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:#4caf50;transition:color .3s ease;transition:color var(--transition-speed)}a:hover{color:#0c5f2c;color:var(--primary-color)}.btn-book,.btn-large,.btn-locate,.btn-login,.btn-primary,.btn-secondary,.btn-signup,button{border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;font-size:1rem;padding:10px 20px;text-align:center;transition:background-color .3s ease,transform .3s ease;transition:background-color var(--transition-speed),transform var(--transition-speed)}.btn-book,.btn-large,.btn-primary{background-color:#0c5f2c;background-color:var(--primary-color);color:#fff;color:var(--white)}.btn-book:hover,.btn-large:hover,.btn-primary:hover{background-color:#4caf50;background-color:var(--secondary-color);transform:translateY(-2px)}.btn-locate,.btn-secondary{background-color:#fff;background-color:var(--white);border:1px solid #0c5f2c;border:1px solid var(--primary-color);color:#0c5f2c;color:var(--primary-color)}.btn-locate:hover,.btn-secondary:hover{background-color:#f4f4f4;background-color:var(--light-gray);transform:translateY(-2px)}.btn-login{background-color:initial;color:#0c5f2c;color:var(--primary-color);margin-right:10px}.btn-login:hover{color:#4caf50;color:var(--secondary-color)}.btn-signup{background-color:#ffc107;background-color:var(--accent-color);color:#333;color:var(--text-color)}.btn-signup:hover{background-color:#ffca2c;transform:translateY(-2px)}.home-header{background-color:#fff;background-color:var(--white);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow);padding:1rem 0;position:sticky;top:0;z-index:1000}.logo-text{color:#0c5f2c;font-size:1.5rem;font-weight:700}.nav-links{align-items:center}.nav-item{color:#555;margin-left:20px}.nav-item:hover{color:#0c5f2c;color:var(--primary-color)}.auth-buttons{align-items:center;display:flex}.auth-buttons,.profile-menu-container{margin-left:30px}.profile-button{align-items:center;border-radius:20px;cursor:pointer;display:flex;padding:5px 10px;transition:background-color .2s}.profile-button:hover{background-color:#0c5f2c1a}.profile-avatar{align-items:center;background-color:red!important;border-radius:50%;display:flex;height:20px!important;justify-content:center;margin-right:8px;overflow:hidden;width:20px!important}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-initials{color:#fff;font-size:10px!important;font-weight:700}.profile-name{font-weight:500;margin-right:3px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{color:#333;display:inline-block;font-size:10px;transition:transform .3s ease}.profile-chevron.open{transform:rotate(180deg)}.profile-dropdown{animation:dropdownFadeIn .2s ease;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:8px;overflow:hidden;position:absolute;right:0;top:100%;width:220px;z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-header{border-bottom:1px solid #eee;display:flex;flex-direction:column;padding:12px 16px}.profile-email{color:#666;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-items{display:flex;flex-direction:column}.profile-dropdown-items button{background:none;border:none;cursor:pointer;font-size:14px;padding:10px 16px;text-align:left;transition:background-color .2s}.profile-dropdown-items button:hover{background-color:#f5f5f5}.logout-button{border-top:1px solid #eee;color:#d32f2f;margin-top:4px}@media (max-width:768px){.profile-name{display:none}.profile-button{padding:5px}.profile-dropdown{box-sizing:border-box;right:-110px;width:180px;z-index:1010}.profile-dropdown-items button{box-sizing:border-box;display:block;font-size:13px;padding:8px 8px 8px 10px;text-align:left;text-indent:0;width:100%}}.hero-banner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='a' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='transparent' d='M0 0h100v100H0z'/%3E%3Cpath filter='url(%23a)' opacity='.07' d='M0 0h100v100H0z'/%3E%3C/svg%3E"),linear-gradient(135deg,#0c5f2c,#23ad55);background-repeat:repeat,no-repeat;background-size:auto,cover;color:#fff;opacity:.9;padding:160px 0 80px;text-align:center}.hero-content h1{color:#fff;color:var(--white);font-size:3rem;margin-bottom:1rem}.hero-content p{font-size:1.2rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:600px}.hero-cta a,.hero-cta button{margin:0 10px}section{padding:4rem 0}.about-section,.how-it-works{background-color:#f4f4f4;background-color:var(--light-gray)}.features-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));text-align:center}.feature{background:#fff;background:var(--white);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow);padding:2rem;transition:transform .3s ease;transition:transform var(--transition-speed)}.feature:hover{transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature h3{color:#0c5f2c;margin-bottom:15px}.city-selector{margin-bottom:3rem;text-align:center}.cities-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.city-option{align-items:center;border:1px solid #ccc;border:1px solid var(--medium-gray);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:flex;flex-direction:column;min-width:100px;padding:1rem 1.5rem;text-align:center;transition:background-color .3s ease,border-color .3s ease;transition:background-color var(--transition-speed),border-color var(--transition-speed)}.city-option:hover{background-color:#f4f4f4;background-color:var(--light-gray)}.city-option.active{background-color:#0c5f2c;background-color:var(--primary-color);border-color:#0c5f2c;border-color:var(--primary-color)}.city-option.active,.city-option.active .city-name{color:#fff;color:var(--white)}.city-option.active .city-icon{filter:brightness(0) invert(1)}.city-icon{font-size:2rem;margin-bottom:.5rem}.city-name{color:#333;color:var(--text-color);font-weight:500}.map-section .section-intro{color:var(--dark-gray);margin:0 auto 2rem;max-width:700px;text-align:center}.map-container{border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow);height:500px;overflow:hidden}.station-infowindow{max-width:250px;padding:5px}.station-infowindow h3{font-size:1.1rem;margin:0 0 5px}.station-infowindow p{color:var(--dark-gray);font-size:.9rem;margin:0 0 8px}.station-infowindow .address{font-style:italic}.station-infowindow .info-details p{margin-bottom:3px}.station-infowindow button{background-color:#4caf50;background-color:var(--secondary-color);color:#fff;color:var(--white);font-size:.9rem;margin-top:5px;padding:5px 10px;width:100%}.station-infowindow button:hover{background-color:#0c5f2c;background-color:var(--primary-color)}.stations-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.station-card{background-color:#fff;background-color:var(--white);border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 8px #0000001a;box-shadow:var(--box-shadow);display:flex;flex-direction:column;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;transition:transform var(--transition-speed),box-shadow var(--transition-speed)}.station-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-5px)}.image-loader{align-items:center;background-color:#ffffffb3;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.spinner{animation:spin 1s ease infinite;border:4px solid #0000001a;border-left:4px solid var(--primary-color);border-radius:50%;height:36px;width:36px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.station-rating{align-items:center;background-color:#000000b3;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);display:flex;font-size:.9rem;padding:5px 8px;position:absolute;right:10px;top:10px}.star-icon{color:#ffc107;color:var(--accent-color);margin-right:4px}.station-content{display:flex;flex-direction:column;flex-grow:1;padding:1.5rem}.station-content h3{color:#333;margin-bottom:5px}.station-content .address{color:var(--dark-gray)}.station-content .address,.station-details{font-size:.9rem;margin-bottom:1rem}.detail{border-bottom:1px solid #f4f4f4;border-bottom:1px solid var(--light-gray);display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem}.detail:last-child{border-bottom:none;margin-bottom:0}.detail-label{color:var(--dark-gray);font-weight:700;margin-right:10px}.detail-value{color:#333;font-weight:500}.connectors,.station-amenities{margin-bottom:1rem}.amenity-tags,.connector-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.amenity-tag,.connector-tag{background-color:#f4f4f4;background-color:var(--light-gray);border-radius:12px;color:#555;display:inline-block;font-size:.8rem;margin-bottom:5px;margin-right:5px;padding:3px 8px}.station-cta{display:flex;gap:10px;margin-top:auto}.btn-book{background-color:#0c5f2c;border:none;border-radius:6px;color:#fff}.btn-book,.btn-locate{cursor:pointer;flex:1 1;font-weight:600;padding:10px 0}.btn-locate{background-color:initial;border:1px solid #0c5f2c;border-radius:6px;color:#0c5f2c}.steps{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:3rem;text-align:center}.step{padding:1rem}.step-number{align-items:center;background-color:#4caf50;background-color:var(--secondary-color);border-radius:50%;color:#fff;color:var(--white);display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;margin:0 auto 1rem;width:50px}.step h3{color:#0c5f2c;margin-bottom:15px}.cta-container{margin-top:2rem;text-align:center}.footer{background-color:#333;background-color:var(--text-color);color:#f4f4f4;color:var(--light-gray);padding:3rem 0 1rem}.footer-columns{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.footer-column h3,.footer-column h4{color:#fff;color:var(--white);margin-bottom:1rem}.footer-column li,.footer-column p{color:#ccc;color:var(--medium-gray);font-size:.9rem}.footer-column ul{list-style:none;margin:0;padding:0}.footer-column li{margin-bottom:.5rem}.footer-column a{color:#ccc;color:var(--medium-gray)}.footer-column a:hover{color:#fff;color:var(--white)}.social-links{flex-wrap:wrap;gap:15px}.social-link,.social-links{align-items:center;display:flex}.social-link{background:none;border:1px solid #bbb;border-radius:50%;color:#bbb;cursor:pointer;font-size:18px;height:40px;justify-content:center;line-height:1;padding:0;text-decoration:none;width:40px}.social-link:hover{background-color:#ffffff1a;border-color:#fff;color:#fff;transform:translateY(-2px)}.social-link span[role=img]{display:inline-block}.copyright{border-top:1px solid #555;font-size:14px;margin-top:30px;padding-top:20px;text-align:center}@media (max-width:992px){h1{font-size:2.2rem}h2{font-size:1.8rem}h3{font-size:1.3rem}.hero-content h1{font-size:2.5rem}.hero-content p{font-size:1.1rem}.stations-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.stats-section{padding:3.5rem 0}.stats-grid{gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:900px}.stat-item{border-radius:14px;padding:1.75rem}.counter-value{font-size:2.8rem}.stat-item h3{font-size:1.4rem}.live-stats-container{border-radius:14px;margin:2.5rem auto;max-width:700px}.live-stats-grid{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stats-highlight{border-radius:14px;margin:2.5rem auto;max-width:800px}}@media (max-width:768px){.container{padding:0 15px}h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.1rem}.header-container{align-items:center;padding:0 10px;position:relative}.logo-text{font-size:1.1rem;margin-right:auto}.hamburger-menu{display:flex;margin-left:10px;order:3}.nav-links{align-items:flex-start;background-color:#fff;box-shadow:2px 0 5px #0003;display:none;flex-direction:column;height:100vh;left:0;padding:70px 20px 20px;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease-in-out;width:280px;z-index:1000}.nav-links.open{display:flex!important;transform:translateX(0)!important}.nav-item{margin:0;width:100%}.nav-item a,.nav-item button{border-bottom:1px solid #f0f0f0;display:block;padding:.8rem 1.5rem;text-align:left;width:100%}.nav-item:last-child a,.nav-item:last-child button{border-bottom:none}.nav-item a:hover,.nav-item button:hover{background-color:#f9f9f9}.auth-buttons{display:flex;gap:6px;margin-left:0;order:2}.btn-login,.btn-signup{border-radius:6px;font-size:.8rem;min-height:36px;padding:6px 12px}.hero-banner{margin-top:40px;padding:20px 0}.hero-content h1{font-size:1.5rem;margin-bottom:10px}.hero-content p{font-size:.85rem;margin-bottom:15px}.hero-cta{align-items:center;flex-direction:column;gap:10px}.hero-cta .btn-primary,.hero-cta .btn-secondary{font-size:.9rem;margin:0;max-width:280px;padding:10px 15px;width:85%}.about-section,.explore-more,.faq-section,.how-it-works,.how-it-works-section,.map-section,.stations-list-section,.testimonials-section{padding:40px 0}.features-grid,.steps{gap:25px;grid-template-columns:1fr}.feature,.step{padding:25px}.cities-grid{flex-wrap:wrap;gap:8px;justify-content:center}.city-option{font-size:1.2rem;margin-bottom:3px}.city-name{font-size:.75rem}.city-title{font-size:1.6rem;margin-bottom:15px;margin-top:30px}.map-container{height:300px}.stations-grid{gap:20px;grid-template-columns:1fr}.station-card{flex-direction:column;padding:15px}.station-image-wrapper{height:160px;margin-bottom:10px}.station-content{padding:0}.station-name{font-size:1.15rem;margin-bottom:8px}.station-availability p,.station-details p,.station-pricing p{font-size:.8rem;margin-bottom:5px}.station-meta span{font-size:.75rem}.station-cta{flex-direction:column;gap:8px;margin-top:15px}.station-cta button{font-size:.9rem;padding:10px;width:100%}.footer{padding:30px 0 15px}.footer-columns{gap:20px;grid-template-columns:1fr}.footer-column{margin-bottom:20px;text-align:center}.footer-column:last-child{margin-bottom:0}.footer-column h4{font-size:1.05rem;margin-bottom:8px}.footer-contact p,.footer-links li{margin-bottom:5px}.footer-contact a,.footer-contact p,.footer-links a{font-size:.85rem}.social-links{gap:12px;justify-content:center}.social-links a svg{height:18px;width:18px}.copyright{font-size:.75rem;margin-top:20px}}.nearest-stations-section{background-color:#f9f9f9;padding:60px 0}.nearest-stations-section h2{color:#333;font-size:2.5rem;margin-bottom:40px;text-align:center}.nearest-stations-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.nearest-station-card{border:1px solid #23ad55;border:1px solid var(--primary-light,#23ad55)}.nearest-station-card .distance-info{background-color:#007bff0d;border-radius:4px;color:#007bff;display:inline-block;font-size:.95em;font-weight:500;margin-bottom:10px;padding:5px 8px}.nearest-station-card .station-cta button{font-size:.9em}@media (max-width:768px){.nearest-stations-section{padding:40px 0}.nearest-stations-section h2{font-size:1.6rem;margin-bottom:30px}.nearest-station-card .distance-info{font-size:.9rem}.nearest-stations-grid{grid-template-columns:1fr}}.station-card-skeleton{background-color:#fff;border:1px solid #e0e0e0;opacity:.7}.skeleton{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite;background-color:#e0e0e0;border-radius:4px}.skeleton-image{height:200px;margin-bottom:15px;width:100%}.station-card-skeleton .station-content{padding:20px}.skeleton-title{height:24px;margin-bottom:10px;width:60%}.skeleton-text{height:16px;margin-bottom:8px;width:90%}.skeleton-text.short{width:70%}.skeleton-details{height:40px;margin-bottom:15px;margin-top:15px;width:100%}.skeleton-cta{height:40px;margin-top:10px;width:100%}.geolocation-error-section{background-color:#fff3cd;border-bottom:1px solid #ffeeba;border-top:1px solid #ffeeba;padding:20px 0}.geolocation-error-message{color:#856404;font-size:1rem;font-weight:500;text-align:center}.ev-tips-section{background-color:#eef7ff;padding:60px 0;text-align:center}.ev-tips-section h2{color:#2c3e50;font-size:2.5rem;margin-bottom:40px}.tip-card{background-color:#fff;border-left:5px solid #3498db;border-radius:12px;box-shadow:0 8px 25px #0000001a;margin:0 auto;max-width:700px;padding:30px}.tip-text{color:#34495e;font-size:1.2rem;line-height:1.8;margin-bottom:25px}.btn-next-tip{background-color:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 25px;transition:background-color .3s ease,transform .2s ease}.btn-next-tip:hover{background-color:#2980b9;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1;visibility:visible}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0);visibility:visible}}.initially-hidden{opacity:0;visibility:hidden}.is-visible .animate-slide-up{animation:slideInUp .7s ease-out forwards}.is-visible .animate-fade-in{animation:fadeIn .7s ease-out forwards}.is-visible .stagger-children .stagger-child-1{animation:slideInUp .7s ease-out .1s forwards}.is-visible .stagger-children .stagger-child-2{animation:slideInUp .7s ease-out .2s forwards}.is-visible .stagger-children .stagger-child-3{animation:slideInUp .7s ease-out .3s forwards}.is-visible .stagger-children .stagger-child-4{animation:slideInUp .7s ease-out .4s forwards}.is-visible .stagger-children .stagger-child-5{animation:slideInUp .7s ease-out .5s forwards}.cost-estimator-section{background-color:#f8f9fa;padding:60px 0}.cost-estimator-section h2{color:#333;font-size:2.5rem;font-weight:600;margin-bottom:40px;text-align:center}.ai-assistant-fab{align-items:center;background-color:#0c5f2c;background-color:var(--primary-color,#0c5f2c);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:28px;height:60px;justify-content:center;position:fixed;right:20px;transition:transform .2s ease-out,background-color .2s ease-out;width:60px;z-index:1040}.ai-assistant-fab:hover{background-color:#4caf50;background-color:var(--secondary-color,#23ad55);transform:scale(1.1)}.ai-assistant-fab svg{fill:#fff;height:28px;width:28px}.ai-assistant-fab .notification-badge{align-items:center;background-color:red;border:2px solid #fff;border-radius:50%;box-shadow:0 0 5px #0000004d;color:#fff;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}.scrolling-down,.scrolling-up{scroll-behavior:smooth}.section-highlight{animation:section-highlight-pulse 1s ease-in-out}@keyframes section-highlight-pulse{0%{box-shadow:0 0 0 0 #0c5f2c00}50%{box-shadow:0 0 20px 10px #0c5f2c33}to{box-shadow:0 0 0 0 #0c5f2c00}}[data-scroll]{opacity:0;transition:transform 1s ease,opacity 1s ease}[data-scroll].scroll-visible{opacity:1}[data-scroll=fade-in]{opacity:0}[data-scroll=fade-in].scroll-visible{opacity:1}[data-scroll=slide-up]{transform:translateY(80px)}[data-scroll=slide-up].scroll-visible{transform:translateY(0)}[data-scroll=slide-right]{transform:translateX(-80px)}[data-scroll=slide-right].scroll-visible{transform:translateX(0)}[data-scroll=slide-left]{transform:translateX(80px)}[data-scroll=slide-left].scroll-visible{transform:translateX(0)}section{overflow:hidden}[data-scroll=stagger-item]{opacity:0;transform:translateY(50px);transition-property:opacity,transform}[data-scroll=stagger-item].scroll-visible{opacity:1;transform:translateY(0)}[data-scroll=stagger-item]:first-child{transition-delay:0s}[data-scroll=stagger-item]:nth-child(2){transition-delay:.1s}[data-scroll=stagger-item]:nth-child(3){transition-delay:.2s}[data-scroll=stagger-item]:nth-child(4){transition-delay:.3s}[data-scroll=stagger-item]:nth-child(5){transition-delay:.4s}[data-scroll=stagger-item]:nth-child(6){transition-delay:.5s}.hero-banner{overflow:hidden;position:relative}.hero-banner:before{animation:parallaxBackground 40s linear infinite;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%23fff' fill-opacity='.1'%3E%3Ccircle cx='25' cy='25' r='3'/%3E%3Ccircle cx='75' cy='25' r='3'/%3E%3Ccircle cx='125' cy='25' r='3'/%3E%3Ccircle cx='175' cy='25' r='3'/%3E%3Ccircle cx='25' cy='75' r='3'/%3E%3Ccircle cx='75' cy='75' r='3'/%3E%3Ccircle cx='125' cy='75' r='3'/%3E%3Ccircle cx='175' cy='75' r='3'/%3E%3Ccircle cx='25' cy='125' r='3'/%3E%3Ccircle cx='75' cy='125' r='3'/%3E%3Ccircle cx='125' cy='125' r='3'/%3E%3Ccircle cx='175' cy='125' r='3'/%3E%3Ccircle cx='25' cy='175' r='3'/%3E%3Ccircle cx='75' cy='175' r='3'/%3E%3Ccircle cx='125' cy='175' r='3'/%3E%3Ccircle cx='175' cy='175' r='3'/%3E%3C/g%3E%3C/svg%3E");background-size:60px 60px;content:"";height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:0}@keyframes parallaxBackground{0%{background-position:0 0}to{background-position:0 600px}}.hero-content{position:relative;z-index:1}.btn-book,.btn-large,.btn-locate,.btn-primary,.btn-secondary,.city-button,.search-button{overflow:hidden;position:relative;transition:all .4s ease}.btn-book:before,.btn-large:before,.btn-locate:before,.btn-primary:before,.btn-secondary:before,.search-button:before{background-color:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0;z-index:-1}.btn-book:hover:before,.btn-large:hover:before,.btn-locate:hover:before,.btn-primary:hover:before,.btn-secondary:hover:before,.search-button:hover:before{height:300px;width:300px}.counter-animation{display:inline-block;transition:transform 1.5s cubic-bezier(.23,1,.32,1),opacity 1.5s ease}.counter-animation.counting{animation:counterPulse .6s ease-in-out}@keyframes counterPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.feature{transition:transform .5s cubic-bezier(.175,.885,.32,1.275),box-shadow .5s ease,background-color .5s ease}.feature:hover{background-color:#f9fffc;box-shadow:0 15px 30px #0000001f;transform:translateY(-15px) scale(1.05)}.feature .feature-icon{transition:transform .5s cubic-bezier(.68,-.55,.27,1.55)}.feature:hover .feature-icon{transform:scale(1.2) rotate(10deg)}.station-card{transition:transform .6s cubic-bezier(.165,.84,.44,1),box-shadow .6s ease}.station-card:hover{box-shadow:0 15px 35px #0c5f2c26;transform:translateY(-12px) scale(1.02)}.station-card:after{border-radius:12px;box-shadow:0 5px 15px #0000;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .6s ease;width:100%}.station-card:hover:after{box-shadow:0 5px 15px #0c5f2c33;opacity:1}.step-number{position:relative;transition:transform .4s ease,color .4s ease;z-index:1}.step-number:before{background-color:#0c5f2c;border-radius:50%;content:"";height:100%;left:0;position:absolute;top:0;transform:scale(1);transition:transform .4s ease,background-color .4s ease;width:100%;z-index:-1}.step:hover .step-number{color:#fff;transform:scale(1.1)}.step:hover .step-number:before{background-color:#23ad55;transform:scale(1.2)}.cursor-follower{background-color:#0c5f2c4d;border-radius:50%;display:none;height:30px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,background-color .3s ease;width:30px;z-index:9999}@media (min-width:1024px){.cursor-follower{display:block}}@keyframes imagePulse{0%{opacity:.6}50%{opacity:.9}to{opacity:.6}}.station-image img.loading{animation:imagePulse 1.5s infinite}.feature,.station-card,.step{transform-style:preserve-3d;transition:transform .5s ease}.tilt-effect{transform:perspective(1000px) rotateX(var(--rotateX)) rotateY(var(--rotateY))}.animated-bg-section{overflow:hidden;position:relative}.animated-bg-section:before{animation:gradientMove 20s linear infinite;background:linear-gradient(45deg,#0c5f2c08,#23ad5508 20%,#fff0 30%,#fff0 70%,#23ad5508 80%,#0c5f2c08);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(30deg);width:200%;z-index:-1}@keyframes gradientMove{0%{transform:rotate(30deg) translateY(0)}50%{transform:rotate(30deg) translateY(-100px)}to{transform:rotate(30deg) translateY(0)}}.floating-animation{animation:float 6s ease-in-out infinite}.typewriter-text{animation:typing 4s steps(40),blink-caret .75s step-end infinite;border-right:2px solid #0c5f2c;margin:0 auto;overflow:hidden;white-space:nowrap}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:#0c5f2c}}.pulse-animation{position:relative}.pulse-animation:after{animation:pulse 2s infinite;border-radius:inherit;box-shadow:0 0 0 0 #0c5f2c80;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.stacked-cards-container{margin:40px 0;perspective:1000px;position:relative}.stacked-card{box-shadow:0 5px 20px #0000001a;opacity:0;position:absolute;transform:translateY(20px) scale(.9);transition:all .5s ease;width:100%}.stacked-card.active{opacity:1;transform:translateY(0) scale(1);z-index:5}.stacked-card.prev{opacity:.7;transform:translateY(-15px) scale(.95);z-index:4}.stacked-card.next{opacity:.7;transform:translateY(15px) scale(.95);z-index:3}.scroll-progress-bar{position:relative}.scroll-progress-bar:after{animation:progressPulse 1.5s ease-out infinite;background:#fffc;border-radius:0 2px 2px 0;content:"";height:100%;position:absolute;right:0;top:0;width:10px}@keyframes progressPulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.counting-animation{display:inline-block;opacity:0;transform:translateY(20px);transition:opacity 1.2s cubic-bezier(.25,.46,.45,.94),transform 1.2s cubic-bezier(.25,.46,.45,.94)}.counting-animation.visible{opacity:1;transform:translateY(0)}.number-increment{animation:numberIncrement 2s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes numberIncrement{0%{opacity:0;transform:translateY(10px) scale(.9)}50%{opacity:.7;transform:translateY(-5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.rotating-icon{transition:transform .5s ease}.feature:hover .rotating-icon{transform:rotateY(180deg)}section{opacity:0;transform:translateY(20px);transition:transform .8s ease-out,opacity .8s ease-out}section.in-view{opacity:1;transform:translateY(0)}.stats-section{background:linear-gradient(180deg,#f8f9fa,#fff);overflow:hidden;padding:4rem 0;position:relative}.stats-section:before{background:linear-gradient(90deg,#0c5f2c,#2ecc71);content:"";height:4px;left:0;position:absolute;right:0;top:0}.stats-section h2{word-wrap:break-word;box-sizing:border-box;color:#0c5f2c;display:block;font-size:2.5rem;-webkit-hyphens:auto;hyphens:auto;margin-bottom:3rem;max-width:100%;overflow-wrap:break-word;padding:0 1rem;position:relative;text-align:center;width:100%}.stats-section h2:after{background:#0c5f2c;border-radius:2px;bottom:-10px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.stats-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-item{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;padding:2rem;position:relative;text-align:center;transition:all .3s ease}.stat-item:before{background:#0c5f2c;content:"";height:4px;left:0;position:absolute;top:0;transform:scaleX(0);transition:transform .3s ease;width:100%}.stat-item:hover:before{transform:scaleX(1)}.stat-item:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-5px)}.stat-icon{animation:float 3s ease-in-out infinite;display:inline-block;font-size:3rem;margin-bottom:1rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.counter-animation{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.counter-animation.visible{opacity:1;transform:translateY(0)}.counter-value{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#0c5f2c,#2ecc71);-webkit-background-clip:text;color:#0c5f2c;display:block;font-size:3rem;font-weight:700;margin-bottom:.5rem}.stat-item h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.stat-description{color:#666;font-size:1rem;margin-top:.5rem}.stat-progress{background:#f0f0f0;border-radius:2px;height:4px;margin-top:1rem;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#0c5f2c,#2ecc71);height:100%;transition:width 1s ease-in-out}.live-stats-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:2rem 0;padding:2rem}.live-stats-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.live-stats-header h3{color:#0c5f2c;font-size:1.5rem;margin:0}.live-indicator{align-items:center;color:#2ecc71;display:flex;font-weight:500;gap:.5rem}.pulse{animation:pulse 2s infinite;background:#2ecc71;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.live-stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.live-stat-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:transform .3s ease}.live-stat-item:hover{transform:translateX(5px)}.live-stat-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;font-size:2rem;height:50px;justify-content:center;width:50px}.live-stat-content{display:flex;flex-direction:column}.live-stat-value{color:#0c5f2c;font-size:1.5rem;font-weight:700}.last-updated,.live-stat-label{color:#666;font-size:.9rem}.last-updated{margin-top:1rem;text-align:right}.stats-highlight{background:linear-gradient(135deg,#0c5f2c,#2ecc71);border-radius:12px;color:#fff;margin-top:3rem;overflow:hidden;padding:2rem;position:relative;text-align:center}.stats-highlight:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%23fff' fill-opacity='.05' fill-rule='evenodd'/%3E%3C/svg%3E");bottom:0;content:"";left:0;position:absolute;right:0;top:0}.stats-highlight p{font-size:1.5rem;font-weight:700;margin-bottom:1rem;position:relative}.highlight-details{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:1.5rem;position:relative}.highlight-features{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:1.5rem;position:relative}.feature-item{align-items:center;background:#ffffff1a;border-radius:6px;display:flex;gap:.5rem;padding:.75rem;transition:transform .3s ease}.feature-item:hover{background:#fff3;transform:translateY(-2px)}.feature-icon{font-size:1.2rem}@media (max-width:768px){.stats-section{padding:3rem 0}.stats-section h2{word-wrap:break-word;box-sizing:border-box;font-size:1.6rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin-bottom:2rem;max-width:100%;overflow-wrap:break-word;padding:0 1rem;text-align:center}.stats-grid{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#f8f9faf2);border:1px solid #0c5f2c1a;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin:0;padding:1.5rem 1rem;transform:translateY(0);transition:all .3s ease}.stat-item:hover{box-shadow:0 12px 40px #00000026;transform:translateY(-3px)}.stat-icon{filter:drop-shadow(0 2px 4px rgba(12,95,44,.2));font-size:2.5rem;margin-bottom:.75rem}.counter-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0c5f2c,#2ecc71,#27ae60);-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:800;margin-bottom:.25rem;text-shadow:none}.stat-item h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.stat-description{color:#718096;font-size:.85rem;line-height:1.4;margin-top:.25rem}.stat-progress{background:#0c5f2c1a;height:6px;margin-top:.75rem}.progress-bar,.stat-progress{border-radius:3px;overflow:hidden;position:relative}.progress-bar{background:linear-gradient(90deg,#0c5f2c,#2ecc71,#27ae60);height:100%}.progress-bar:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.live-stats-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#f8f9faf2);border:1px solid #0c5f2c1a;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin:2rem 1rem;padding:1.5rem}.live-stats-header{align-items:flex-start;flex-direction:column;gap:.5rem;margin-bottom:1rem}.live-stats-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0c5f2c,#2ecc71);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;margin:0}.live-indicator{background:#2ecc711a;border:1px solid #2ecc7133;border-radius:20px;font-size:.85rem;padding:.25rem .75rem}.live-stats-grid{gap:1rem;grid-template-columns:1fr}.live-stat-item{background:linear-gradient(135deg,#f8f9facc,#ffffffe6);border:1px solid #0c5f2c0d;border-radius:12px;box-shadow:0 4px 16px #0000000d;padding:1rem;transition:all .3s ease}.live-stat-item:hover{box-shadow:0 6px 20px #0000001a;transform:translateX(5px)}.live-stat-icon{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #0c5f2c1a;box-shadow:0 4px 12px #0c5f2c26;font-size:1.5rem;height:45px;width:45px}.live-stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0c5f2c,#2ecc71);-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700}.live-stat-label{color:#64748b;font-size:.8rem;font-weight:500}.last-updated{border-top:1px solid #0c5f2c1a;color:#94a3b8;font-size:.75rem;margin-top:.75rem;padding-top:.75rem;text-align:center}.stats-highlight{background:linear-gradient(135deg,#0c5f2c,#2ecc71,#27ae60);border-radius:16px;margin:2rem 1rem;overflow:hidden;padding:1.5rem;position:relative}.stats-highlight:before{background-size:30px 30px;opacity:.1}.stats-highlight p{font-size:1.2rem;font-weight:700;margin-bottom:.75rem;text-align:center}.highlight-details{flex-direction:column;gap:.75rem;margin-bottom:1rem}.highlight-details span{font-size:.9rem;font-weight:500;opacity:.9}.highlight-details span:nth-child(2n){display:none}.highlight-features{gap:.75rem;grid-template-columns:1fr;margin-top:1rem}.feature-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:8px;padding:.75rem 1rem;transition:all .3s ease}.feature-item:hover{background:#ffffff40;box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.feature-item span{font-size:.85rem;font-weight:500}.feature-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:1.1rem}.stat-item{animation:mobile-stat-entrance .6s ease-out forwards;opacity:0;transform:translateY(30px)}.stat-item:first-child{animation-delay:.1s}.stat-item:nth-child(2){animation-delay:.2s}.stat-item:nth-child(3){animation-delay:.3s}@keyframes mobile-stat-entrance{to{opacity:1;transform:translateY(0)}}.counter-animation.visible .counter-value{animation:mobile-counter-pulse .8s ease-out}@keyframes mobile-counter-pulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}}@media (max-width:360px){.stats-section h2{font-size:1.1rem!important;line-height:1.6!important;margin-bottom:1.25rem!important;word-break:break-word}.stats-grid,.stats-section h2{padding:0 .5rem!important}.live-stats-container,.stats-highlight{margin:1.25rem .5rem!important}}@media (max-width:480px){.stats-section{padding:2.5rem 0}.stats-section h2{word-wrap:break-word;box-sizing:border-box;font-size:1.3rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;margin-bottom:1.5rem;max-width:100%;overflow-wrap:break-word;padding:0 .75rem;text-align:center}.stats-grid{gap:1.25rem;padding:0 .75rem}.stat-item{border-radius:12px;padding:1.25rem .75rem}.stat-icon{font-size:2rem;margin-bottom:.5rem}.counter-value{font-size:1.8rem}.stat-item h3{font-size:1rem}.stat-description{font-size:.8rem}.live-stats-container{border-radius:12px;margin:1.5rem .75rem;padding:1.25rem}.live-stats-header h3{font-size:1.1rem}.live-indicator{font-size:.75rem;padding:.2rem .5rem}.live-stat-icon{font-size:1.25rem;height:40px;width:40px}.live-stat-value{font-size:1.1rem}.live-stat-label{font-size:.75rem}.stats-highlight{border-radius:12px;margin:1.5rem .75rem;padding:1.25rem}.stats-highlight p{font-size:1rem}.feature-item{padding:.5rem .75rem}.feature-item span{font-size:.8rem}.feature-icon{font-size:1rem}}.station-card .optimized-image-container{background-color:initial!important;left:0!important;overflow:hidden!important;top:0!important}.station-card .optimized-image,.station-card .optimized-image-container{border-radius:0!important;height:100%!important;position:absolute!important;width:100%!important}.station-card .optimized-image{left:50%!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;top:50%!important;transform:translate(-50%,-50%)!important}.station-card .optimized-image.loading{opacity:1!important}.nearest-stations-grid .station-card,.stations-grid .station-card{border-radius:12px!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;margin:0!important;overflow:hidden!important;padding:0!important}.stations-grid .station-card .station-image{background-color:#f5f5f5!important;border-radius:12px 12px 0 0!important;box-sizing:border-box!important;display:block!important;height:200px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:relative!important;width:100%!important}.stations-grid .station-card .station-image .optimized-image-container{display:block!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.stations-grid .station-card .station-image .optimized-image-container .optimized-image,.stations-grid .station-card .station-image .optimized-image-container img,.stations-grid .station-card .station-image img{border:none!important;display:block!important;height:100%!important;left:50%!important;margin:0!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;outline:none!important;padding:0!important;position:absolute!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:100%!important;z-index:1!important}.nearest-stations-grid .station-card .station-image{background-color:#f5f5f5!important;border-radius:12px 12px 0 0!important;box-sizing:border-box!important;display:block!important;height:200px!important;margin:0!important;overflow:hidden!important;padding:0!important;position:relative!important;width:100%!important}.nearest-stations-grid .station-card .station-image .optimized-image-container{display:block!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.nearest-stations-grid .station-card .station-image .optimized-image-container .optimized-image,.nearest-stations-grid .station-card .station-image .optimized-image-container img,.nearest-stations-grid .station-card .station-image img{border:none!important;display:block!important;height:100%!important;left:50%!important;margin:0!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;outline:none!important;padding:0!important;position:absolute!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:100%!important;z-index:1!important}@media (max-width:768px){.stations-grid .station-card .station-image{border-radius:12px 12px 0 0!important;height:180px!important;margin:0!important;padding:0!important}.stations-grid .station-card .station-image .optimized-image-container{display:block!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.stations-grid .station-card .station-image .optimized-image-container .optimized-image,.stations-grid .station-card .station-image .optimized-image-container img,.stations-grid .station-card .station-image img{border:none!important;display:block!important;height:100%!important;left:50%!important;margin:0!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;padding:0!important;position:absolute!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:100%!important;z-index:1!important}.nearest-stations-grid .station-card .station-image{border-radius:12px 12px 0 0!important;height:180px!important;margin:0!important;padding:0!important}.nearest-stations-grid .station-card .station-image .optimized-image-container{display:block!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;width:100%!important}.nearest-stations-grid .station-card .station-image .optimized-image-container .optimized-image,.nearest-stations-grid .station-card .station-image .optimized-image-container img,.nearest-stations-grid .station-card .station-image img{border:none!important;display:block!important;height:100%!important;left:50%!important;margin:0!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;padding:0!important;position:absolute!important;top:50%!important;transform:translate(-50%,-50%)!important;visibility:visible!important;width:100%!important;z-index:1!important}}body{background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.select-vehicle-page{background-color:#fff;display:flex;flex-direction:column;min-height:100vh}.svp-header{padding:20px 15px 15px;text-align:center}.svp-header h2{color:#000;font-size:1.25em;font-weight:600;margin:0}.svp-brand-tabs{background-color:#fff;display:flex;overflow-x:auto;padding:0 15px 10px;white-space:nowrap}.svp-brand-tabs::-webkit-scrollbar{display:none}.svp-tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:1em;margin-right:15px;padding:10px 12px;transition:color .2s,border-bottom-color .2s}.svp-tab-button.active{border-bottom-color:#f60;color:#000;font-weight:600}.svp-search-container{align-items:center;background-color:#f0f0f0;border-radius:8px;display:flex;margin:15px 20px;padding:10px 20px}.svp-search-icon{color:#888;font-size:1.1em;margin-right:10px}.svp-search-input{background-color:initial;border:none;color:#333;flex-grow:1;font-size:1em;outline:none;padding:8px 0}.svp-search-input::placeholder{color:#aaa}.svp-vehicle-grid{grid-gap:20px;background-color:#fff;display:grid;flex-grow:1;gap:20px;grid-template-columns:repeat(2,1fr);overflow-y:auto;padding:0 20px 20px}.svp-vehicle-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:10px;box-shadow:0 4px 12px #0000000d;cursor:pointer;padding:15px;text-align:center;transition:transform .2s,box-shadow .2s}.svp-vehicle-card:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.svp-vehicle-card.selected{border-color:#f60;box-shadow:0 0 0 2px #f60,0 6px 16px #00000014}.svp-vehicle-image{aspect-ratio:16/10;height:auto;margin-bottom:12px;max-height:100px;object-fit:contain;width:100%}.svp-vehicle-name{color:#333;font-size:.9em;font-weight:600;line-height:1.3;margin:0}.svp-no-results{color:#777;font-size:1em;grid-column:1/-1;padding:30px;text-align:center}.svp-footer{background-color:#fff;bottom:0;box-shadow:0 -2px 10px #0000000d;padding:15px 20px 20px;position:sticky}.svp-add-vehicle-button{background-color:#f60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.05em;font-weight:600;padding:16px;transition:background-color .2s;width:100%}.svp-add-vehicle-button:disabled{background-color:#ccc;cursor:not-allowed}.svp-add-vehicle-button:not(:disabled):hover{background-color:#e65c00}.svp-error-message{background-color:#ffe0e0;border-left:3px solid #d32f2f;border-radius:8px;color:#d32f2f;font-size:.9em;margin:10px 20px;padding:10px 15px;text-align:center}.profile-page-container{background-color:#f4f6f8;color:#333;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:480px;min-height:100vh;padding:0;transition:all .3s ease}.profile-page-container.dark-mode{background-color:#1a1a1a;color:#f0f0f0}.dark-mode .profile-avatar-section,.dark-mode .profile-form,.dark-mode .profile-page-header,.dark-mode .trips-tab-content,.dark-mode .vehicle-tab-content{background-color:#222;color:#f0f0f0}.dark-mode .date-input-container,.dark-mode .phone-input-container,.dark-mode input,.dark-mode select{background-color:#333;border-color:#444;color:#f0f0f0}.dark-mode .profile-tabs .tab-button{background-color:#333;color:#ccc}.dark-mode .profile-tabs .tab-button.active{background-color:#4a3aff;color:#fff}.dark-mode .btn-update-profile{background-color:#4a3aff}.dark-mode .trip-card,.dark-mode .vehicle-details{background-color:#333;box-shadow:0 2px 10px #0000004d}.dark-mode .vehicle-spec-item{border-color:#444}.dark-mode .profile-email-display{color:#ccc}.profile-page-header{align-items:center;background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;padding:15px 20px;position:sticky;top:0;z-index:1000}.back-button-bio{background:none;border:none;color:#333;cursor:pointer;font-size:24px;margin-right:15px;padding:5px}.dark-mode .back-button-bio{color:#f0f0f0}.profile-page-header h1{color:#333;flex-grow:1;font-size:1.2rem;font-weight:600;margin:0;text-align:center}.dark-mode .profile-page-header h1{color:#f0f0f0}.profile-menu-container{position:relative}.profile-menu-button{background:none;border:none;color:#333;cursor:pointer;font-size:20px;padding:5px}.dark-mode .profile-menu-button{color:#f0f0f0}.profile-dropdown-menu{background-color:#fff;border-radius:10px;box-shadow:0 5px 15px #0003;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;transform-origin:top right;transition:transform .3s ease,opacity .3s ease;z-index:100}.dark-mode .profile-dropdown-menu{background-color:#2d2d2d;box-shadow:0 5px 15px #00000080}.profile-dropdown-menu button{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;padding:12px 15px;text-align:left;width:100%}.dark-mode .profile-dropdown-menu button{color:#f5f5f5}.profile-dropdown-menu button:hover{background-color:#f0f0f0}.dark-mode .profile-dropdown-menu button:hover{background-color:#444}.profile-dropdown-menu button svg{margin-right:10px}.profile-avatar-section{background-color:#fff;padding:30px 20px;position:relative;text-align:center}.profile-avatar-lg{background-color:#ff8da1;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:100px;margin:0 auto 15px;overflow:hidden;position:relative;width:100px}.change-avatar-button,.profile-avatar-lg{align-items:center;display:flex;justify-content:center}.change-avatar-button{background:#4a3aff;border:none;border-radius:50%;bottom:0;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;height:30px;position:absolute;right:0;width:30px}.change-avatar-button:hover{background:#3a2ce0}.profile-avatar-lg img{height:100%;object-fit:cover;width:100%}.avatar-initials-lg{color:#fff;font-size:40px;font-weight:700}.profile-avatar-section h2{color:#333;font-size:1.4rem;font-weight:600;margin:0 0 5px}.dark-mode .profile-avatar-section h2{color:#f0f0f0}.profile-email-display{color:#666;font-size:.9rem;margin-bottom:20px}.profile-tabs{background-color:#fff;border-bottom:1px solid #e0e0e0;display:flex;margin-bottom:0}.dark-mode .profile-tabs{background-color:#222;border-color:#444}.tab-button{background:none;border:none;color:#777;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:15px 10px;transition:all .3s ease}.tab-button.active{border-bottom:2px solid #4a3aff;color:#4a3aff}.tab-button:hover{color:#4a3aff}.profile-form{background-color:#fff;flex-grow:1;padding:20px}.form-field{margin-bottom:20px}.form-field label{color:#555;display:block;font-size:.85rem;margin-bottom:8px}.dark-mode .form-field label{color:#ccc}.form-field input[type=email],.form-field input[type=tel],.form-field input[type=text],.form-field select{background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;color:#333;font-size:1rem;padding:12px 15px;width:100%}.form-field input[type=email]:focus,.form-field input[type=tel]:focus,.form-field input[type=text]:focus,.form-field select:focus{background-color:#fff;border-color:#6d5ff6;box-shadow:0 0 0 2px #6d5ff633;outline:none}.success-message{background-color:#4caf50;border-radius:5px;bottom:20px;box-shadow:0 3px 10px #0003;color:#fff;left:50%;margin-top:10px;max-width:300px;opacity:0;padding:15px;position:fixed;text-align:center;transform:translateX(-50%);transition:all .5s ease;visibility:hidden;width:90%;z-index:1000}.success-message.show{opacity:1;visibility:visible}.phone-input-container{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;display:flex;padding:12px 15px;width:100%}.phone-input-container input[type=tel]{background-color:initial;border:none;flex-grow:1;font-size:1rem;padding:0}.phone-input-container input[type=tel]:focus{box-shadow:none;outline:none}.phone-input-container:focus-within{background-color:#fff;border-color:#6d5ff6;box-shadow:0 0 0 2px #6d5ff633}.date-input-container{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-sizing:border-box;display:flex;padding-right:15px;position:relative;width:100%}.date-input-container input[type=text]{background-color:initial;border:none;flex-grow:1;font-size:1rem;padding:12px 0 12px 15px}.date-input-container input[type=text]:focus{box-shadow:none;outline:none}.date-input-container:focus-within{background-color:#fff;border-color:#6d5ff6;box-shadow:0 0 0 2px #6d5ff633}.calendar-icon{color:#666;font-size:1.2rem}.dark-mode .calendar-icon{color:#aaa}.form-field select{-webkit-appearance:none;appearance:none;background-image:url('data:image/svg+xml;charset=US-ASCII,<svg%20xmlns%3D"http%3A//www.w3.org/2000/svg"%20width%3D"292.4"%20height%3D"292.4"%20viewBox%3D"0%200%20292.4%20292.4"%3E%3Cpath%20fill%3D"%23666666"%20d%3D"M287%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.4-5.4-12.8z"/%3E%3C/svg%3E');background-position:right 15px center;background-repeat:no-repeat;background-size:12px}.profile-actions-bio{margin-top:30px;padding:0 0 20px}.btn-update-profile{background-color:#4a3aff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:600;padding:15px 20px;transition:background-color .2s ease;width:100%}.btn-update-profile:hover{background-color:#3a2ce0}.btn-update-profile:disabled{background-color:#a098f0;cursor:not-allowed}.error-message{color:red;font-size:.9rem;margin-top:15px;text-align:center}.vehicle-tab-content{background-color:#fff;flex-grow:1;padding:20px}.vehicle-details{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.vehicle-header{background-color:#f0f0f0;border-bottom:1px solid #e0e0e0;padding:15px 20px}.dark-mode .vehicle-header{background-color:#333;border-color:#444}.vehicle-header h3{font-size:1.2rem;font-weight:600;margin:0 0 5px}.vehicle-header p{color:#666;font-size:.9rem;margin:0}.dark-mode .vehicle-header p{color:#ccc}.vehicle-specs{padding:15px 20px}.vehicle-spec-item{border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 0}.vehicle-spec-item:last-child{border-bottom:none}.spec-label{color:#666;font-weight:500}.dark-mode .spec-label{color:#aaa}.spec-value{color:#333;font-weight:600}.dark-mode .spec-value{color:#f0f0f0}.charger-types{display:flex;flex-wrap:wrap;gap:5px}.charger-type-badge{background-color:#e0f0ff;border-radius:4px;color:#26c;font-size:12px;font-weight:500;padding:4px 8px}.dark-mode .charger-type-badge{background-color:#2a3d5d;color:#a0c0ff}.btn-add-vehicle,.btn-change-vehicle{align-items:center;background-color:#4a3aff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:10px;justify-content:center;margin:20px auto;padding:12px 20px;width:calc(100% - 40px)}.btn-add-vehicle:hover,.btn-change-vehicle:hover{background-color:#3a2ce0}.no-vehicle-message{color:#666;padding:40px 20px;text-align:center}.dark-mode .no-vehicle-message{color:#aaa}.no-vehicle-message svg{color:#ccc;margin-bottom:15px}.dark-mode .no-vehicle-message svg{color:#666}.no-vehicle-message p{font-size:1.1rem;margin-bottom:20px}.trips-tab-content{background-color:#fff;flex-grow:1;padding:20px}.trips-section-title{font-size:1.1rem;font-weight:600;margin:0 0 15px}.trips-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.trip-card{background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 5px #0000000d;padding:15px}.trip-date{font-size:.8rem;margin-bottom:10px}.dark-mode .trip-date{color:#aaa}.trip-route{margin:15px 0;padding-left:15px;position:relative}.trip-route-line{background-color:#4a3aff;bottom:10px;left:5px;opacity:.7;position:absolute;top:10px;width:1px}.trip-from,.trip-to{align-items:center;display:flex;margin-bottom:15px}.trip-to{margin-bottom:0}.route-dot{border-radius:50%;height:10px;margin-right:10px;width:10px}.route-dot.start{background-color:#4caf50}.route-dot.end{background-color:#f44336}.trip-details{font-size:.9rem;justify-content:flex-end;margin-top:10px}.trip-details,.trip-distance{align-items:center;display:flex}.trip-distance{color:#666;gap:5px}.dark-mode .trip-distance{color:#ccc}.view-all-trips{margin-top:20px;text-align:center}.view-all-trips button{background-color:initial;border:1px solid #4a3aff;border-radius:8px;color:#4a3aff;cursor:pointer;font-weight:500;padding:10px 20px}.view-all-trips button:hover{background-color:#f0f0ff}.dark-mode .view-all-trips button:hover{background-color:#2a2a3d}.no-trips-message{color:#666;padding:40px 20px;text-align:center}.dark-mode .no-trips-message{color:#aaa}.no-trips-message svg{color:#ccc;margin-bottom:15px}.dark-mode .no-trips-message svg{color:#666}.no-trips-message p{font-size:1.1rem;margin-bottom:10px}.trips-hint{color:#888;font-size:.9rem}.dark-mode .trips-hint{color:#999}@media (max-width:768px){.profile-page-container{max-width:100%;padding:0}.profile-page-header h1{font-size:1.1rem}.profile-avatar-lg{height:90px;width:90px}.avatar-initials-lg{font-size:35px}.btn-update-profile{padding:12px 15px}.trip-card,.vehicle-details{padding:12px}}.theme-toggle-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;margin-bottom:8px;padding:12px;text-align:left;transition:background-color .3s;width:100%}.theme-toggle-button:hover{background-color:#0000000d}.dark-mode .theme-toggle-button:hover{background-color:#ffffff1a}.theme-icon{font-size:18px;margin-right:10px}.dark-mode .theme-icon{color:#ffeb3b}.profile-page-container{transition:background-color .3s ease,color .3s ease}.profile-page-container *{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.trips-page-container{background-color:#f4f7f6;box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}.trips-header{background-color:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;margin-bottom:0;padding:20px 20px 10px}.trips-header h1{color:#333;font-size:24px;font-weight:600;margin-bottom:8px}.trips-header p{color:#666;font-size:15px;line-height:1.5;margin-bottom:15px}.view-toggle{display:flex;gap:10px;margin-top:10px}.view-toggle-btn{align-items:center;background-color:#f0f0f0;border:none;border-radius:20px;color:#555;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.view-toggle-btn:hover{background-color:#e0e0e0}.view-toggle-btn.active{background-color:#0c5f2c;color:#fff}.trips-content{display:flex;flex:1 1;overflow:hidden}.trip-planner-view{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.trip-form{background-color:#fff;box-shadow:0 2px 8px #0000001a;padding:20px;z-index:10}.trip-input-group{margin-bottom:20px;position:relative}.trip-input{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-sizing:border-box;color:#333;font-size:16px;padding:12px 15px 12px 40px;width:100%}.trip-input:focus{border-color:#0c5f2c;box-shadow:0 0 0 2px #0c5f2c1a;outline:none}.dot-icon{border-radius:50%;height:10px;left:13px;position:absolute;width:10px;z-index:1}.origin-dot{background-color:#0c5f2c;top:36px}.destination-dot{background-color:#d32f2f;top:36px}.input-connector{background-image:linear-gradient(180deg,#0c5f2c 60%,#0000 0);background-size:2px 10px;height:calc(100% - 80px);left:17px;position:absolute;top:50px;width:2px;z-index:0}.suggestions-list{background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;left:0;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:0;position:absolute;top:calc(100% - 10px);width:100%;z-index:20}.suggestions-list li{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 15px}.suggestions-list li:hover{background-color:#f5f5f5}.suggestions-list li:last-child{border-bottom:none}.suggestions-loading{background-color:#fff;border-radius:0 0 8px 8px;box-shadow:0 4px 12px #0000001a;color:#666;font-style:italic;left:0;padding:15px;position:absolute;text-align:center;top:calc(100% - 10px);width:100%;z-index:20}.btn-plan-trip{align-items:center;background-color:#0c5f2c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;padding:12px 20px;transition:background-color .2s;width:100%}.btn-plan-trip:hover:not(:disabled){background-color:#094523}.btn-plan-trip:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.map-container{flex:1 1;position:relative;z-index:5}.map-placeholder{align-items:center;background-color:#e9e9e9;color:#666;display:flex;height:100%;justify-content:center;width:100%}.trip-details-panel{background-color:#fff;box-shadow:0 2px 15px #00000026;left:0;position:absolute;right:0;top:0;transition:height .3s ease;z-index:10}.trip-details-panel.expanded{height:auto;max-height:85%;overflow-y:auto}.trip-details-panel.collapsed{height:60px;overflow:hidden}.trip-panel-header{align-items:center;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px}.trip-summary{display:flex;flex-direction:column;gap:5px}.trip-endpoints{align-items:center;display:flex;font-weight:500;gap:10px}.trip-arrow{color:#0c5f2c;font-size:14px}.trip-stats{color:#666;display:flex;font-size:14px;gap:15px}.panel-toggle{color:#0c5f2c;font-size:20px;font-weight:700}.trip-planner-content{padding:15px 20px}.trip-actions{display:flex;gap:10px;margin-bottom:15px}.btn-new-trip,.btn-save-trip{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:6px;padding:10px 15px;transition:background-color .2s}.btn-save-trip{background-color:#0c5f2c;color:#fff}.btn-save-trip:hover:not(:disabled){background-color:#094523}.btn-save-trip:disabled{background-color:#ccc;cursor:not-allowed;opacity:.7}.btn-new-trip{background-color:#f0f0f0;color:#333}.btn-new-trip:hover{background-color:#e0e0e0}.saved-trips-view{background-color:#f4f7f6;overflow-y:auto;padding:20px;width:100%}.saved-trips-view h2{color:#333;font-size:20px;font-weight:600;margin-bottom:20px}.saved-trips-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.saved-trip-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;cursor:pointer;padding:20px;transition:transform .2s,box-shadow .2s}.saved-trip-card:hover{box-shadow:0 4px 15px #0000001f;transform:translateY(-3px)}.saved-trip-card.selected{border:2px solid #0c5f2c}.trip-card-header{display:flex;justify-content:space-between;margin-bottom:15px}.trip-date{color:#666;font-size:14px}.trip-distance{color:#0c5f2c;font-weight:600}.trip-locations{margin-bottom:15px}.trip-location{align-items:center;display:flex;gap:10px;margin-bottom:8px}.location-dot{border-radius:50%;height:10px;width:10px}.location-dot.origin{background-color:#0c5f2c}.location-dot.destination{background-color:#d32f2f}.location-name{font-weight:500}.trip-stops{color:#666;font-size:14px;font-style:italic;margin:10px 0 10px 20px}.btn-view-trip{align-items:center;background-color:#f0f0f0;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;font-weight:500;gap:6px;justify-content:center;padding:10px;transition:background-color .2s;width:100%}.btn-view-trip:hover{background-color:#e0e0e0}.no-saved-trips{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;padding:40px 20px;text-align:center}.no-saved-trips p{color:#666;margin-bottom:20px}.btn-plan-new-trip{align-items:center;background-color:#0c5f2c;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;margin:0 auto;padding:10px 20px;transition:background-color .2s}.btn-plan-new-trip:hover{background-color:#094523}.login-prompt{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;padding:40px 20px;text-align:center}.login-prompt p{color:#666;margin-bottom:20px}.btn-login{background-color:#0c5f2c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 25px;transition:background-color .2s}.btn-login:hover{background-color:#094523}@media (max-width:768px){.trips-page-container{height:calc(100vh - 120px)}.trips-header{padding:15px}.trips-header h1{font-size:20px}.saved-trips-list{grid-template-columns:1fr}.trip-details-panel.expanded{max-height:80%}.trip-actions{flex-direction:column}}.legal-page{background-color:var(--background-off-white);min-height:100vh;padding:80px 0}.legal-page .container{margin:0 auto;max-width:800px;padding:0 20px}.legal-page h1{color:var(--text-dark);font-size:2.5rem;margin-bottom:1rem;text-align:center}.legal-page .last-updated{color:var(--text-light);font-style:italic;margin-bottom:2rem;text-align:center}.legal-page section{background:#fff;border-radius:var(--border-radius-md);box-shadow:0 2px 4px #0000000d;margin-bottom:2.5rem;padding:2rem}.legal-page h2{border-bottom:2px solid var(--primary-color);color:var(--text-dark);font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem}.legal-page h3{color:var(--text-medium);font-size:1.4rem;margin:1.5rem 0 1rem}.legal-page p{color:var(--text-medium);line-height:1.6;margin-bottom:1rem}.legal-page ul{list-style-type:disc;margin-bottom:1rem;margin-left:1.5rem}.legal-page li{color:var(--text-medium);line-height:1.6;margin-bottom:.5rem}@media (max-width:768px){.legal-page{padding:60px 0}.legal-page h1{font-size:2rem}.legal-page h2{font-size:1.5rem}.legal-page h3{font-size:1.2rem}.legal-page section{padding:1.5rem}}.legal-page section{animation:fadeInUp .5s ease forwards;opacity:0;transform:translateY(20px)}.legal-page section:first-child{animation-delay:.1s}.legal-page section:nth-child(2){animation-delay:.2s}.legal-page section:nth-child(3){animation-delay:.3s}.legal-page section:nth-child(4){animation-delay:.4s}.legal-page section:nth-child(5){animation-delay:.5s}.legal-page section:nth-child(6){animation-delay:.6s}.legal-page section:nth-child(7){animation-delay:.7s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--primary-color:#0c5f2c;--primary-light:#23ad55;--primary-dark:#094222;--secondary-color:#3d48dd;--secondary-light:#5a63e8;--secondary-dark:#2a33b0;--background-light:#fff;--background-off-white:#f7f9fa;--text-dark:#333;--text-medium:#555;--text-light:#777;--border-color:#e0e0e0;--success-color:#28a745;--warning-color:#ffc107;--error-color:#dc3545;--info-color:#17a2b8;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-xxl:3rem;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a}body{background-color:#f7f9fa;background-color:var(--background-off-white);color:#333;color:var(--text-dark);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;margin:0;padding:0}h1,h2,h3,h4,h5,h6{color:#0c5f2c;color:var(--primary-color);font-weight:600;margin-top:0}a{color:#3d48dd;color:var(--secondary-color);text-decoration:none;transition:color .2s}a:hover{color:#2a33b0;color:var(--secondary-dark)}button{cursor:pointer;font-family:inherit}.card{background-color:#fff;background-color:var(--background-light);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;padding:var(--spacing-lg);transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.btn{border:none;border-radius:8px;border-radius:var(--border-radius-md);display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-align:center;transition:background-color .3s,transform .2s}.btn-primary{background-color:#0c5f2c;background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#094222;background-color:var(--primary-dark);transform:translateY(-2px)}.btn-secondary{background-color:#3d48dd;background-color:var(--secondary-color);color:#fff}.btn-secondary:hover{background-color:#2a33b0;background-color:var(--secondary-dark);transform:translateY(-2px)}.btn-outline{background-color:initial;border:1px solid #e0e0e0;border:1px solid var(--border-color);color:#555;color:var(--text-medium)}.btn-outline:hover{background-color:#f7f9fa;background-color:var(--background-off-white);color:#333;color:var(--text-dark)}.form-control{border:1px solid #e0e0e0;border:1px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius-md);font-family:inherit;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-control:focus{border-color:#0c5f2c;border-color:var(--primary-color);box-shadow:0 0 0 2px #0c5f2c1a;outline:none}.container{margin:0 auto;max-width:1200px;padding:0 1rem;padding:0 var(--spacing-md);width:100%}.row{display:flex;flex-wrap:wrap;margin:0 -1rem;margin:0 calc(var(--spacing-md)*-1)}.col{flex:1 1;padding:0 1rem;padding:0 var(--spacing-md)}@media (max-width:768px){:root{--spacing-lg:1.25rem;--spacing-xl:1.75rem;--spacing-xxl:2.5rem}.container{padding:0 .5rem;padding:0 var(--spacing-sm)}.row{margin:0 -.5rem;margin:0 calc(var(--spacing-sm)*-1)}.col{padding:0 .5rem;padding:0 var(--spacing-sm)}.btn,.nav-item,.station-cta button,button{min-height:44px;min-width:44px;padding:12px 20px}.card{padding:1rem;padding:var(--spacing-md)}.nav-links{padding:1rem 0;padding:var(--spacing-md) 0}.nav-item{display:block;margin:.25rem 0;margin:var(--spacing-xs) 0;padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md)}.features-grid,.stats-grid{gap:1rem;gap:var(--spacing-md);grid-template-columns:1fr}.form-control{font-size:16px;padding:12px}.station-card{margin-bottom:1rem;margin-bottom:var(--spacing-md)}.station-image img{height:200px;object-fit:cover}.station-cta{flex-direction:column;gap:.5rem;gap:var(--spacing-sm)}.station-cta button{width:100%}}@media (min-width:769px) and (max-width:1024px){.features-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1025px){.features-grid,.stats-grid{grid-template-columns:repeat(3,1fr)}}@media print{.no-print{display:none}body{background:#fff;color:#000}.container{max-width:none;padding:0}}.App{align-items:center;background-color:#f5f5f5;color:#333;display:flex;flex-direction:column;font-size:calc(10px + 1vmin);justify-content:center;padding:20px;text-align:center}.App,.app{min-height:100vh}.app{background-color:var(--background-off-white)}.App-header{margin-bottom:2rem}.app-header{background-color:var(--background-light);box-shadow:var(--shadow-sm);left:0;padding:var(--spacing-md) 0;position:fixed;top:0;width:100%;z-index:100}.header-container{justify-content:space-between}.header-container,.logo{align-items:center;display:flex}.logo img{height:40px;margin-right:var(--spacing-sm)}.logo-text{color:var(--primary-color);font-size:1.25rem;font-weight:600}.nav-links{display:flex;gap:var(--spacing-md)}.nav-item{color:var(--text-medium);font-weight:500;transition:color .2s}.nav-item.active,.nav-item:hover{color:var(--primary-color)}.main-content{padding-bottom:var(--spacing-xxl);padding-top:80px}.hero-section{background:linear-gradient(135deg,var(--primary-light) 0,var(--primary-color) 100%);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);color:#fff;margin-bottom:var(--spacing-xl);padding:var(--spacing-xxl) 0}.hero-content{align-items:center;display:flex;gap:var(--spacing-xl)}.hero-text{flex:1 1}.hero-text h1{color:#fff;font-size:2.5rem;margin-bottom:var(--spacing-md)}.hero-text p{font-size:1.1rem;margin-bottom:var(--spacing-lg);opacity:.9}.hero-image{flex:1 1}.hero-image img{border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:100%}.features-section{padding:var(--spacing-xl) 0}.features-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.feature-card{background-color:var(--background-light);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:transform .3s,box-shadow .3s}.feature-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.feature-icon{align-items:center;background-color:#0c5f2c1a;border-radius:50%;display:flex;height:60px;justify-content:center;margin-bottom:var(--spacing-md);width:60px}.feature-card h3{margin-bottom:var(--spacing-sm)}.feature-card p{color:var(--text-medium);line-height:1.6}@media (max-width:768px){.app-header{padding:var(--spacing-sm) 0}.header-container{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.logo-text{font-size:1rem}.hero-section{padding:var(--spacing-xl) var(--spacing-md)}.hero-content{flex-direction:column;text-align:center}.hero-text h1{font-size:2rem}.hero-text p{font-size:1rem;margin-bottom:var(--spacing-md)}.nav-links{display:none}.mobile-menu-button{display:block}}.auth-form{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:400px;padding:2rem;width:100%}.auth-form h2{color:#2c3e50;margin-bottom:1.5rem}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.auth-form button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;transition:background-color .3s;width:100%}.auth-form button:hover{background-color:#2980b9}.auth-form p{font-size:.9rem;margin-top:1rem}.auth-form a{color:#3498db;text-decoration:none}.auth-form a:hover{text-decoration:underline}.error{background-color:#fadbd8;border-radius:4px;color:#e74c3c;margin-bottom:1rem;padding:.75rem;text-align:left}.dashboard{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:800px;padding:2rem;text-align:left;width:100%}.dashboard h2{border-bottom:2px solid #f1f1f1;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.5rem}.dashboard button{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;margin-top:1rem;padding:.5rem 1rem;transition:background-color .3s}.dashboard button:hover{background-color:#c0392b}