body{margin:0}header h1{font-family:sans-serif;font-size:12px;font-weight:600;margin:0}header{align-items:center;display:flex;justify-content:space-between;padding:12px}.search-container{padding:0 11px;position:relative}button.search-button{background:#0000;border:none;position:absolute;right:17px}.search-container input{border:1px solid #00000038;border-radius:10px;padding:2px 8px;width:100%}header a{font-size:20px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;color:#2c3e50;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-content{flex:1 1;padding-bottom:env(safe-area-inset-bottom)}a{color:inherit;text-decoration:none}button{-webkit-tap-highlight-color:transparent;cursor:pointer}button,input,select,textarea{font-family:inherit;outline:none}input,select,textarea{-webkit-appearance:none;appearance:none}html{scroll-behavior:smooth}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555}.container{margin:0 auto;max-width:1200px;padding:0 20px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}.p-10{padding:10px}.p-20{padding:20px}.p-30{padding:30px}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-1{flex:1 1}.fade-in{animation:fadeIn .3s ease}.slide-up{animation:slideUp .3s ease}.slide-down{animation:slideDown .3s ease}@media (min-width:576px){.container{padding:0 30px}}@media (min-width:768px){.container{padding:0 40px}.app-content{padding-bottom:0}}@media (min-width:992px){.container{padding:0 50px}}@media (min-width:1200px){.container{padding:0 60px}}@supports (padding:env(safe-area-inset-bottom)){.app-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.no-select{-webkit-user-select:none;user-select:none}*{-webkit-tap-highlight-color:rgba(102,126,234,.1)}:focus-visible{outline:2px solid #667eea;outline-offset:2px}:focus:not(:focus-visible){outline:none}@media print{.bottom-navigation,.no-print{display:none!important}}.home-container{background:#f8f9fa;min-height:100vh;padding-bottom:80px}.home-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 0 30px 30px;color:#fff;padding:20px}.header-top{justify-content:space-between;margin-bottom:20px}.header-top,.location-badge{align-items:center;display:flex}.location-badge{background:#fff3;border-radius:20px;font-size:14px;gap:5px;padding:8px 15px}.location-icon{font-size:16px}.notification-icon{cursor:pointer;font-size:24px;position:relative}.notification-dot{background:#ff6b6b;border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:0;top:0;width:8px}.welcome-section h1{font-size:24px;margin:0 0 5px}.welcome-section p{font-size:14px;margin:0;opacity:.9}.promo-banner{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border-radius:15px;box-shadow:0 5px 15px #ff6b6b4d;color:#fff;margin:20px;padding:20px}.promo-content h3{font-size:18px;margin:0 0 5px}.promo-content p{font-size:14px;margin:0 0 15px}.promo-btn{background:#fff;border-radius:20px;color:#ff6b6b;padding:8px 20px}.services-section{margin-top:30px;padding:0 20px}.services-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.service-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;cursor:pointer;padding:20px;position:relative;text-align:center;transition:all .3s ease}.service-card:active{transform:scale(.98)}.service-card.disabled{cursor:not-allowed;opacity:.7}.service-icon{align-items:center;border-radius:15px;display:flex;font-size:28px;height:60px;justify-content:center;margin:0 auto 10px;width:60px}.service-card h3{color:#2c3e50;font-size:14px;margin:0 0 5px}.service-card p{color:#7f8c8d;font-size:12px;margin:0}.coming-soon-badge{background:#ff9800;border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:3px 8px;position:absolute;right:10px;top:10px}.quick-actions-section{margin-top:30px;padding:0 20px}.quick-actions-grid{display:flex;gap:10px;justify-content:space-between;overflow-x:auto;padding-bottom:10px}.quick-action-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;min-width:80px;padding:15px;text-align:center;transition:all .3s ease}.quick-action-card:active{transform:scale(.95)}.action-icon{display:block;font-size:24px;margin-bottom:5px}.action-title{color:#2c3e50;font-size:12px;font-weight:500}.recent-activity-section{margin-top:30px;padding:0 20px}.activity-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;gap:15px;padding:15px}.activity-card,.activity-icon{align-items:center;display:flex}.activity-icon{background:#f0f4ff;border-radius:10px;font-size:20px;height:40px;justify-content:center;width:40px}.activity-details{flex:1 1}.activity-details h4{color:#2c3e50;font-size:14px;margin:0 0 3px}.activity-details p{color:#7f8c8d;font-size:12px;margin:0}.view-btn{border:none;border-radius:15px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 15px}@media (min-width:768px){.home-container{margin:0 auto;max-width:1200px}.home-header{padding:30px}.welcome-section h1{font-size:32px}.services-grid{gap:20px;grid-template-columns:repeat(4,1fr)}.service-icon{font-size:36px;height:80px;width:80px}.service-card h3{font-size:16px}.quick-actions-grid{gap:15px;justify-content:flex-start}.quick-action-card{min-width:100px}}.service-card{animation:slideUp .5s ease}.service-card:nth-child(2){animation-delay:.1s}.service-card:nth-child(3){animation-delay:.2s}.service-card:nth-child(4){animation-delay:.3s}.seat-selection-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh;padding:20px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh}.bus-loading-animation{animation:fadeIn .5s ease-in;text-align:center}.bus-icon-loading{animation:busMove 1.5s ease-in-out infinite;font-size:60px;margin-bottom:20px}.loading-dots{display:flex;gap:5px;justify-content:center;margin:20px 0}.loading-dots span{animation:bounce 1.4s ease-in-out infinite;background:#fff;border-radius:50%;height:10px;width:10px}.loading-dots span:first-child{animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.loading-text{color:#fff;font-size:18px;font-weight:500;letter-spacing:.5px}.seat-header{background:#fff;border-radius:15px 15px 0 0;box-shadow:0 2px 10px #0000001a;justify-content:space-between;margin-bottom:0;margin-left:auto;margin-right:auto;max-width:1200px;padding:20px}.back-button,.seat-header{align-items:center;display:flex}.back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:20px;height:45px;justify-content:center;transition:all .3s ease;width:45px}.back-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.header-info{flex:1 1;text-align:center}.header-info h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;color:#2d3748;font-size:24px;font-weight:700;margin:0 0 5px}.header-info p{color:#718096;font-size:14px;margin:0}.info-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;font-size:20px;height:45px;justify-content:center;transition:all .3s ease;width:45px}.info-button:hover{background:#f7fafc;border-color:#667eea}.route-info-bar{align-items:center;background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:20px}.route-point{flex:1 1}.route-point .time{color:#2d3748;font-size:18px;font-weight:700;margin-bottom:5px}.route-point .location{color:#718096;font-size:14px}.route-divider{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.route-line{background:linear-gradient(90deg,#667eea,#764ba2)}.route-arrow{animation:fly 2s ease-in-out infinite;font-size:24px;margin:0 10px}.info-panel{animation:slideDown .3s ease;background:#fff;border-top:1px solid #e2e8f0;margin:0 auto;max-width:1200px;padding:20px}.info-panel h3{color:#2d3748;font-size:18px;margin:0 0 15px}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;padding:12px;transition:all .3s ease}.info-item:hover{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;transform:translateX(5px)}.info-icon{font-size:24px}.info-item span:last-child{color:#4a5568;font-size:14px}.seat-content{background:#fff;border-radius:0 0 15px 15px;box-shadow:0 10px 30px #0000001a;margin:0 auto;max-width:1200px;padding:30px}.seat-legend-horizontal{background:#f7fafc;border-radius:12px;display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:30px;padding:20px}.legend-item{align-items:center;display:flex;gap:10px}.legend-seat{border:2px solid #cbd5e0;border-radius:8px;height:32px;position:relative;transition:all .3s ease;width:32px}.legend-seat.available{background:#fff;border-color:#cbd5e0}.legend-seat.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d}.legend-seat.booked{background:#fc8181;border-color:#f56565;opacity:.8}.legend-seat.premium-legend{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-color:#f59e0b}.legend-item span{color:#4a5568;font-size:14px;font-weight:500}.bus-container{background:linear-gradient(180deg,#f7fafc,#edf2f7);display:flex;justify-content:center;margin:30px 0;overflow-x:auto;padding:20px}.bus-body,.bus-container{border-radius:20px;position:relative}.bus-body{background:#fff;border:3px solid #e2e8f0;box-shadow:0 10px 40px #0000001a;max-width:600px;min-width:400px;padding:30px}.bus-front{background:linear-gradient(135deg,#f7fafc,#e2e8f0);border-radius:15px 15px 0 0;margin-bottom:30px;padding:20px;position:relative;text-align:center}.windshield{background:linear-gradient(180deg,#667eea,#667eea1a);border-radius:50% 50% 0 0;height:60px;margin-bottom:20px;overflow:hidden;position:relative;width:100%}.windshield:before{background:#fff;content:"";height:2px;left:50%;opacity:.5;position:absolute;top:10px;transform:translateX(-50%);width:80%}.driver-section{align-items:center;display:flex;flex-direction:column;gap:10px}.steering-wheel{background:#fff;border:4px solid #4a5568;border-radius:50%;box-shadow:inset 0 2px 5px #0000001a;height:50px;position:relative;width:50px}.wheel-center{background:#4a5568;border-radius:50%;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.wheel-center:after,.wheel-center:before{background:#4a5568;content:"";position:absolute}.wheel-center:before{height:3px;width:40px}.wheel-center:after,.wheel-center:before{left:50%;top:50%;transform:translate(-50%,-50%)}.wheel-center:after{height:40px;width:3px}.driver-text{color:#718096;font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase}.seats-container{background:#fafafa;border-radius:10px;margin:20px 0;padding:20px 10px}.seat-row{align-items:center;display:flex;margin-bottom:15px;position:relative}.row-number{color:#a0aec0;font-size:11px;font-weight:600;left:-60px;letter-spacing:.5px;position:absolute;text-align:right;text-transform:uppercase;width:50px}.seats-in-row{gap:8px;width:100%}.seat,.seats-in-row{align-items:center;display:flex;justify-content:center}.seat{background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;flex-direction:column;height:55px;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:50px}.seat:before{background:linear-gradient(180deg,#0000000d,#0000);border-radius:10px 10px 0 0;content:"";height:8px;left:0;position:absolute;right:0;top:0}.seat-number{font-size:14px;font-weight:700;z-index:1}.seat.available{background:#fff;border-color:#cbd5e0}.seat.available:hover{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:#667eea;box-shadow:0 8px 25px #667eea4d;transform:translateY(-3px) scale(1.05)}.seat.selected{animation:selectPulse .4s ease;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 8px 25px #667eea66;transform:scale(1.05)}.seat.selected .seat-number{color:#fff;font-weight:700}.seat.booked{background:linear-gradient(135deg,#fc8181,#f56565);border-color:#f56565;cursor:not-allowed;opacity:.7}.seat.booked .seat-number{color:#fff}.seat.premium{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border-color:#f59e0b}.seat.premium.selected{border-color:#f59e0b}.premium-badge,.seat.premium.selected{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.premium-badge{align-items:center;border-radius:50%;box-shadow:0 2px 5px #f59e0b4d;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:2px;top:2px;width:18px}.window-indicator{bottom:2px;font-size:12px;left:2px;opacity:.7;position:absolute}.aisle-space{align-items:center;display:flex;height:55px;justify-content:center;position:relative;width:40px}.aisle-space:before{background:linear-gradient(180deg,#0000,#cbd5e0 20%,#cbd5e0 80%,#0000);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.aisle-space.wide{width:60px}.seat-space{height:55px;width:50px}.sleeper-row-container{margin-bottom:30px;position:relative}.berth-section{display:flex;flex-direction:column;gap:15px}.lower-berth,.upper-berth{position:relative}.berth-label{color:#718096;font-size:12px;font-weight:600;left:-80px;letter-spacing:.5px;position:absolute;text-align:right;text-transform:uppercase;top:50%;transform:translateY(-50%);width:70px}.berth-seats{display:flex;gap:10px;justify-content:center}.sleeper-seat{display:flex;flex-direction:column;height:45px;padding:5px;width:90px}.berth-type{color:#a0aec0;font-size:10px;margin-bottom:2px}.bus-back{background:linear-gradient(135deg,#f7fafc,#e2e8f0);border-radius:0 0 15px 15px;border-top:2px dashed #cbd5e0;color:#718096;font-size:14px;font-weight:500;margin-top:20px;padding:15px;text-align:center}.selected-seats-display{animation:fadeIn .3s ease;background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #667eea;border-radius:15px;margin-top:30px;padding:25px}.selected-seats-display h3{align-items:center;color:#2d3748;display:flex;font-size:18px;gap:10px;margin:0 0 15px}.selected-seats-grid{display:flex;flex-wrap:wrap;gap:10px}.selected-seat-chip{align-items:center;animation:chipSlideIn .3s ease;background:#fff;border:2px solid #667eea;border-radius:25px;color:#4a5568;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 15px;position:relative;transition:all .3s ease}.selected-seat-chip:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.chip-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:10px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px}.remove-seat{align-items:center;background:#f56565;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:24px;justify-content:center;line-height:1;transition:all .3s ease;width:24px}.remove-seat:hover{background:#e53e3e;transform:rotate(90deg)}.seat-bottom-bar{align-items:center;background:#fff;border-radius:0 0 15px 15px;border-top:2px solid #e2e8f0;bottom:0;box-shadow:0 -10px 30px #0000001a;display:flex;gap:20px;justify-content:space-between;margin:0 -20px -20px;padding:20px;position:-webkit-sticky;position:sticky;z-index:100}.fare-summary{display:flex;flex:1 1;gap:30px}.fare-item{display:flex;flex-direction:column;gap:5px}.fare-label{letter-spacing:.5px;text-transform:uppercase}.fare-value{font-size:20px;font-weight:700}.fare-item.total .fare-value{color:#667eea;font-size:24px}.continue-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;min-width:250px;overflow:hidden;padding:18px 40px;position:relative;transition:all .3s ease}.continue-btn:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.continue-btn:hover:not(:disabled):before{height:300%;width:300%}.continue-btn:hover:not(:disabled){box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.continue-btn:active:not(:disabled){transform:translateY(0)}.continue-btn.disabled{background:#cbd5e0;cursor:not-allowed;opacity:.5}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes fly{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes selectPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1.05)}}@keyframes chipSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.seat-selection-page{padding:10px}.seat-header{border-radius:10px 10px 0 0;padding:15px}.header-info h2{font-size:20px}.back-button,.info-button{font-size:18px;height:40px;width:40px}.route-info-bar{padding:15px}.route-point .time{font-size:16px}.route-point .location{font-size:12px}.seat-content{padding:20px}.seat-legend-horizontal{gap:15px;padding:15px}.legend-seat{height:28px;width:28px}.legend-item span{font-size:12px}.bus-body{min-width:320px;padding:20px}.seat{height:48px;width:42px}.seat-number{font-size:12px}.aisle-space{width:30px}.row-number{display:none}.seats-in-row{gap:5px}.sleeper-seat{height:40px;width:75px}.seat-bottom-bar{flex-direction:column;gap:20px;padding:15px}.fare-summary{justify-content:space-between;width:100%}.fare-value{font-size:18px}.fare-item.total .fare-value{font-size:20px}.continue-btn{padding:16px;width:100%}.selected-seats-display{padding:20px}.selected-seat-chip{font-size:13px;padding:8px 12px}}@media (max-width:480px){.seat{height:42px;width:38px}.seat-number{font-size:11px}.aisle-space{width:20px}.bus-body{padding:15px}.sleeper-seat{height:35px;width:65px}.info-grid{grid-template-columns:1fr}}@media print{.seat-selection-page{background:#fff}.back-button,.info-button,.remove-seat{display:none}.seat-bottom-bar{border-top:2px solid #000;box-shadow:none;position:static}}.booking-form-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh}.progress-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 2px 10px #0000001a;padding:10px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.progress-bar{background:#e2e8f0;height:6px;overflow:hidden}.progress-bar,.progress-fill{border-radius:3px;position:relative}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea66;height:100%;transition:width .3s ease}.progress-text{background:#fff;border-radius:10px;box-shadow:0 2px 5px #0000001a;color:#667eea;font-size:12px;font-weight:600;padding:2px 8px;position:absolute;right:10px;top:-25px}.booking-header{box-shadow:0 4px 20px #0000001a;overflow:hidden;padding:30px;position:relative}.booking-header:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.back-nav-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.back-nav-button:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.back-icon{font-size:18px}.header-title{margin-bottom:30px;text-align:center}.header-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;font-size:32px;font-weight:700;margin:0 0 10px}.header-title p{color:#718096;font-size:16px;margin:0}.header-steps{display:flex;gap:60px;justify-content:center;position:relative}.header-steps:before{background:#e2e8f0;content:"";height:2px;left:25%;position:absolute;right:25%;top:20px;z-index:0}.step{flex-direction:column;gap:8px;position:relative;z-index:1}.step,.step-number{align-items:center;display:flex}.step-number{background:#fff;border:3px solid #e2e8f0;border-radius:50%;color:#a0aec0;font-weight:700;height:40px;justify-content:center;transition:all .3s ease;width:40px}.step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.step-label{color:#718096;font-size:14px;font-weight:600}.step.active .step-label{color:#667eea}.booking-container{margin:0 auto;max-width:1400px;padding:20px}.booking-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 400px}.main-form-section{display:flex;flex-direction:column;gap:20px}.journey-summary-card{animation:slideUp .5s ease;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:25px}.journey-header{align-items:center;display:flex;gap:10px;margin-bottom:25px}.journey-icon{font-size:28px}.journey-header h3{color:#2d3748;font-size:20px;font-weight:700;margin:0}.journey-route{align-items:center;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;display:flex;gap:20px;margin-bottom:20px;padding:20px}.route-point-card{align-items:center;display:flex;flex:1 1;flex-direction:column;text-align:center}.route-time{color:#2d3748;font-size:24px;font-weight:700;margin-bottom:5px}.route-location{color:#667eea;font-size:16px;font-weight:600;margin-bottom:5px}.route-date{color:#718096;font-size:12px}.route-connector{align-items:center;display:flex;flex:1 1;max-width:150px}.route-line{background:linear-gradient(90deg,#0000,#667eea,#0000);flex:1 1;height:2px}.route-bus-icon{animation:busMove 3s ease-in-out infinite;font-size:30px;margin:0 10px}.journey-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.journey-detail-item{background:#f7fafc;border-left:3px solid #667eea;border-radius:10px;display:flex;flex-direction:column;padding:12px}.detail-label{color:#718096;font-size:12px;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.detail-value{color:#2d3748;font-size:16px;font-weight:600}.form-section{animation:slideUp .5s ease;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:30px}.section-title{align-items:center;display:flex;gap:10px;margin-bottom:25px;position:relative}.title-icon{font-size:28px}.section-title h3{color:#2d3748;font-size:20px;font-weight:700;margin:0}.sample-data-btn{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-size:12px;padding:6px 12px;position:absolute;right:0;transition:all .3s ease}.sample-data-btn:hover{background:#e2e8f0;color:#4a5568}.passengers-grid{grid-gap:20px;display:grid;gap:20px}.passenger-card{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.passenger-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.passenger-card:hover:before{opacity:1}.passenger-card:hover{border-color:#667eea;box-shadow:0 5px 20px #667eea33;transform:translateY(-2px)}.lead-passenger{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea}.passenger-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.passenger-badge{align-items:center;display:flex;gap:10px}.passenger-number{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.seat-number{background:#fff;border:2px solid #e2e8f0;border-radius:20px;color:#4a5568;font-size:13px;font-weight:600;padding:6px 12px}.lead-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.passenger-inputs{display:flex;flex-direction:column;gap:15px}.input-group.full-width{width:100%}.input-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 2fr}.input-label{align-items:center;display:flex;gap:5px}.label-text{color:#4a5568;font-size:14px;font-weight:600}.required{color:#f56565;font-size:14px}.optional{color:#a0aec0;font-size:12px;font-style:italic}.input-wrapper{align-items:center;display:flex}.country-code{color:#4a5568;font-size:14px;font-weight:600;left:45px;position:absolute;z-index:1}.form-input{background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#2d3748;font-size:15px;padding:12px 15px 12px 45px}.form-input.with-country{padding-left:85px}.form-input::placeholder{color:#a0aec0}.input-hint{color:#718096;font-size:12px;margin-top:5px}.gender-options{display:flex;gap:8px}.gender-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:5px;padding:10px;transition:all .3s ease}.gender-btn:hover{border-color:#cbd5e0;transform:translateY(-2px)}.gender-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;box-shadow:0 4px 15px #667eea4d;color:#fff}.gender-btn span{font-size:12px;font-weight:600}.contact-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.boarding-points{align-items:center;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:12px;display:flex;gap:20px;padding:20px}.boarding-item{align-items:center;display:flex;flex:1 1;gap:15px}.boarding-icon{font-size:28px}.boarding-details{display:flex;flex-direction:column}.boarding-label{color:#718096;font-size:12px;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.boarding-value{color:#2d3748;font-size:16px;font-weight:600}.boarding-arrow{color:#667eea;font-size:24px}.payment-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.payment-option-card{cursor:pointer;position:relative;transition:all .3s ease}.payment-radio{opacity:0;position:absolute}.payment-content{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .3s ease}.payment-option-card:hover .payment-content{border-color:#cbd5e0;box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.payment-option-card.selected .payment-content{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-color:#667eea;box-shadow:0 5px 20px #667eea33}.payment-header{align-items:center;display:flex;gap:15px;margin-bottom:10px}.payment-icon{font-size:32px}.payment-info{display:flex;flex-direction:column}.payment-title{color:#2d3748;font-size:16px;font-weight:700;margin-bottom:4px}.payment-desc{color:#718096;font-size:13px}.payment-badge{background:#48bb78;border-radius:20px;color:#fff;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.payment-badge.secure{background:linear-gradient(135deg,#667eea,#764ba2)}.payment-methods-grid{grid-gap:15px;animation:fadeIn .3s ease;background:#f7fafc;border-radius:12px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);padding:20px}.payment-method-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:15px}.payment-method-item img{height:32px;width:32px}.payment-method-item span{color:#4a5568;font-size:12px;font-weight:600}.terms-section{background:#f7fafc;border-radius:12px;margin-top:20px;padding:20px}.terms-checkbox{align-items:center;cursor:pointer;display:flex;gap:12px}.terms-checkbox input{display:none}.checkbox-custom{border:2px solid #cbd5e0;border-radius:5px;height:20px;position:relative;transition:all .3s ease;width:20px}.terms-checkbox input:checked+.checkbox-custom{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.terms-checkbox input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.terms-text{color:#4a5568;font-size:14px}.terms-link{color:#667eea;font-weight:600;text-decoration:none;transition:all .3s ease}.terms-link:hover{text-decoration:underline}.message{align-items:center;animation:slideUp .3s ease;border-radius:10px;display:flex;gap:10px;margin-top:20px;padding:15px}.error-message{background:#fed7d7;border:1px solid #fc8181;color:#c53030}.success-message{background:#c6f6d5;border:1px solid #68d391;color:#22543d}.message-icon{font-size:20px}.booking-sidebar{display:flex;flex-direction:column;gap:20px}.fare-card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;padding:25px;position:-webkit-sticky;position:sticky;top:80px}.fare-header{align-items:center;display:flex;gap:10px;margin-bottom:20px}.fare-icon{font-size:28px}.fare-header h3{color:#2d3748;font-size:18px;font-weight:700;margin:0}.fare-details{display:flex;flex-direction:column;gap:12px}.fare-row{align-items:center;display:flex;justify-content:space-between}.fare-label{color:#718096;font-size:14px}.fare-value{color:#2d3748;font-size:16px;font-weight:600}.fare-row.discount .fare-value{color:#48bb78}.fare-divider{background:#e2e8f0;height:1px;margin:10px 0}.fare-row.total .fare-label{color:#2d3748;font-size:16px;font-weight:600}.fare-row.total .fare-value{color:#667eea;font-size:24px;font-weight:700}.promo-section{display:flex;gap:10px;margin-top:20px}.promo-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:14px;padding:10px 15px;transition:all .3s ease}.promo-input:focus{border-color:#667eea;outline:none}.promo-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.promo-btn:hover{box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.info-card{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #e2e8f0;border-radius:15px;padding:20px}.info-card h4{color:#2d3748;font-size:16px;font-weight:700;margin:0 0 15px}.info-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.info-list li{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:10px}.info-icon{font-size:18px;text-align:center;width:24px}.submit-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;justify-content:space-between;overflow:hidden;padding:18px;position:relative;transition:all .3s ease;width:100%}.submit-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.submit-button:hover:not(:disabled):before{height:300%;width:300%}.submit-button:hover:not(:disabled){box-shadow:0 10px 30px #667eea66;transform:translateY(-2px)}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.submit-button.loading{justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:20px;margin-right:10px;width:20px}.submit-amount{background:#fff3;border-radius:20px;font-size:18px;font-weight:700;padding:5px 12px}.security-badge{align-items:center;background:#f7fafc;border-radius:10px;color:#718096;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:12px}.security-icon{font-size:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes busMove{0%,to{transform:translateX(0)}50%{transform:translateX(10px)}}@media (max-width:1024px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{order:-1}.fare-card{position:static}}@media (max-width:768px){.header-title h1{font-size:24px}.header-steps{gap:30px}.journey-route{flex-direction:column;gap:15px}.route-connector{max-width:50px;transform:rotate(90deg)}.contact-grid,.input-row,.journey-details,.payment-options{grid-template-columns:1fr}.boarding-points{flex-direction:column;gap:15px}.boarding-arrow{transform:rotate(90deg)}.form-section{padding:20px}.submit-button{flex-direction:column;gap:10px}.submit-amount{text-align:center;width:100%}}@media (max-width:480px){.booking-container{padding:10px}.header-steps{display:none}.back-nav-button{font-size:13px;padding:8px 16px}.gender-options{flex-direction:column}.gender-btn{flex-direction:row;justify-content:center;padding:12px}}.bus-booking-hero{background:#f5f5f5;min-height:100vh}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23fff' fill-opacity='.1' d='m0 96 48 16c48 16 144 48 240 48s192-32 288-37.3c96-5.7 192 16.3 288 16 96 .3 192-21.7 288-32C1248 96 1344 96 1392 96h48v224H0Z'/%3E%3C/svg%3E"),linear-gradient(135deg,#667eea,#764ba2);background-position:50%;background-size:cover;padding:60px 20px 120px;position:relative}.hero-content{color:#fff;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:900px;text-align:center}.hero-title{font-size:48px;font-weight:300;letter-spacing:-1px;margin:0 0 10px}.hero-subtitle{font-size:52px;font-weight:700;line-height:1.2;margin:0}.search-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #00000026;margin:-60px auto 0;max-width:1100px;padding:30px;position:relative;z-index:10}.search-inputs{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.input-group{flex:1 1;min-width:200px;position:relative}.input-group.date-group{flex:1.5 1}.input-label{color:#666;display:block;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.input-wrapper{position:relative}.input-icon{font-size:18px;left:15px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.city-input,.date-input{background:#fff;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;padding:14px 20px 14px 45px;transition:all .3s;width:100%}.city-input:focus,.date-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.city-input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.dropdown-menu{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 10px 30px #0000001a;left:0;margin-top:5px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.dropdown-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 20px;transition:background .2s}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.disabled{color:#999;cursor:default;font-style:italic}.dropdown-item:last-child{border-bottom:none}.city-name{color:#333;display:block;font-weight:500}.city-location{color:#666;display:block;font-size:12px;margin-top:2px}.swap-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s;width:40px}.swap-btn:hover:not(:disabled){background:#667eea;border-color:#667eea;color:#fff;transform:rotate(180deg)}.swap-btn:disabled{cursor:not-allowed;opacity:.4}.date-wrapper{position:relative}.date-input{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%}.date-display{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;display:flex;font-size:16px;justify-content:space-between;padding:14px 20px 14px 45px}.date-buttons{display:flex;gap:10px;margin-top:10px}.date-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s}.date-btn:hover{border-color:#667eea;color:#667eea}.date-btn.active{background:#ff6b6b;border-color:#ff6b6b;color:#fff}.women-booking{margin-left:auto}.checkbox-label,.women-booking{align-items:center;display:flex}.checkbox-label{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;gap:8px;padding:10px 15px;transition:all .3s}.checkbox-label:hover{background:#fff5f5;border-color:#ff6b6b}.women-icon{font-size:20px}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-label span:last-child{color:#333;font-size:14px;font-weight:500}.search-submit-btn{align-items:center;background:#ff6b6b;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:600;gap:10px;justify-content:center;padding:16px;transition:all .3s;width:100%}.search-submit-btn:hover:not(:disabled){background:#ff5252;box-shadow:0 10px 30px #ff6b6b4d;transform:translateY(-2px)}.search-submit-btn:disabled{cursor:not-allowed;opacity:.7}.search-icon{font-size:20px}.offers-section{margin:0 auto;max-width:1200px;padding:80px 20px}.offers-title{color:#333;font-size:42px;margin-bottom:50px;text-align:center}.offers-title .highlight{color:#ff9800;font-weight:700}.offers-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.offer-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014;padding:30px;text-align:center;transition:all .3s}.offer-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.offer-icon{font-size:48px;margin-bottom:20px}.offer-card h3{color:#333;font-size:22px;margin-bottom:10px}.offer-card p{color:#666;font-size:15px}.popular-section{margin:0 auto;max-width:1200px;padding:40px 20px 80px}.popular-section h3{color:#333;font-size:24px;margin-bottom:25px;text-align:center}.popular-routes-grid{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.route-pill{background:#fff;border:2px solid #e0e0e0;border-radius:25px;color:#333;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s}.route-pill:hover{background:#667eea;border-color:#667eea;color:#fff;transform:translateY(-2px)}.message-toast{animation:slideIn .3s ease;border-radius:8px;box-shadow:0 10px 30px #0003;padding:15px 25px;position:fixed;right:20px;top:20px;z-index:1000}.message-toast.success{background:#4caf50;color:#fff}.message-toast.error{background:#f44336;color:#fff}.message-toast.info{background:#2196f3;color:#fff}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.booking-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;gap:30px;margin-bottom:30px;padding:20px}.back-btn{background:#f5f5f5;border-radius:8px;font-weight:500;padding:10px 20px;transition:all .3s}.back-btn:hover{background:#e0e0e0}.route-summary h2{color:#333;font-size:24px;margin:0}.journey-date{color:#666;font-size:14px}.buses-found{background:#4caf50;border-radius:20px;color:#fff;font-weight:500;margin-left:auto;padding:8px 16px}.buses-list{margin:0 auto;max-width:1200px;padding:0 20px}.bus-item{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;justify-content:space-between;margin-bottom:20px;padding:25px;transition:all .3s}.bus-item:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-2px)}.bus-details{flex:1 1}.bus-name-section{align-items:center;display:flex;gap:15px;margin-bottom:20px}.bus-name{color:#333;font-size:20px;font-weight:600;margin:0}.bus-type-badge{background:#e3f2fd;border-radius:5px;color:#1976d2;font-size:12px;font-weight:600;padding:4px 12px}.bus-number{color:#666;font-size:14px}.bus-schedule{align-items:center;display:flex;gap:30px;margin-bottom:15px}.schedule-point{text-align:center}.schedule-time{color:#333;font-size:20px;font-weight:600;margin-bottom:5px}.schedule-location{color:#666;font-size:14px}.schedule-duration{flex:1 1;text-align:center}.duration-text{color:#666;font-size:14px;margin-bottom:8px}.journey-line{align-items:center;display:flex;justify-content:center;position:relative}.journey-line .line{background:#e0e0e0;height:2px;width:100px}.journey-line .dot{background:#667eea;border-radius:50%;height:10px;position:absolute;width:10px}.journey-line .dot.start{left:-5px}.journey-line .dot.end{right:-5px}.bus-amenities{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag{background:#f5f5f5;border-radius:4px;color:#666;font-size:12px;padding:4px 10px}.bus-booking-info{align-items:flex-end;display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:180px}.bus-fare{text-align:right}.fare-label{color:#666;display:block;font-size:12px;margin-bottom:4px}.fare-amount{color:#4caf50;font-size:28px;font-weight:700}.seats-info{color:#666;font-size:14px}.seats-available{background:#fff3e0;border-radius:4px;color:#ff6f00;font-weight:500;padding:4px 10px}.select-seats-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 30px;transition:all .3s}.select-seats-btn:hover:not(:disabled){background:#5a67d8;box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.select-seats-btn:disabled{background:#dc3545;cursor:not-allowed;opacity:.8}.no-buses-found{padding:80px 20px;text-align:center}.no-buses-icon{font-size:80px;margin-bottom:20px}.no-buses-found h3{color:#333;font-size:28px;margin-bottom:10px}.no-buses-found p{color:#666;font-size:16px;margin-bottom:30px}.primary-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 30px;transition:all .3s}.primary-btn:hover{background:#5a67d8;transform:translateY(-2px)}.bus-booking-container{padding-bottom:80px}@media (max-width:768px){.hero-title{font-size:32px}.hero-subtitle{font-size:36px}.search-inputs{flex-direction:column}.input-group{width:100%}.swap-btn{align-self:center;margin:10px 0}.offers-grid{grid-template-columns:1fr}.bus-item{flex-direction:column;gap:20px}.bus-booking-info{align-items:stretch;width:100%}.select-seats-btn{width:100%}.booking-header{align-items:flex-start;flex-direction:column}.buses-found{margin-left:0}.button,a.button,button{min-height:44px;min-width:44px}.search-card{margin:-40px 15px 0}.hero-section{padding:40px 15px 100px}}@media (max-width:480px){.hero-title{font-size:24px}.hero-subtitle{font-size:28px}.search-card{border-radius:15px;padding:20px}.offers-title{font-size:28px}.bus-schedule{flex-direction:column;gap:15px}.journey-line{margin:20px 0;transform:rotate(90deg)}}.bookings-container{background:#f8f9fa;min-height:100vh;padding-bottom:80px}.bookings-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;gap:15px;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.bookings-header h1{color:#2c3e50;font-size:20px;margin:0}.booking-tabs{background:#fff;border-bottom:1px solid #e9ecef;display:flex;gap:10px;padding:10px 20px}.tab-btn{background:#f8f9fa;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .3s ease}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.bookings-list{padding:20px}.booking-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000000d;margin-bottom:15px;padding:15px}.booking-header-info{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.booking-status{align-items:center;display:flex;gap:10px}.status-badge{border-radius:12px;font-size:11px;font-weight:600;padding:4px 10px;text-transform:uppercase}.status-badge.upcoming{background:#d4f4dd;color:#27ae60}.status-badge.completed{background:#e9ecef;color:#6c757d}.booking-id{color:#95a5a6;font-size:12px;font-weight:500}.booking-date{color:#7f8c8d;font-size:12px}.booking-route{background:#f8f9fa;border-radius:10px;justify-content:space-between;margin-bottom:15px;padding:12px}.booking-route,.route-point{align-items:center;display:flex}.route-point{flex-direction:column}.route-time{color:#2c3e50;font-size:16px;font-weight:600;margin-bottom:3px}.route-location{color:#7f8c8d;font-size:12px}.route-arrow{color:#667eea;font-size:20px}.booking-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-bottom:15px}.detail-item{align-items:center;color:#2c3e50;display:flex;font-size:13px;gap:8px}.detail-icon{font-size:16px}.booking-actions{display:flex;gap:10px}.action-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;transition:all .3s ease}.view-btn{background:#667eea;color:#fff}.cancel-btn{background:#fff;border:1px solid #e74c3c;color:#e74c3c}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:60px;margin-bottom:20px}.empty-state h3{color:#2c3e50;font-size:20px;margin:0 0 10px}.empty-state p{color:#7f8c8d;font-size:14px;margin:0 0 20px}.book-now-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px}.loading-state{flex-direction:column;height:50vh}.loading-spinner{margin-bottom:15px}.loading-state p{color:#7f8c8d;font-size:14px}@media (min-width:768px){.bookings-container{margin:0 auto;max-width:800px}.bookings-header h1{font-size:24px}.booking-card{padding:20px}.booking-details{grid-template-columns:repeat(4,1fr)}}.help-container{background:#f8f9fa;min-height:100vh;padding-bottom:80px}.help-header{align-items:center;background:#fff;box-shadow:0 2px 10px #0000000d;display:flex;gap:15px;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.help-header h1{color:#2c3e50;font-size:20px;margin:0}.emergency-banner{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border-radius:15px;box-shadow:0 5px 15px #ff6b6b4d;color:#fff;margin:20px;padding:20px}.emergency-content h3{font-size:18px;margin:0 0 5px}.emergency-content p{font-size:14px;margin:0 0 15px;opacity:.95}.emergency-call-btn{background:#fff;border-radius:25px;color:#ff6b6b;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;text-decoration:none;transition:transform .3s ease}.emergency-call-btn:active{transform:scale(.95)}.contact-section{margin-top:30px;padding:0 20px}.section-title{color:#2c3e50;font-size:18px;font-weight:600;margin-bottom:15px}.contact-methods{grid-gap:15px;display:grid;gap:15px}.contact-card{align-items:center;background:#fff;border-left:4px solid;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;gap:15px;padding:15px;transition:all .3s ease}.contact-card:active{transform:scale(.98)}.contact-icon{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:22px;height:45px;justify-content:center;width:45px}.contact-info h4{color:#2c3e50;font-size:14px;margin:0 0 3px}.contact-info p{color:#7f8c8d;font-size:13px;font-weight:500;margin:0}.faq-section{margin-top:30px;padding:0 20px}.faq-list{display:flex;flex-direction:column;gap:10px}.faq-item{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.faq-question{align-items:center;color:#2c3e50;cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;list-style:none;padding:15px}.faq-question::-webkit-details-marker{display:none}.faq-arrow{color:#667eea;font-size:20px;transition:transform .3s ease}details[open] .faq-arrow{transform:rotate(90deg)}.faq-answer{animation:slideDown .3s ease;color:#7f8c8d;font-size:13px;line-height:1.6;padding:0 15px 15px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.office-section{margin-top:30px;padding:0 20px}.office-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px}.office-item{display:flex;gap:15px;margin-bottom:20px}.office-item:last-child{margin-bottom:0}.office-icon{align-items:center;background:#f0f4ff;border-radius:10px;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.office-item h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 5px}.office-item p{color:#7f8c8d;font-size:13px;line-height:1.5;margin:0}.tips-section{margin-bottom:20px;margin-top:30px;padding:0 20px}.tips-list{grid-gap:10px;display:grid;gap:10px}.tip-card{align-items:center;background:linear-gradient(135deg,#f0f4ff,#f8f0ff);border-radius:10px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;padding:15px}.tip-icon{font-size:24px}.tip-card p{color:#2c3e50;flex:1 1;font-size:13px;line-height:1.5;margin:0}@media (min-width:768px){.help-container{margin:0 auto;max-width:800px}.help-header h1{font-size:24px}.contact-methods,.tips-list{grid-template-columns:repeat(3,1fr)}}.account-container{background:#f8f9fa;min-height:100vh;padding-bottom:80px}.account-header{background:#fff;box-shadow:0 2px 10px #0000000d;justify-content:space-between;padding:15px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.account-header,.back-btn{align-items:center;display:flex}.back-btn{background:#f0f4ff;border:none;border-radius:50%;color:#667eea;cursor:pointer;font-size:20px;height:35px;justify-content:center;width:35px}.account-header h1{color:#2c3e50;font-size:20px;margin:0}.logout-btn{background:#ff6b6b;border-radius:20px;font-size:13px;font-weight:600;padding:8px 16px}.profile-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;padding:30px 20px}.profile-avatar{align-items:center;background:#fff3;border:3px solid #ffffff4d;border-radius:50%;display:flex;font-size:36px;font-weight:600;height:80px;justify-content:center;margin-bottom:15px;width:80px}.profile-info{text-align:center}.profile-info h2{font-size:24px;margin:0 0 5px}.user-id{background:#fff3;border-radius:15px;display:inline-block;margin-bottom:10px;padding:4px 12px}.user-location,.user-mobile{font-size:14px;margin:5px 0;opacity:.95}.edit-btn{background:#fff;border:none;border-radius:20px;color:#667eea;cursor:pointer;font-size:13px;font-weight:600;margin-top:15px;padding:8px 20px}.edit-form{max-width:300px;width:100%}.edit-input{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;color:#fff;font-size:14px;margin-bottom:10px;padding:10px;width:100%}.edit-input::placeholder{color:#ffffffb3}.edit-input:disabled{opacity:.6}.edit-actions{display:flex;gap:10px;margin-top:15px}.cancel-btn,.save-btn{border:none;border-radius:20px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px}.save-btn{background:#fff;color:#667eea}.cancel-btn{background:#fff3;color:#fff}.stats-section{background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -5px 15px #0000000d;display:flex;justify-content:space-around;margin-top:-20px;padding:20px}.stat-card{flex:1 1;text-align:center}.stat-number{color:#2c3e50;display:block;font-size:20px;font-weight:600;margin-bottom:5px}.stat-label{color:#7f8c8d;font-size:12px}.menu-section{padding:20px}.menu-item{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;gap:15px;margin-bottom:10px;padding:15px;transition:all .3s ease}.menu-item:active{transform:scale(.98)}.menu-icon{align-items:center;background:#f0f4ff;border-radius:10px;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.menu-content{flex:1 1}.menu-content h4{color:#2c3e50;font-size:14px;font-weight:600;margin:0 0 3px}.menu-content p{color:#7f8c8d;font-size:12px;margin:0}.menu-arrow{color:silver;font-size:20px}.app-info{margin-top:20px;padding:20px;text-align:center}.app-info p{color:#7f8c8d;font-size:12px;margin:5px 0}.loading-state{align-items:center;display:flex;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f0f0f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (min-width:768px){.account-container{margin:0 auto;max-width:600px}.account-header h1{font-size:24px}.profile-avatar{font-size:48px;height:100px;width:100px}.profile-info h2{font-size:28px}.menu-item{padding:20px}.menu-content h4{font-size:16px}}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{animation:slideUp .5s ease;background:#fff;border-radius:10px;box-shadow:0 20px 40px #0000001a;max-width:450px;padding:40px;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:30px;text-align:center}.auth-header h2{color:#333;font-size:28px;font-weight:600;margin-bottom:10px}.auth-header p{color:#666;font-size:14px}.auth-form{width:100%}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-input{border:1px solid #ddd;border-radius:5px;box-sizing:border-box;font-size:14px;padding:12px 15px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input::placeholder{color:#999}.location-info{background:#f8f9fa;border-radius:5px;margin-bottom:20px;padding:10px;text-align:center}.location-info small{color:#666;font-size:12px}.error-message{animation:shake .5s ease;background:#fee;border-radius:5px;color:#c33;font-size:14px;margin-bottom:20px;padding:10px;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.submit-btn:hover{box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-footer{margin-top:25px;text-align:center}.auth-footer p{color:#666;font-size:14px}.auth-footer a{color:#667eea;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:30px 20px}.auth-header h2{font-size:24px}.form-input{padding:10px 12px}.submit-btn{font-size:14px;padding:12px}}.app-header{background:#fff;box-shadow:0 2px 10px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:15px 20px}.header-logo a{color:#667eea;font-size:24px;font-weight:700;text-decoration:none}.header-nav{display:flex;gap:30px}.header-nav a{color:#333;font-weight:500;text-decoration:none;transition:color .3s}.header-nav a:hover{color:#667eea}.header-user,.user-info{align-items:center;display:flex}.user-info{gap:15px}.user-name{color:#333;font-weight:500}.user-id{background:#f0f0f0;border-radius:5px;color:#666;font-family:monospace;font-size:12px;padding:5px 10px}.logout-btn{background:#ff4757;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:500;padding:8px 20px;transition:background .3s}.logout-btn:hover{background:#ff3838}.auth-links{display:flex;gap:15px}.login-link,.register-link{border-radius:5px;font-weight:500;padding:8px 20px;text-decoration:none;transition:all .3s}.login-link{border:1px solid #667eea;color:#667eea}.login-link:hover,.register-link{background:#667eea;color:#fff}.register-link:hover{background:#5a67d8}@media (max-width:768px){.header-container{flex-direction:column;gap:15px}.header-nav{justify-content:center;width:100%}.user-info{flex-direction:column;gap:10px;text-align:center}}.privacy-policy-container{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;min-height:100vh;padding:20px}.privacy-policy-content{background:#fff;border-radius:8px;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:1000px;padding:40px}.privacy-header{margin-bottom:40px;text-align:center}.privacy-header h1{color:#333;font-size:32px;font-weight:700;margin:0 0 10px}.last-updated{color:#666;font-size:16px}.policy-section{margin:30px 0}.policy-section h2{color:#333;font-size:24px;font-weight:700;margin:30px 0 15px}.policy-section h3{color:#333;font-size:20px;font-weight:700;margin:20px 0 10px}.policy-section p{color:#595959;font-size:16px;line-height:1.8;margin:15px 0}.policy-section ul{margin:15px 0;padding-left:25px}.policy-section ul li{color:#595959;font-size:16px;line-height:1.8;margin:10px 0}.italic-text{font-style:italic}.privacy-footer{border-top:1px solid #e0e0e0;margin-top:50px;padding-top:30px;text-align:center}.privacy-footer p{color:#666;font-size:14px}em{font-style:italic}@media (max-width:768px){.privacy-policy-content{padding:20px}.privacy-header h1{font-size:24px}.policy-section h2{font-size:20px}.policy-section h3{font-size:18px}.policy-section p,.policy-section ul li{font-size:14px}}@media (max-width:480px){.privacy-policy-container{padding:10px}.privacy-policy-content{padding:15px}.privacy-header h1{font-size:20px}}.account-deletion-container{background-color:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;min-height:100vh;padding:20px}.account-deletion-content{background:#fff;border-radius:8px;box-shadow:0 0 20px #0000001a;margin:0 auto;max-width:1000px;padding:40px}.deletion-header{margin-bottom:40px;text-align:center}.deletion-header h1{color:#333;font-size:32px;font-weight:700;margin:0 0 10px}.subtitle{color:#666;font-size:16px}.deletion-section{margin:30px 0}.deletion-section h2{color:#333;font-size:24px;font-weight:700;margin:30px 0 15px}.deletion-section h3{color:#333;font-size:20px;font-weight:700;margin:20px 0 10px}.deletion-section p{color:#595959;font-size:16px;line-height:1.8;margin:15px 0}.deletion-section ul{margin:15px 0;padding-left:25px}.deletion-section ul li{color:#595959;font-size:16px;line-height:1.8;margin:10px 0}.contact-card{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:25px}.contact-item{color:#333;font-size:16px;margin:12px 0}.contact-button-container{margin-top:25px;text-align:center}.email-button{background:#333;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:14px 32px;transition:background .3s ease}.email-button:hover{background:#000}.warning-card{background:#fff3cd;border-left:4px solid #ffc107;border-radius:4px;margin:20px 0;padding:20px}.warning-card h3{color:#856404;font-size:18px;margin-bottom:10px;margin-top:0}.warning-card p{color:#856404;margin:0}.timeline-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:20px 0}.timeline-card{border-radius:8px;padding:25px;text-align:center}.timeline-card h3{font-size:20px;font-weight:700;margin:0 0 10px}.timeline-card p{font-size:14px;margin:0}.timeline-blue{background:#e3f2fd;border:2px solid #2196f3}.timeline-blue h3{color:#1976d2}.timeline-blue p{color:#1565c0}.timeline-orange{background:#fff3e0;border:2px solid #ff9800}.timeline-orange h3{color:#f57c00}.timeline-orange p{color:#e65100}.timeline-green{background:#e8f5e9;border:2px solid #4caf50}.timeline-green h3{color:#388e3c}.timeline-green p{color:#2e7d32}.contact-address{background:#f8f9fa;border-left:4px solid #007bff;border-radius:4px;line-height:1.8;margin:15px 0;padding:15px}.deletion-footer{border-top:1px solid #e0e0e0;margin-top:50px;padding-top:30px;text-align:center}.deletion-footer p{color:#666;font-size:14px;margin:10px 0}.deletion-footer a{color:#007bff;text-decoration:none}.deletion-footer a:hover{text-decoration:underline}strong{color:#333;font-weight:600}@media (max-width:768px){.account-deletion-content{padding:20px}.deletion-header h1{font-size:24px}.deletion-section h2{font-size:20px}.deletion-section h3{font-size:18px}.deletion-section p,.deletion-section ul li{font-size:14px}.timeline-container{grid-template-columns:1fr}}@media (max-width:480px){.account-deletion-container{padding:10px}.account-deletion-content{padding:15px}.deletion-header h1{font-size:20px}.email-button{font-size:14px;padding:12px 24px}}.bottom-navigation{background:#fff;border-radius:20px 20px 0 0;bottom:0;box-shadow:0 -2px 15px #0000001a;justify-content:space-around;left:0;padding:8px 0;position:fixed;right:0;z-index:1000}.bottom-navigation,.nav-item{align-items:center;display:flex}.nav-item{cursor:pointer;flex:1 1;flex-direction:column;justify-content:center;padding:8px;position:relative;transition:all .3s ease}.nav-item:active{transform:scale(.95)}.nav-icon{font-size:24px;margin-bottom:4px}.nav-icon,.nav-label{transition:all .3s ease}.nav-label{color:#7f8c8d;font-size:11px;font-weight:500}.nav-item.active .nav-icon{transform:translateY(-2px)}.nav-item.active .nav-label{color:#667eea;font-weight:600}.nav-item.active:before{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;content:"";height:3px;left:50%;position:absolute;top:-8px;transform:translateX(-50%);width:40px}@media (min-width:768px){.bottom-navigation{display:none}}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-navigation{padding-bottom:env(safe-area-inset-bottom)}}
/*# sourceMappingURL=main.f3c3e2ae.css.map*/