:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;width:100%;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:15px;width:100%;overflow-x:hidden}.home-content{text-align:center;max-width:600px;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:2rem}.main-title{font-size:2rem;color:#fff;margin-bottom:1rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);line-height:1.2}.location-prompt{font-size:3rem;color:#fff;margin-bottom:2rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.4);letter-spacing:1px;background:#dccbcb26;border:3px solid rgba(255,255,255,.3);border-radius:15px;padding:15px 25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0003}.location-cards{display:flex;flex-direction:column;gap:15px;margin-bottom:2rem;flex:1;justify-content:flex-start;width:100%}.location-card{background:#fff;border:none;border-radius:15px;padding:20px;cursor:pointer;box-shadow:0 4px 15px #0000001f;transition:all .3s ease;text-align:center;min-height:65px;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;position:relative;overflow:hidden;width:100%}.location-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0003;background:#f8f9fa}.location-card:active{transform:translateY(1px);box-shadow:0 2px 10px #0000004d;background:#e9ecef}.card-icon{font-size:2.8rem;margin-right:15px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));flex-shrink:0}.location-card-content{flex:1;text-align:left}.location-card h3{font-size:1.5rem;color:#333;margin:0 0 3px;font-weight:700}.location-card p{font-size:.9rem;color:#666;margin:0;line-height:1.3}@media (max-width: 768px){.home-container{padding:8px;height:100vh;overflow:hidden}.home-content{height:100vh;max-height:100vh;justify-content:flex-start;padding-top:1rem}.main-title{font-size:1.8rem;margin-bottom:.5rem;flex-shrink:0}.location-prompt{font-size:2.2rem;margin-bottom:.8rem;flex-shrink:0;padding:12px 20px}.location-cards{gap:8px;margin-bottom:1rem;max-width:100%;padding:0 2px;justify-content:flex-start}.location-card{padding:28px 20px;min-height:85px;border-radius:15px;box-shadow:0 6px 20px #0003}.card-icon{font-size:3.5rem;margin-right:18px}.location-card h3{font-size:1.8rem;margin:0 0 5px;font-weight:700}.location-card p{font-size:1.1rem;line-height:1.3;margin:0;font-weight:500}.location-card:hover{transform:none}.location-card:active{transform:scale(.98);background:#e9ecef;transition:all .1s ease}}@media (max-width: 480px){.home-container{padding:6px}.main-title{font-size:1.6rem}.location-prompt{font-size:1.6rem;padding:10px 18px}.location-cards{gap:6px;padding:0 1px;justify-content:flex-start}.location-card{padding:25px 18px;min-height:80px;box-shadow:0 8px 25px #00000040}.card-icon{font-size:3.2rem;margin-right:15px}.location-card h3{font-size:1.6rem;font-weight:700}.location-card p{font-size:1rem;font-weight:500}}.ride-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;width:100%;overflow-x:hidden}.ride-content{max-width:600px;margin:0 auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 10px 30px #0003}.ride-header{display:flex;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid #f0f0f0}.ride-header h1{flex:1;text-align:center;margin:0;font-size:1.8rem;color:#333}.back-button{background:#f8f9fa;border:1px solid #dee2e6;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:1rem;color:#6c757d;transition:all .3s ease}.back-button:hover{background:#e9ecef;color:#495057}.route-info{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:15px}.route-point{display:flex;align-items:center;margin-bottom:15px}.route-point:last-child{margin-bottom:0}.point-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;margin-right:15px;flex-shrink:0}.point-icon.from{background:#ff6b35}.point-icon.to{background:#dc3545}.point-details h3{margin:0 0 5px;font-size:1.2rem;color:#333}.point-details p{margin:0;color:#666;font-size:.9rem}.route-line{width:2px;height:20px;background:#ddd;margin:5px 0 5px 19px}.vehicles-section{margin-bottom:30px}.vehicles-section h2{margin-bottom:20px;color:#333;font-size:1.5rem}.vehicles-list{display:flex;flex-direction:column;gap:15px}.vehicle-card{display:flex;align-items:center;justify-content:space-between;padding:20px;border:2px solid #e9ecef;border-radius:15px;transition:all .3s ease}.vehicle-card:hover{border-color:#ff6b35;box-shadow:0 4px 15px #ff6b3533}.vehicle-info h3{margin:0 0 5px;font-size:1.3rem;color:#333}.vehicle-price{margin:0;font-size:1.5rem;font-weight:700;color:#ff6b35}.select-button{background:#ff6b35;color:#fff;border:none;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s ease}.select-button:hover{background:#e55a2b;transform:translateY(-2px)}.general-links-section h2{margin-bottom:20px;color:#333;font-size:1.5rem}.links-container{display:flex;gap:15px;flex-wrap:wrap}.link-button{flex:1;display:inline-block;padding:15px 20px;text-decoration:none;border-radius:12px;text-align:center;font-weight:700;font-size:1.1rem;transition:all .3s ease;min-width:150px}.app-link{background:#ff6b35;color:#fff}.app-link:hover{background:#e55a2b;transform:translateY(-2px)}.mini-program-link{background:#ff6b35;color:#fff}.mini-program-link:hover{background:#e55a2b;transform:translateY(-2px)}.ride-action-section{margin-top:30px;text-align:center}.auto-redirect-notice{background:#ffe8e0;border:2px solid #ff6b35;border-radius:15px;padding:20px;margin-bottom:20px}.notice-icon{font-size:2rem;margin-bottom:10px}.auto-redirect-notice p{margin:5px 0;color:#b8541a;font-size:1.1rem;font-weight:500}.notice-subtitle{color:#6c757d!important;font-size:.9rem!important;font-weight:400!important}.action-buttons{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.main-action-button{display:block;background:#ff6b35;color:#fff;text-decoration:none;padding:20px 30px;border-radius:15px;font-size:1.3rem;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px #28a7454d}.main-action-button:hover{background:#e55a2b;transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.secondary-button{background:transparent;border:2px solid #6c757d;color:#6c757d;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.secondary-button:hover{background:#6c757d;color:#fff}.auto-refresh-notice{color:#6c757d;font-size:.9rem;margin-top:20px}.auto-refresh-notice p{margin:0}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff;text-align:center}.error h2{margin-bottom:15px;font-size:2rem}.error p{margin-bottom:20px;font-size:1.2rem}.retry-hint{font-size:1rem!important;color:#ffc107!important;margin-bottom:15px!important}.error-buttons{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.retry-button{background:#ff6b35;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.retry-button:hover:not(:disabled){background:#e55a2b;transform:translateY(-2px)}.retry-button:disabled{background:#6c757d;cursor:not-allowed}@media (max-width: 768px){.ride-content{margin:10px;padding:15px}.links-container{flex-direction:column}.link-button{min-width:auto}.vehicle-card{flex-direction:column;align-items:stretch;text-align:center;gap:15px}.select-button{align-self:stretch}}.select-destination-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;width:100%;overflow-x:hidden}.select-destination-content{max-width:600px;margin:0 auto;width:100%}.page-header{display:flex;align-items:center;margin-bottom:2rem;gap:15px}.back-button{background:#fff3;border:2px solid white;color:#fff;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.back-button:hover{background:#fff;color:#667eea}.page-header h1{font-size:2rem;color:#fff;margin:0;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.from-location-info{background:#fff;border-radius:15px;padding:20px;margin-bottom:2rem;box-shadow:0 4px 15px #0000001a}.location-label{font-size:.9rem;color:#666;margin-bottom:5px;font-weight:500}.location-name{font-size:1.5rem;color:#333;font-weight:700;margin-bottom:5px}.location-address{font-size:.9rem;color:#666;line-height:1.4}.destination-section h2{color:#fff;font-size:1.5rem;margin-bottom:1rem;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.destination-cards{display:flex;flex-direction:column;gap:15px}.destination-card{background:#fff;border:none;border-radius:15px;padding:20px;cursor:pointer;box-shadow:0 4px 15px #0000001a;transition:all .3s ease;text-align:left;display:flex;align-items:center;gap:15px}.destination-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000026;background:#f8f9fa}.destination-card:active{transform:translateY(-1px)}.destination-card .card-icon{font-size:2rem;flex-shrink:0}.destination-card-content{flex:1}.destination-card h3{font-size:1.3rem;color:#333;margin:0 0 5px;font-weight:700}.destination-card p{font-size:.9rem;color:#666;margin:0;line-height:1.4}.error-content{text-align:center;color:#fff;padding:2rem}.error-content h2{margin-bottom:1rem;font-size:1.5rem}@media (max-width: 768px){.page-header h1{font-size:1.5rem}.back-button{padding:8px 15px;font-size:.9rem}.from-location-info{padding:15px}.location-name{font-size:1.3rem}.destination-card{padding:15px;flex-direction:column;text-align:center;gap:10px}.destination-card .card-icon{font-size:1.8rem}.destination-card h3{font-size:1.2rem}}.app{margin:0;padding:0;min-height:100vh;width:100%}*{box-sizing:border-box}
