body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.main-navigation{background:#fff;box-shadow:0 2px 10px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:15px 20px}.nav-brand,.nav-container{align-items:center;display:flex}.nav-brand{cursor:pointer;gap:10px;transition:transform .3s ease}.nav-brand:hover{transform:scale(1.05)}.nav-logo{font-size:2rem}.nav-title{color:#2c3e50;font-size:1.3rem;font-weight:700}.nav-links{display:flex;gap:15px}.nav-link{background:none;border:2px solid #0000;border-radius:25px;color:#2c3e50;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s ease}.nav-link:hover{background:#f8f9fa;transform:translateY(-2px)}.nav-link.active{background:linear-gradient(135deg,#ff4757,#e74c3c);border-color:#ff4757;color:#fff}.main-content{padding-top:20px}.App-header{background:linear-gradient(135deg,#ff4757,#e74c3c 30%,#ff4757 70%,#e74c3c);box-shadow:0 4px 20px #0003;color:#fff;padding:15px 20px}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px}.App-header h1{font-size:1.8rem;margin:0;text-shadow:2px 2px 4px #0000004d}.nav-btn{background:linear-gradient(135deg,#ff4757,#e74c3c);border:none;border-radius:30px;box-shadow:0 4px 15px #0003;color:#fff;cursor:pointer;font-weight:700;padding:10px 25px;transition:all .3s ease}.nav-btn:hover{background:linear-gradient(135deg,#e74c3c,#ff4757);box-shadow:0 6px 20px #0000004d;transform:translateY(-2px)}.main-content{margin:0 auto;max-width:1200px;padding:20px}.hero-section{color:#fff;padding:60px 20px;text-align:center}.hero-section h1{font-size:3rem;margin-bottom:20px;text-shadow:2px 2px 4px #0000004d}.hero-section p{font-size:1.3rem;margin-bottom:30px}.features-section{margin:60px 0}.features-section h3{color:#fff;margin-bottom:40px;text-shadow:2px 2px 4px #0000004d}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.feature-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #0000;border-radius:20px;box-shadow:0 8px 25px #00000026;padding:30px 20px;transition:all .3s ease}.feature-card:hover{border-color:#ff4757;box-shadow:0 15px 40px #00000040;transform:translateY(-8px) scale(1.02)}.feature-card:first-child,.feature-card:nth-child(2){background:linear-gradient(135deg,#fcc,#ff4757);color:#fff}.feature-card:nth-child(3){background:linear-gradient(135deg,#ff4757,#e74c3c);color:#fff}.feature-card:nth-child(4){background:linear-gradient(135deg,#e74c3c,#ff4757);color:#fff}.feature-card h4{color:inherit;font-size:1.3rem;margin-bottom:15px}.feature-card p{color:#ffffffe6}.routes-section{margin:60px 0}.routes-section h3{color:#fff;margin-bottom:30px;text-shadow:2px 2px 4px #0000004d}.routes-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:30px}.route-card{background:linear-gradient(135deg,#fff,#f1f2f6);border-left:6px solid #ff4757;box-shadow:0 8px 25px #00000026;overflow:hidden;position:relative}.route-card:before{background:linear-gradient(90deg,#ff4757,#e74c3c 50%,#ff4757);content:"";height:4px;left:0;position:absolute;right:0;top:0}.route-card.clickable{cursor:pointer;transition:all .3s ease}.route-card.clickable:hover{border-left-color:#e74c3c;box-shadow:0 15px 40px #00000040;transform:translateY(-5px) scale(1.03)}.route-card h4{color:#2c3e50;font-size:1.4rem;margin-bottom:20px}.route-details{color:#636e72;font-weight:500;gap:20px}.btn{border:none;border-radius:25px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#ff4757,#e74c3c);color:#fff}.btn-primary:hover{box-shadow:0 5px 15px #ff475766;transform:translateY(-2px)}.btn-outline{background:#fff;border:2px solid #ff4757;color:#ff4757}.btn-outline:hover{background:#ff4757;color:#fff}.stats-section{margin:60px -20px 0;padding:60px 0}.stats-section h3{margin-bottom:40px;text-shadow:2px 2px 4px #0000004d}.stats{display:flex;flex-wrap:wrap;gap:80px;justify-content:center;margin-top:30px}.stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;padding:20px;text-align:center}.stat-item:nth-child(odd){border:2px solid #ff47574d}.stat-item:nth-child(2n){border:2px solid #e74c3c4d}.stat-number{display:block;font-size:3.5rem;font-weight:700;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.stat-label{font-size:1.2rem;text-shadow:1px 1px 2px #0003}.buses-page{margin:0 auto;max-width:800px}.page-header,.route-info{margin-bottom:30px;text-align:center}.route-info{background:linear-gradient(135deg,#ff4757,#e74c3c);border-radius:15px;box-shadow:0 5px 20px #ff47574d;color:#fff;font-size:1.2rem;margin:20px 0;padding:25px}.route-info h3{margin:0 0 10px;text-shadow:1px 1px 2px #0003}.buses-list{display:flex;flex-direction:column;gap:25px}.bus-card{align-items:center;background:linear-gradient(135deg,#fff,#f1f2f6);border-left:5px solid #ff4757;border-radius:15px;box-shadow:0 5px 20px #0000001a;display:flex;justify-content:space-between;padding:30px;transition:all .3s ease}.bus-card:hover{border-left-color:#e74c3c;box-shadow:0 10px 30px #00000026;transform:translateY(-3px)}.bus-details h4{color:#2c3e50;font-size:1.3rem;margin:0 0 15px}.bus-info{color:#636e72;display:flex;font-weight:500;gap:25px}.routes-section p{color:#fff;font-size:1.2rem;text-shadow:1px 1px 2px #0000004d}@media (max-width:768px){.nav-container{flex-direction:column;gap:15px}.nav-links{justify-content:center;width:100%}.nav-link{flex:1 1;text-align:center}.hero-section h1{font-size:2rem}.hero-section p{font-size:1rem}.header-content{flex-direction:column;gap:15px}.route-details{flex-direction:column;gap:10px}.bus-card{gap:20px;text-align:center}.bus-card,.bus-info{flex-direction:column}.bus-info{gap:10px}.stats{gap:40px}.stat-number{font-size:2.5rem}.features-grid{gap:20px;grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-card,.route-card{animation:fadeInUp .6s ease forwards}.feature-card:first-child{animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:nth-child(4){animation-delay:.4s}.home-container{padding-bottom:40px}.features-section{padding:0 20px}.features-section,.stats-section{margin:60px auto;max-width:1200px}.stats-section{background:linear-gradient(135deg,#ff4757,#e74c3c 30%,#ff4757 70%,#e74c3c);border-radius:20px;box-shadow:0 8px 30px #0003;color:#fff;padding:60px 20px}.bus-showcase-section{margin:60px auto;max-width:1200px;padding:0 20px}.bus-showcase-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}.showcase-card{animation:fadeInUp .6s ease forwards;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0003;overflow:hidden;transition:all .4s ease}.showcase-card:hover{box-shadow:0 20px 60px #0000004d;transform:translateY(-10px) scale(1.02)}.showcase-image{height:280px;overflow:hidden;position:relative;width:100%}.showcase-image img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.showcase-card:hover .showcase-image img{transform:scale(1.1)}.showcase-image:after{background:linear-gradient(180deg,#0000 0,#0000004d);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.showcase-info{padding:30px}.showcase-info h4{color:#2c3e50;font-size:1.5rem;margin-bottom:15px}.showcase-info p{color:#636e72;line-height:1.6;margin-bottom:20px}.showcase-features{display:flex;flex-wrap:wrap;gap:10px}.showcase-features span{background:linear-gradient(135deg,#ff4757,#e74c3c);border-radius:20px;box-shadow:0 3px 10px #ff47574d;color:#fff;font-size:14px;font-weight:600;padding:8px 15px}@media (max-width:768px){.bus-showcase-grid{grid-template-columns:1fr}.showcase-image{height:220px}}body.dark-mode{background:#1a1a2e;color:#eaeaea}body.dark-mode .App{background:linear-gradient(135deg,#0f3460,#16213e)}body.dark-mode .main-navigation{background:#16213e;box-shadow:0 2px 10px #00000080}body.dark-mode .nav-link,body.dark-mode .nav-title{color:#eaeaea}body.dark-mode .nav-link:hover{background:#0f3460}body.dark-mode .nav-link.active{background:linear-gradient(135deg,#e94560,#d62246)}.theme-toggle{background:none!important;border:2px solid #0000!important;font-size:1.5rem!important;padding:8px 15px!important;transition:all .3s ease}.theme-toggle:hover{transform:rotate(20deg) scale(1.1)}body.dark-mode .hero-section h1,body.dark-mode .hero-section p{color:#eaeaea}body.dark-mode .bus-card,body.dark-mode .feature-card,body.dark-mode .route-card,body.dark-mode .showcase-card{background:#16213e;box-shadow:0 10px 30px #00000080;color:#eaeaea}body.dark-mode .bus-header h3,body.dark-mode .feature-card h4,body.dark-mode .route-header h3,body.dark-mode .showcase-info h4{color:#eaeaea}body.dark-mode .feature-card p,body.dark-mode .showcase-info p{color:#b8b8b8}body.dark-mode .detail-item{background:#0f3460}body.dark-mode .detail-row .value,body.dark-mode .location,body.dark-mode .route-info{color:#eaeaea}body.dark-mode .detail-row .label{color:#b8b8b8}body.dark-mode .stats-section{background:linear-gradient(135deg,#e94560,#d62246 30%,#e94560 70%,#d62246)}body.dark-mode .booking-card,body.dark-mode .booking-summary,body.dark-mode .payment-form,body.dark-mode .success-card{background:#16213e;color:#eaeaea}body.dark-mode .booking-summary p,body.dark-mode .form-group label,body.dark-mode h2,body.dark-mode h3{color:#eaeaea}body.dark-mode .form-control{background:#0f3460;border-color:#1a1a2e;color:#eaeaea}body.dark-mode .form-control:focus{background:#0f3460;border-color:#e94560;color:#eaeaea}body.dark-mode .bus-layout,body.dark-mode .legend,body.dark-mode .seat-selection-container{background:#16213e}body.dark-mode .driver-section{background:linear-gradient(135deg,#0f3460,#1a1a2e)}body.dark-mode .selection-summary{background:#16213e}body.dark-mode .selected-info h3,body.dark-mode .total-amount h3{color:#eaeaea}body.dark-mode .modal-content{background:#16213e}body.dark-mode .modal-header h2,body.dark-mode .ticket-header h3,body.dark-mode .ticket-info h4{color:#eaeaea}body.dark-mode .info-row .label{color:#b8b8b8}body.dark-mode .info-row .value{color:#eaeaea}body.dark-mode .ticket-section{background:linear-gradient(135deg,#0f3460,#1a1a2e)}body.dark-mode .journey-route{background:#0f3460}body.dark-mode .instructions{background:#0f3460;border-left-color:#ffd32a}body.dark-mode .instructions h4,body.dark-mode .instructions li{color:#eaeaea}body.dark-mode .btn-outline{background:#0000;border-color:#e94560;color:#e94560}body.dark-mode .btn-outline:hover{background:#e94560;color:#fff}body.dark-mode .loading,body.dark-mode .no-buses,body.dark-mode .no-routes{color:#eaeaea}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.route-list-container{margin:0 auto;max-width:1200px;padding:40px 20px}.route-list-container h2{color:#fff;font-size:2.5rem;margin-bottom:40px;text-align:center;text-shadow:2px 2px 4px #0000004d}.routes-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.route-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.route-card:hover{box-shadow:0 15px 40px #0003;transform:translateY(-10px)}.route-header{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:25px}.route-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.route-header .arrow{color:#ff4757;font-size:2rem}.route-details{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.detail-item{background:#f8f9fa;border-radius:10px;padding:10px}.detail-item .icon{font-size:1.5rem}.detail-item .price{color:#ff4757;font-size:1.3rem;font-weight:700}.route-card .btn{font-size:16px;padding:15px;width:100%}.loading,.no-routes{color:#fff;font-size:1.5rem;padding:60px 20px;text-align:center}@media (max-width:768px){.routes-grid{grid-template-columns:1fr}.route-header h3{font-size:1.2rem}}.bus-list-container{margin:0 auto;max-width:1200px;padding:20px}.buses-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.bus-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;padding:25px;transition:transform .3s ease,box-shadow .3s ease}.bus-card:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.bus-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.bus-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.status-badge{text-transform:uppercase}.status-badge.active{background:#2ed573;color:#fff}.bus-route-info{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border-radius:15px;margin-bottom:20px;padding:20px}.route-endpoints{gap:10px}.endpoint,.route-endpoints{display:flex;flex-direction:column}.endpoint{gap:5px}.time{font-size:1.3rem;font-weight:700}.location{color:#2c3e50;font-size:1.1rem}.route-line{align-items:center;display:flex;gap:10px;padding:10px 0}.route-line .line{background:linear-gradient(90deg,#ff4757,#e74c3c);flex:1 1;height:2px}.bus-details{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.detail-row{background:#f8f9fa;border-radius:8px;padding:10px}.detail-row .value{font-weight:700}.detail-row .value.available{color:#2ed573}.detail-row .value.price{color:#ff4757;font-size:1.2rem}.seat-types-info{background:#fff9e6;border-left:4px solid #ffd32a;border-radius:10px;display:flex;gap:10px;justify-content:space-between;margin-bottom:20px;padding:15px}.seat-type{align-items:center;display:flex;flex-direction:column;font-size:12px;gap:5px}.type-price{color:#2c3e50;font-weight:700}.bus-card .btn{font-size:16px;padding:15px;width:100%}.bus-card .btn:disabled{background:#95a5a6;cursor:not-allowed}.no-buses{background:#fff;border-radius:20px;margin:20px;padding:60px 20px;text-align:center}.no-buses p{color:#7f8c8d;font-size:1.2rem}@media (max-width:768px){.buses-grid{grid-template-columns:1fr}.seat-types-info{flex-direction:column}}.seat-selection-container{margin:0 auto;max-width:900px;padding:20px}.seat-selection-header{margin-bottom:30px;text-align:center}.seat-selection-header h2{color:#fff;margin:15px 0;text-shadow:2px 2px 4px #0000004d}.seat-selection-header p{color:#ecf0f1;font-size:1.2rem}.legend{background:#fff;border-radius:15px;display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px;padding:20px}.legend-item{align-items:center;color:#2c3e50;display:flex;font-size:14px;gap:8px}.bus-layout{background:#fff;border-radius:20px;box-shadow:0 5px 20px #0000001a;margin-bottom:20px;padding:30px}.driver-section{align-items:center;background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border-radius:10px;display:flex;gap:10px;justify-content:center;margin-bottom:30px;padding:15px}.steering-wheel{font-size:2rem}.seats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:500px}.seat{align-items:center;aspect-ratio:1;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;font-size:12px;font-weight:600;justify-content:center;position:relative;transition:all .3s ease}.seat-icon{font-size:1.5rem;margin-bottom:5px}.seat-number{font-size:14px;font-weight:700}.seat-window{background:linear-gradient(135deg,#74b9ff,#0984e3);color:#fff}.seat-window:hover:not(.booked){box-shadow:0 5px 15px #74b9ff66;transform:scale(1.1)}.seat-aisle{background:linear-gradient(135deg,#a29bfe,#6c5ce7);color:#fff}.seat-aisle:hover:not(.booked){box-shadow:0 5px 15px #a29bfe66;transform:scale(1.1)}.seat.selected{border:3px solid #2ed573;box-shadow:0 5px 20px #2ed57380;transform:scale(1.1)}.seat.selected:after{align-items:center;background:#2ed573;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:5px;top:5px;width:20px}.seat.booked{background:#95a5a6;color:#ecf0f1;cursor:not-allowed;opacity:.5}.seat.booked:after{color:#e74c3c;content:"✕";font-size:16px;position:absolute;right:5px;top:5px}.selection-summary{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:25px}.summary-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:20px}.selected-info h3,.total-amount h3{color:#2c3e50;margin-bottom:10px}.selected-seats-list{display:flex;flex-wrap:wrap;gap:10px}.selected-seat-tag{background:linear-gradient(135deg,#ff4757,#e74c3c);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 15px}.total-amount h3{color:#ff4757;font-size:1.8rem}.btn-large:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.standard-fare{align-items:center;background:linear-gradient(135deg,#ffd32a,#ffb300);border-radius:10px;display:flex;flex-direction:column;gap:5px;padding:10px 20px}.fare-label{font-size:14px}.fare-label,.fare-value{color:#2c3e50;font-weight:700}.fare-value{font-size:18px}.fare-breakdown{color:#636e72;font-size:14px;margin-top:5px}.seat-price{display:none}.seat{gap:5px}.legend{box-shadow:0 3px 15px #0000001a}@media (max-width:768px){.seats-grid{gap:10px;grid-template-columns:repeat(4,1fr)}.seat{font-size:10px}.seat-icon{font-size:1.2rem}.legend{gap:10px}.summary-content{align-items:flex-start;flex-direction:column}.standard-fare{width:100%}}.booking-form-container{margin:0 auto;max-width:800px;padding:20px}.booking-header{margin-bottom:30px;text-align:center}.booking-header h2{color:#fff;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.booking-header p{color:#ecf0f1;font-size:16px}.booking-summary-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:30px;padding:25px}.booking-summary-card h3{color:#2c3e50;margin-bottom:20px}.summary-details{display:flex;flex-direction:column;gap:15px}.summary-row{border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;padding:10px 0}.summary-row:last-child{border-bottom:none}.summary-row.total{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border-radius:10px;margin-top:10px;padding:15px}.summary-row .label{color:#7f8c8d;font-weight:500}.summary-row .value{color:#2c3e50;font-weight:600}.summary-row .value.price{color:#ff4757;font-size:24px}.seats-display{background:#ff4757;border-radius:20px;color:#fff;font-size:14px;padding:5px 15px}.passenger-form{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:30px}.passenger-form h3{color:#2c3e50;margin-bottom:25px}.form-group input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s ease}.form-group input:focus{border-color:#ff4757;outline:none}.form-actions{margin-top:30px}.btn-large{font-size:18px;width:100%}.form-note{color:#7f8c8d;font-size:14px;margin-top:20px;text-align:center}@media (max-width:768px){.booking-form-container{padding:10px}.booking-summary-card,.passenger-form{padding:20px}.summary-row{flex-direction:column;gap:5px}.summary-row .value.price{font-size:20px}}.payment-form-container{margin:0 auto;max-width:500px;padding:20px}.payment-method-selector{display:flex;gap:15px;margin-bottom:30px}.method-btn{background:#fff;border:2px solid #ddd;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;padding:15px;transition:all .3s ease}.method-btn:hover{border-color:#ff4757;transform:translateY(-2px)}.method-btn.active{background:linear-gradient(135deg,#ff4757,#e74c3c);border-color:#ff4757;color:#fff}.payment-form{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:30px}.payment-form h3{color:#2c3e50;margin-bottom:25px}.form-group{margin-bottom:20px}.form-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#ff4757;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.validation-form{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:30px;text-align:center}.validation-form h3{color:#2c3e50;margin-bottom:15px}.validation-form p{color:#7f8c8d;margin-bottom:25px}.payment-container{margin:0 auto;max-width:800px;padding:20px}.payment-container h2{color:#fff;margin-bottom:30px;text-align:center;text-shadow:2px 2px 4px #0000004d}.booking-summary{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:30px;padding:25px}.booking-summary p{color:#2c3e50;font-size:16px;margin:10px 0}.booking-summary strong{color:#ff4757}@media (max-width:768px){.form-row{grid-template-columns:1fr}.payment-method-selector{flex-direction:column}.payment-form-container{padding:10px}.payment-form{padding:20px}}.success-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.success-card{animation:slideUp .5s ease;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:600px;padding:50px 40px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.success-icon{margin-bottom:30px}.checkmark{animation:scaleIn .5s ease;background:linear-gradient(135deg,#2ed573,#26de81);border-radius:50%;color:#fff;display:inline-block;font-size:50px;height:80px;line-height:80px;width:80px}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-card h1{color:#2c3e50;font-size:2rem;margin-bottom:15px}.success-message{color:#7f8c8d;font-size:1.1rem;line-height:1.6;margin-bottom:40px}.booking-details-section{background:#f8f9fa;border-radius:15px;margin-bottom:30px;padding:25px;text-align:left}.booking-details-section h3{color:#2c3e50;margin-bottom:20px;text-align:center}.detail-row{border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:12px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#7f8c8d;font-weight:500}.detail-row .value{color:#2c3e50;font-weight:600;text-align:right}.booking-id{background:linear-gradient(135deg,#ff4757,#e74c3c);font-size:14px}.booking-id,.seats-list{border-radius:20px;color:#fff;padding:5px 15px}.seats-list{background:#2ed573}.next-steps{background:#fff9e6;border-left:4px solid #ffd32a;border-radius:15px;margin-bottom:30px;padding:25px;text-align:left}.next-steps h3{color:#2c3e50;margin-bottom:15px}.next-steps ul{margin:0;padding-left:25px}.next-steps li{color:#2c3e50;line-height:1.6;margin-bottom:10px}.action-buttons{display:flex;gap:15px;margin-bottom:30px}.btn-large{flex:1 1;font-size:16px;padding:15px}.support-info{border-top:2px solid #f8f9fa;padding-top:20px}.support-info p{color:#7f8c8d;margin:5px 0}@media (max-width:768px){.success-card{padding:30px 20px}.action-buttons,.detail-row{flex-direction:column}.detail-row{gap:5px}.detail-row .value{text-align:left}}.my-bookings-container{margin:0 auto;max-width:1200px;padding:20px}.bookings-header{margin-bottom:30px;text-align:center}.bookings-header h2{color:#fff;font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px #0000004d}.bookings-header p{color:#ecf0f1;font-size:1.1rem}.bookings-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.filter-btn{background:#fff;border:2px solid #ddd;border-radius:25px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.filter-btn:hover{border-color:#ff4757;transform:translateY(-2px)}.filter-btn.active{background:linear-gradient(135deg,#ff4757,#e74c3c);border-color:#ff4757;color:#fff}.bookings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.booking-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.booking-card:hover{box-shadow:0 8px 30px #00000026;transform:translateY(-5px)}.booking-card-header{align-items:center;background:linear-gradient(135deg,#f8f9fa,#ecf0f1);display:flex;justify-content:space-between;padding:15px 20px}.status-badge{border-radius:20px;font-size:12px;font-weight:700;padding:5px 15px}.status-confirmed{background:#2ed573;color:#fff}.status-pending{background:#ffd32a;color:#2c3e50}.status-cancelled{background:#ff4757;color:#fff}.status-completed{background:#5f27cd;color:#fff}.booking-id{color:#7f8c8d;font-weight:600}.booking-card-body{padding:20px}.route-info h3{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;gap:10px;margin-bottom:15px}.route-info .arrow{color:#ff4757;font-size:1.5rem}.booking-details{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.detail-item{align-items:center;color:#2c3e50;display:flex;gap:10px}.detail-item .icon{font-size:1.2rem}.detail-item .amount{color:#ff4757;font-size:1.1rem;font-weight:700}.payment-status{background:#f8f9fa;border-radius:8px;font-weight:500;padding:10px;text-align:center}.payment-status .paid{color:#2ed573;font-weight:700}.payment-status .unpaid{color:#ff4757;font-weight:700}.booking-card-actions{background:#f8f9fa;display:flex;gap:10px;padding:15px 20px}.btn-small{flex:1 1;font-size:14px;padding:8px 16px}.btn-danger{background:#ff4757;border:none;color:#fff}.btn-danger:hover{background:#e74c3c}.no-bookings{background:#fff;border-radius:15px;padding:60px 20px;text-align:center}.no-bookings p{color:#7f8c8d;font-size:1.2rem}.loading{color:#fff;font-size:1.5rem;padding:60px 20px;text-align:center}@media (max-width:768px){.bookings-grid{grid-template-columns:1fr}.bookings-filters{flex-direction:column}.filter-btn{width:100%}.booking-card-actions{flex-direction:column}}.modal-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:20px;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:2px solid #f8f9fa;display:flex;justify-content:space-between;padding:25px 30px}.modal-header h2{color:#2c3e50;margin:0}.close-btn{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:2rem;line-height:1;transition:color .3s ease}.close-btn:hover{color:#ff4757}.modal-body{padding:30px}.ticket-section{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);border-radius:15px;margin-bottom:20px;padding:25px}.ticket-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.ticket-header h3{color:#2c3e50;margin:0}.bus-section,.passenger-section,.payment-section,.ticket-info{margin-bottom:20px}.bus-section h4,.journey-section h4,.passenger-section h4,.ticket-info h4{color:#2c3e50;font-size:1.1rem;margin-bottom:10px}.info-row{border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:10px 0}.info-row:last-child{border-bottom:none}.info-row .label{color:#7f8c8d;font-weight:500}.info-row .value{color:#2c3e50;font-weight:600}.info-row.total{background:#fff;border-radius:10px;margin-top:10px;padding:15px}.info-row .amount{color:#ff4757;font-size:1.5rem}.info-row .value.paid{color:#2ed573}.info-row .value.pending{color:#ffd32a}.info-row .value.seats{background:#ff4757;border-radius:20px;color:#fff;padding:5px 15px}.journey-section{margin:20px 0}.journey-route{background:#fff;border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:20px}.location{align-items:center;display:flex;justify-content:space-between}.location-name{color:#2c3e50;font-size:1.2rem;font-weight:700}.time{color:#ff4757;font-weight:600}.journey-line{align-items:center;display:flex;gap:10px;padding:0 20px}.journey-line .line{background:linear-gradient(90deg,#ff4757,#e74c3c);flex:1 1;height:2px}.duration{color:#7f8c8d;font-size:.9rem}.instructions{background:#fff9e6;border-left:4px solid #ffd32a;border-radius:10px;padding:20px}.instructions h4{color:#2c3e50;margin-bottom:15px}.instructions ul{margin:0;padding-left:20px}.instructions li{color:#2c3e50;line-height:1.6;margin-bottom:8px}.modal-footer{border-top:2px solid #f8f9fa;display:flex;gap:15px;padding:20px 30px}.modal-footer .btn{flex:1 1}@media (max-width:768px){.modal-content{margin:10px;max-height:95vh}.modal-body,.modal-footer,.modal-header{padding:20px}.journey-route{padding:15px}.location-name{font-size:1rem}}.admin-dashboard{margin:20px auto;max-width:1100px;padding:20px}.admin-header{align-items:center;justify-content:space-between}.admin-header,.admin-tabs{display:flex;margin-bottom:16px}.admin-tabs{gap:8px}.tab{background:#f1f1f1;border-radius:8px;cursor:pointer;padding:8px 12px}.tab.active{background:linear-gradient(135deg,#ff4757,#e74c3c);color:#fff}.report-table{border-collapse:collapse;width:100%}.report-table td,.report-table th{border:1px solid #eee;padding:8px 10px;text-align:left}.admin-login-card{background:#fff;border-radius:10px;box-shadow:0 8px 30px #00000014;margin:40px auto;max-width:420px;padding:20px}.form-group{display:flex;flex-direction:column;margin-bottom:12px}.form-group label{font-weight:600;margin-bottom:6px}.admin-actions{display:flex;gap:12px;margin-top:12px}.auth-card{background:#fff;border-radius:8px;box-shadow:0 8px 24px #00000014;margin:40px auto;max-width:420px;padding:20px}.auth-card h3{font-size:1.25rem}.auth-actions,.auth-card h3,.form-group{margin-bottom:12px}.form-group input{border:1px solid #ddd;border-radius:6px;padding:8px 10px;width:100%}.auth-actions{display:flex;gap:10px;justify-content:flex-end}.error{color:#e74c3c;margin-top:8px}
/*# sourceMappingURL=main.8a45282e.css.map*/