.main-dashboard{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem;display:flex;flex-direction:column;align-items:center}.main-header{text-align:center;color:#fff;margin-bottom:3rem}.main-header h1{font-size:3rem;margin-bottom:.5rem;font-weight:700}.main-header p{font-size:1.2rem;opacity:.9}.service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;width:100%;margin-bottom:3rem}@media (max-width: 1024px){.service-options{grid-template-columns:1fr;max-width:400px}}@media (min-width: 1025px) and (max-width: 1200px){.service-options{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.service-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a;text-align:center;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.service-icon{font-size:4rem;margin-bottom:1rem}.service-card h2{color:#333;margin-bottom:1rem;font-size:1.5rem}.service-card p{color:#666;margin-bottom:2rem;line-height:1.5}.service-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.service-btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.service-btn.register-btn{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff}.service-btn.register-btn:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-2px)}.service-btn.login-btn{background:transparent;color:#007aff;border:2px solid #007aff}.service-btn.login-btn:hover{background:#007aff;color:#fff}.service-features{text-align:left;border-top:1px solid #e0e0e0;padding-top:1rem}.feature{color:#34c759;margin-bottom:.5rem;font-size:14px}.quick-stats{display:flex;gap:3rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;color:#fff}.stat{text-align:center}.stat-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#fff}.stat-label{font-size:.9rem;opacity:.8;color:#fff}.driver-card .service-icon{background:linear-gradient(135deg,#007aff,#0056b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.uganda-transport-card{border:2px solid #007aff;position:relative;overflow:hidden;background:linear-gradient(135deg,#e6f2ff 0%,#ffffff 100%)}.uganda-transport-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#007aff,#0056b3)}.uganda-transport-card .service-icon{background:linear-gradient(135deg,#007aff,#0056b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:4rem;text-shadow:0 2px 4px rgba(0,122,255,.2)}.uganda-transport-card h2{color:#0056b3;font-weight:700}.uganda-transport-card p{color:#004494}.uganda-transport-card .feature{color:#007aff;font-weight:600}.service-btn.uganda-transport-btn{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border:none;font-weight:600;box-shadow:0 4px 12px #007aff4d}.service-btn.uganda-transport-btn:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-2px);box-shadow:0 6px 20px #007aff66}.uganda-transport-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #007aff26;border-color:#0056b3}.passenger-card .service-icon{background:linear-gradient(135deg,#34c759,#28a745);-webkit-background-clip:text;-webkit-text-fill-color:transparent}@media (max-width: 768px){.main-dashboard{padding:1rem}.main-header h1{font-size:2rem}.service-options{grid-template-columns:1fr;gap:1.5rem}.quick-stats{flex-direction:column;gap:1rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333}.app{min-height:100vh}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.login-card{background:white;padding:2rem;border-radius:16px;box-shadow:0 20px 40px #0000001a;text-align:center;max-width:400px;width:90%}.login-card h1{color:#333;margin-bottom:.5rem;font-size:2rem}.login-card p{color:#666;margin-bottom:2rem}.login-btn{background:#007aff;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:background .3s;width:100%}.login-btn:hover{background:#0056cc}.signup-links{margin-top:1.5rem;text-align:center;padding-top:1rem;border-top:1px solid #e0e0e0}.signup-links p{margin-bottom:1rem;color:#666}.link-btn{background:none;border:2px solid #007aff;color:#007aff;padding:10px 20px;border-radius:8px;cursor:pointer;margin:0 .5rem;transition:all .3s}.link-btn:hover{background:#007aff;color:#fff}.driver-signup-btn{border-color:#34c759;color:#34c759}.driver-signup-btn:hover{background:#34c759;color:#fff}.login-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard{max-width:600px;margin:0 auto;padding:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:white;border-radius:12px;box-shadow:0 2px 10px #0000001a}.header-actions{display:flex;align-items:center;gap:1rem}.notification-section{position:relative}.notification-btn{background:none;border:2px solid #007aff;color:#007aff;padding:8px 12px;border-radius:20px;cursor:pointer;font-size:16px;position:relative;transition:all .3s}.notification-btn:hover{background:#007aff;color:#fff}.notification-btn.has-unread{background:#ff3b30;border-color:#ff3b30;color:#fff}.notification-badge{position:absolute;top:-5px;right:-5px;background:#ff3b30;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700}.notifications-dropdown{position:absolute;top:100%;right:0;background:white;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 20px #00000026;width:350px;max-height:400px;overflow-y:auto;z-index:1000}.notifications-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #e0e0e0}.notifications-header h4{margin:0;color:#333}.clear-btn{background:#ff3b30;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer}.notifications-list{max-height:300px;overflow-y:auto}.notification-item{padding:1rem;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .2s}.notification-item:hover{background:#f8f9fa}.notification-item.unread{background:#e8f4fd;border-left:4px solid #007aff}.notification-content h5{margin:0 0 .5rem;color:#333;font-size:14px}.notification-content p{margin:0 0 .5rem;color:#666;font-size:13px;line-height:1.4}.notification-time{font-size:11px;color:#999}.no-notifications{text-align:center;color:#666;padding:2rem;margin:0}.logout-btn{background:#ff3b30;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.booking-form{background:white;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.location-info{margin-bottom:1.5rem}.location-info h3{color:#007aff;margin-bottom:.5rem}.destination-input{margin-bottom:1.5rem}.destination-input label{display:block;margin-bottom:.5rem;font-weight:500}.destination-field{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.destination-field:focus{outline:none;border-color:#007aff}.book-ride-btn{width:100%;background:#34c759;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.book-ride-btn:hover:not(:disabled){background:#28a745}.book-ride-btn:disabled{opacity:.6;cursor:not-allowed}.rewards-section{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem}.ride-progress h3{color:#ff9500;margin-bottom:1rem;font-size:1.2rem}.progress-info{margin-bottom:1rem}.progress-info p{margin-bottom:.5rem;color:#666}.free-rides-available{background:#e8f5e8;border:2px solid #34c759;border-radius:8px;padding:1rem;margin:1rem 0}.free-ride-notification{color:#2d5016;font-weight:600;margin:0 0 1rem!important;text-align:center}.free-ride-toggle{display:flex;align-items:center;gap:.5rem;justify-content:center;cursor:pointer;color:#2d5016;font-weight:500}.free-ride-toggle input[type=checkbox]{width:18px;height:18px;accent-color:#34c759}.free-ride-options{display:flex;flex-direction:column;gap:.5rem;align-items:center}.free-ride-note{color:#666;font-style:italic;text-align:center;margin:0}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ff9500,#ffb84d);transition:width .3s ease}.booking-type-selector{margin-bottom:1.5rem}.booking-type-selector label{display:block;margin-bottom:.5rem;font-weight:500}.booking-type-options{display:flex;gap:1rem;margin-top:.5rem}.booking-option{display:flex;align-items:center;gap:.5rem;padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:border-color .3s}.booking-option:hover{border-color:#007aff}.booking-option input[type=radio]{margin:0}.booking-option input[type=radio]:checked+span{color:#007aff;font-weight:600}.schedule-inputs{display:flex;gap:1rem;margin-bottom:1.5rem}.datetime-input{flex:1}.datetime-input label{display:block;margin-bottom:.5rem;font-weight:500}.date-field,.time-field{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px}.date-field:focus,.time-field:focus{outline:none;border-color:#007aff}.booking-flow{max-width:600px;margin:0 auto;padding:1rem}.booking-flow.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007aff;border-radius:50%;animation:spin 1s linear infinite;margin-top:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.booking-header{display:flex;align-items:center;margin-bottom:1rem;gap:1rem}.back-btn{background:#f0f0f0;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:14px}.route-info{background:white;padding:1rem;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 10px #0000001a}.vehicles-list{display:flex;flex-direction:column;gap:1rem}.vehicle-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a;border:2px solid transparent;transition:border-color .3s}.vehicle-card:hover{border-color:#007aff}.vehicle-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.vehicle-type{font-size:1.2rem;font-weight:700;color:#007aff}.vehicle-details{flex:1;margin:0 1rem}.vehicle-details p{margin-bottom:.3rem}.occupancy-bar{width:100%;height:6px;background:#e0e0e0;border-radius:3px;overflow:hidden;margin-top:.5rem}.occupancy-fill{height:100%;background:linear-gradient(90deg,#34c759,#ff9500,#ff3b30);transition:width .3s}.vehicle-price{text-align:right}.price{font-size:1.2rem;font-weight:700;color:#34c759}.select-vehicle-btn{width:100%;background:#007aff;color:#fff;border:none;padding:12px;border-radius:8px;font-size:14px;cursor:pointer;transition:background .3s}.select-vehicle-btn:hover:not(:disabled){background:#0056cc}.select-vehicle-btn:disabled{background:#ccc;cursor:not-allowed}.seat-selection{max-width:600px;margin:0 auto;padding:1rem}.seat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.countdown{background:#ff3b30;color:#fff;padding:8px 12px;border-radius:6px;font-size:14px}.vehicle-info{background:white;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center;box-shadow:0 2px 10px #0000001a}.seat-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem;flex-wrap:wrap}.seat{width:35px;height:35px;border:2px solid #ddd;border-radius:6px;background:white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .3s}.seat.available{background:white;border-color:#007aff}.seat.occupied{background:#ff3b30;color:#fff;border-color:#ff3b30;cursor:not-allowed}.seat.selected{background:#007aff;color:#fff;border-color:#007aff}.seat:hover:not(.occupied):not(:disabled){transform:scale(1.1)}.seat-layout{background:white;padding:2rem 1rem;border-radius:12px;margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;box-shadow:0 2px 10px #0000001a}.driver-area{text-align:center;padding:.5rem;background:#f0f0f0;border-radius:6px;margin-bottom:1rem;font-size:14px}.seat-row{display:flex;justify-content:space-between;margin-bottom:.5rem;align-items:center}.seat-group{display:flex;gap:.5rem}.aisle{width:20px}.booking-summary{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.selected-info{margin-bottom:1rem}.booking-actions{display:flex;gap:1rem}.cancel-booking-btn{flex:1;background:#ff3b30;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.cancel-booking-btn:hover{background:#d12b20}.vehicle-actions{width:100%}.full-vehicle-actions{text-align:center}.waitlist-btn{width:100%;background:#ff9500;color:#fff;border:none;padding:12px;border-radius:8px;font-size:14px;cursor:pointer;transition:background .3s;margin-bottom:.5rem}.waitlist-btn:hover{background:#e6850e}.full-notice{margin:0;color:#666;font-size:12px}.notifications-section{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:1.5rem}.notification-card{background:#e8f5e8;border:1px solid #4caf50;border-radius:8px;padding:1rem;margin-bottom:.5rem;@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}display:flex;justify-content:space-between;align-items:flex-start;position:relative}.notification-card .unified-registration{max-width:1200px;margin:0 auto;padding:1rem;min-height:100vh;background:#007aff!important}.notification-card .registration-header{text-align:center;margin-bottom:3rem;color:#fff;padding:2rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px}.notification-card .registration-header h1{font-size:3rem;margin-bottom:.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.notification-card .registration-header p{font-size:1.2rem;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.2)}.notification-card .auth-container{background:white;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a}.notification-card .auth-tabs{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center;background:#f5f5f5;padding:.5rem;border-radius:12px}.notification-card .auth-tab{flex:1;padding:1rem 2rem;border:none;background:transparent;border-radius:8px;cursor:pointer;font-weight:600;font-size:18px;transition:all .3s;color:#666}.notification-card .auth-tab.active{background:#007aff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #007aff4d}.notification-card .auth-tab:hover:not(.active){background:#e0e0e0;color:#333}.notification-card .registration-options h2{text-align:center;color:#333;margin-bottom:1rem;font-size:2rem}.notification-card .registration-options p{text-align:center;color:#666;margin-bottom:2rem;font-size:1.1rem}.notification-card .account-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.notification-card .account-type-card{background:#f8f9fa;border-radius:16px;padding:2rem;text-align:center;border:2px solid #e0e0e0;transition:all .3s}.notification-card .account-type-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000001a;border-color:#007aff}.notification-card .account-icon{font-size:4rem;margin-bottom:1rem}.notification-card .account-type-card h3{color:#333;margin-bottom:1rem;font-size:1.8rem}.notification-card .account-type-card p{color:#666;margin-bottom:1.5rem;font-size:1.1rem}.notification-card .benefits-list{list-style:none;padding:0;margin-bottom:2rem;text-align:left}.notification-card .benefits-list li{padding:.5rem 0;color:#333;font-size:1rem}.notification-card .register-btn{width:100%;padding:18px 32px;border:none;border-radius:12px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;text-transform:uppercase;letter-spacing:1px}.notification-card .register-btn.driver-register{background:linear-gradient(135deg,#34c759,#28a745);color:#fff;box-shadow:0 6px 20px #34c7594d}.notification-card .register-btn.driver-register:hover{background:linear-gradient(135deg,#28a745,#1e7e34);transform:translateY(-3px);box-shadow:0 8px 25px #34c75966}.notification-card .register-btn.passenger-register{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;box-shadow:0 6px 20px #007aff4d}.notification-card .register-btn.passenger-register:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-3px);box-shadow:0 8px 25px #007aff66}.notification-card .login-section{text-align:center}.notification-card .login-section h2{color:#333;margin-bottom:1rem;font-size:2rem}.notification-card .login-section p{color:#666;margin-bottom:2rem;font-size:1.1rem}.notification-card .login-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.notification-card .login-card{background:#f8f9fa;border-radius:16px;padding:2rem;text-align:center;border:2px solid #e0e0e0;transition:all .3s}.notification-card .login-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000001a;border-color:#007aff}.notification-card .login-card h3{color:#333;margin-bottom:1rem;font-size:1.5rem}.notification-card .login-card p{color:#666;margin-bottom:1.5rem}.notification-card .login-btn{width:100%;padding:16px 32px;border:none;border-radius:10px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.notification-card .login-btn.driver-login{background:linear-gradient(135deg,#34c759,#28a745);color:#fff;box-shadow:0 6px 20px #34c7594d}.notification-card .login-btn.driver-login:hover{background:linear-gradient(135deg,#28a745,#1e7e34);transform:translateY(-3px);box-shadow:0 8px 25px #34c75966}.notification-card .login-btn.passenger-login{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;box-shadow:0 6px 20px #007aff4d}.notification-card .login-btn.passenger-login:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-3px);box-shadow:0 8px 25px #007aff66}.notification-card .forgot-password-btn{background:transparent;border:2px solid #ff9500;color:#ff9500;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;width:100%;text-transform:uppercase;letter-spacing:1px}.notification-card .forgot-password-btn:hover{background:#ff9500;color:#fff;transform:translateY(-2px)}.notification-card .login-help{text-align:center;margin-top:2rem;padding-top:1rem;border-top:1px solid #e0e0e0}.notification-card .login-help p{color:#666;margin:0}.notification-card .help-section{text-align:center}.notification-card .help-section h2{color:#333;margin-bottom:1rem;font-size:2rem}.notification-card .help-section>p{color:#666;margin-bottom:2rem;font-size:1.1rem}.notification-card .help-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.notification-card .help-card{background:#f8f9fa;border-radius:16px;padding:2rem;text-align:left;border:2px solid #e0e0e0;transition:all .3s}.notification-card .help-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000001a;border-color:#007aff}.notification-card .help-card h3{color:#333;margin-bottom:1rem;font-size:1.5rem}.notification-card .help-card ul{list-style:none;padding:0;margin-bottom:2rem}.notification-card .help-card li{padding:.75rem 0;border-bottom:1px solid #e0e0e0;color:#333}.notification-card .help-card li:last-child{border-bottom:none}.notification-card .help-btn{width:100%;padding:16px 32px;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;text-transform:uppercase;letter-spacing:1px}.notification-card .help-btn:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-2px)}.notification-card .help-btn.emergency{background:linear-gradient(135deg,#ff3b30,#d12b20)}.notification-card .help-btn.emergency:hover{background:linear-gradient(135deg,#d12b20,#b91c1c)}.notification-card .faq-section{text-align:left;margin-top:2rem}.notification-card .faq-section h3{color:#333;margin-bottom:1rem;text-align:center}.notification-card .faq-item{background:#f8f9fa;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #e0e0e0}.notification-card .faq-item summary{font-weight:600;color:#333;cursor:pointer;padding:.5rem 0}.notification-card .faq-item p{margin-top:1rem;color:#666;line-height:1.6}.notification-card .back-btn{background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-card .back-btn:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;transform:translateY(-2px)}.notification-card .registration-options{background:white;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a}.notification-card .registration-type-selector{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center}.notification-card .type-selector-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem;border:2px solid #e0e0e0;border-radius:12px;background:white;cursor:pointer;transition:all .3s;min-width:150px}.notification-card .type-selector-btn:hover{border-color:#007aff;transform:translateY(-2px)}.notification-card .type-selector-btn.active{border-color:#007aff;background:#f0f8ff;box-shadow:0 4px 12px #007aff33}.notification-card .selector-icon{font-size:2rem;margin-bottom:.5rem}.notification-card .account-type-details{animation:fadeIn .5s ease-in-out}.notification-card .account-hero{text-align:center;margin-bottom:2rem}.notification-card .account-hero h2{font-size:2rem;color:#333;margin-bottom:.5rem}.notification-card .account-hero p{font-size:1.1rem;color:#666}.notification-card .benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.notification-card .benefit-item{text-align:center;padding:1.5rem;background:#f8f9fa;border-radius:12px;transition:transform .3s}.notification-card .benefit-item:hover{transform:translateY(-4px)}.notification-card .benefit-icon{font-size:2.5rem;margin-bottom:1rem}.notification-card .benefit-item h4{color:#333;margin-bottom:.5rem;font-size:1.1rem}.notification-card .benefit-item p{color:#666;font-size:.9rem}.notification-card .action-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.notification-card .primary-action-btn{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border:none;padding:16px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.notification-card .primary-action-btn:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-2px);box-shadow:0 6px 20px #007aff4d}.notification-card .secondary-action-btn{background:transparent;color:#007aff;border:2px solid #007aff;padding:14px 30px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.notification-card .secondary-action-btn:hover{background:#007aff;color:#fff}.notification-card .requirements-info,.notification-card .features-info{background:#f0f8ff;border:1px solid #007aff;border-radius:8px;padding:1.5rem}.notification-card .requirements-info h4,.notification-card .features-info h4{color:#007aff;margin-bottom:1rem;font-size:1.1rem}.notification-card .requirements-info ul,.notification-card .features-info ul{list-style:none;padding:0}.notification-card .requirements-info li,.notification-card .features-info li{border-bottom:1px solid #e0e8ff;position:relative;padding:.5rem 0 .5rem 1.5rem}.notification-card .requirements-info li:before,.notification-card .features-info li:before{content:"✓";color:#34c759;font-weight:700;position:absolute;left:0}.notification-card .requirements-info li:last-child,.notification-card .features-info li:last-child{border-bottom:none}.notification-card .selection-prompt{text-align:center;padding:3rem 1rem}.notification-card .prompt-content h3{color:#333;margin-bottom:1rem;font-size:1.5rem}.notification-card .prompt-content p{color:#666;margin-bottom:2rem;font-size:1.1rem}.notification-card .comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.notification-card .comparison-item{background:#f8f9fa;padding:1.5rem;border-radius:8px;text-align:left}.notification-card .comparison-item strong{display:block;color:#007aff;margin-bottom:.5rem;font-size:1.1rem}.notification-card .comparison-item p{color:#666;margin:0;font-size:.9rem}.notification-card .trust-indicators{display:flex;justify-content:center;gap:3rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;color:#fff}.notification-card .trust-item{text-align:center}.notification-card .trust-number{display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.notification-card .trust-label{font-size:.9rem;opacity:.9}.notification-card .driver-details .benefit-item:hover{background:#e8f5e8}.notification-card .passenger-details .benefit-item:hover{background:#fff3e0}.notification-card .uganda-transport-hub{min-height:100vh;background:#007aff!important;padding:2rem;display:flex;flex-direction:column;align-items:center}.notification-card .uganda-transport-hub .main-header{text-align:center;color:#fff;margin-bottom:3rem;position:relative}.notification-card .uganda-transport-hub .back-btn{position:absolute;left:0;top:0;background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.3);padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-card .uganda-transport-hub .back-btn:hover{background:rgba(255,255,255,.3);border-color:#ffffff80;transform:translateY(-2px)}.notification-card .uganda-transport-overview{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;width:100%;margin-bottom:3rem}.notification-card .overview-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a;text-align:center}.notification-card .overview-card h3{color:#007aff;margin-bottom:1rem;font-size:1.5rem}.notification-card .overview-card p{color:#666;margin-bottom:1.5rem}.notification-card .overview-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.notification-card .stat-bubble{background:linear-gradient(135deg,#f0f8ff 0%,#e6f2ff 100%);padding:1rem;border-radius:12px;border:2px solid #007aff;text-align:center}.notification-card .stat-bubble .stat-number{display:block;font-size:1.5rem;font-weight:700;color:#007aff;margin-bottom:.25rem}.notification-card .stat-bubble .stat-label{font-size:.8rem;color:#0056b3;font-weight:600}.notification-card .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;width:100%;margin-bottom:3rem}.notification-card .service-hub-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 10px 30px #0000001a;text-align:center;transition:transform .3s,box-shadow .3s}.notification-card .service-hub-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.notification-card .service-hub-card .service-icon{font-size:4rem;margin-bottom:1rem;background:linear-gradient(135deg,#007aff,#0056b3);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.notification-card .service-hub-card h3{color:#333;margin-bottom:1rem;font-size:1.5rem}.notification-card .service-hub-card p{color:#666;margin-bottom:1.5rem;line-height:1.5}.notification-card .hub-action-btn{background:linear-gradient(135deg,#007aff,#0056b3);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-bottom:1.5rem;width:100%}.notification-card .hub-action-btn:hover{background:linear-gradient(135deg,#0056b3,#004494);transform:translateY(-2px)}.notification-card .uganda-transport-hub .service-features{text-align:left;border-top:1px solid #e0e0e0;padding-top:1rem}.notification-card .uganda-transport-hub .feature{color:#007aff;margin-bottom:.5rem;font-size:14px;font-weight:600}.notification-card .uganda-transport-hub .quick-stats{display:flex;gap:3rem;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:2rem;color:#fff}@media (max-width: 1024px){.notification-card .uganda-transport-overview{grid-template-columns:1fr}.notification-card .services-grid{grid-template-columns:1fr;max-width:400px}.notification-card .uganda-transport-hub .quick-stats{flex-wrap:wrap;gap:1.5rem}}.notification-card .uganda-transport-details{background:linear-gradient(135deg,#e6f2ff 0%,#ffffff 100%);border-radius:16px;padding:2rem;border:2px solid #007aff}.notification-card .uganda-transport-details .account-hero{text-align:center;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:12px;color:#fff}.notification-card .uganda-transport-details .account-hero h2{color:#fff;font-size:2.2rem;margin-bottom:.5rem}.notification-card .uganda-transport-details .account-hero p{color:#ffffffe6;font-size:1.1rem}.notification-card .uganda-transport-details .benefit-item{background:#fff8f5;border:1px solid #ffccbc;transition:all .3s ease}.notification-card .uganda-transport-details .benefit-item:hover{background:#fff3e0;transform:translateY(-4px);box-shadow:0 8px 25px #ff6b3526;border-color:#ff8a65}.notification-card .uganda-transport-details .benefit-icon{background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:3rem}.notification-card .uganda-transport-details .benefit-item h4{color:#d84315;font-weight:700}.notification-card .uganda-transport-details .benefit-item p{color:#5d4037}.notification-card .uganda-transport-details .primary-action-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:18px 36px;font-size:18px;border-radius:12px;box-shadow:0 6px 20px #ff6b354d}.notification-card .uganda-transport-details .primary-action-btn:hover{background:linear-gradient(135deg,#e55a2b,#e8821a);transform:translateY(-3px);box-shadow:0 8px 25px #ff6b3566}.notification-card .uganda-transport-details .features-info{background:linear-gradient(135deg,#fff3e0 0%,#fff8f5 100%);border:2px solid #ff8a65;border-radius:12px;padding:2rem}.notification-card .uganda-transport-details .features-info h4{color:#d84315;font-size:1.3rem;margin-bottom:1.5rem}.notification-card .uganda-transport-details .features-info li:before{content:"🇺🇬";margin-right:.5rem}.notification-card .uganda-transport-details .features-info li{color:#5d4037;font-weight:500;padding:.75rem 0;border-bottom:1px solid rgba(255,138,101,.3)}@media (max-width: 768px){.notification-card .unified-registration{padding:.5rem}.notification-card .registration-header h1{font-size:2rem}.notification-card .registration-type-selector{flex-direction:column;align-items:center}.notification-card .type-selector-btn{width:100%;max-width:300px}.notification-card .benefits-grid{grid-template-columns:1fr}.notification-card .action-buttons{flex-direction:column;align-items:center}.notification-card .primary-action-btn,.notification-card .secondary-action-btn{width:100%;max-width:300px}.notification-card .trust-indicators{flex-wrap:wrap;gap:1.5rem}.notification-card .comparison-grid{grid-template-columns:1fr}}.notification-card.high-priority{background:#fff3e0;border:2px solid #ff9500;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 5px #ff95004d}50%{box-shadow:0 0 15px #ff950099}}.notification-actions{display:flex;gap:1rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}.action-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.book-now-btn{background:#007aff;color:#fff}.book-now-btn:hover{background:#0056cc;transform:translateY(-1px)}.price-info{color:#34c759;font-weight:700;font-size:14px}.notification-content p{margin:0 0 .25rem;color:#2d5016}.notification-content small{color:#666}.dismiss-btn{background:#ff3b30;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bus-alert-btn{background:#ff9500;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;animation:busAlert 2s infinite}@keyframes busAlert{0%,to{background:#ff9500}50%{background:#e6850e}}.arrival-info{color:#ff9500;font-weight:600;font-size:14px}.confirm-booking-btn{width:100%;background:#34c759;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.confirm-booking-btn:hover:not(:disabled){background:#28a745}.confirm-booking-btn:disabled{opacity:.6;cursor:not-allowed}.payment{max-width:600px;margin:0 auto;padding:1rem}.payment-header{display:flex;align-items:center;margin-bottom:1rem;gap:1rem}.booking-summary{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.summary-item{display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.summary-item.total{border-bottom:none;margin-top:1rem;font-size:1.1rem}.payment-methods{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.payment-option{margin-bottom:1.5rem;padding:1rem;border:2px solid #f0f0f0;border-radius:8px;transition:border-color .3s}.payment-option:has(input:checked){border-color:#007aff;background:#f8f9ff}.payment-radio{display:flex;align-items:center;gap:.75rem;cursor:pointer}.payment-info{display:flex;flex-direction:column;gap:.25rem}.payment-name{font-weight:600}.wallet-balance{font-size:14px;color:#666}.insufficient{color:#ff3b30;font-weight:600}.topup-btn{background:#ff9500;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;margin-top:.5rem}.mobile-payment{margin-top:1rem}.phone-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:1rem}.mobile-providers{display:flex;gap:1rem;flex-wrap:wrap}.mobile-providers span{padding:6px 12px;background:#f0f0f0;border-radius:20px;font-size:14px}.pay-btn{width:100%;background:#34c759;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.pay-btn:hover:not(:disabled){background:#28a745}.pay-btn:disabled{opacity:.6;cursor:not-allowed}.topup-section{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.amount-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:1rem;font-size:16px}.topup-methods{margin-bottom:1.5rem}.topup-radio{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;cursor:pointer}.topup-actions{display:flex;gap:1rem}.cancel-btn{flex:1;background:#f0f0f0;border:none;padding:12px;border-radius:8px;cursor:pointer}.topup-confirm-btn{flex:2;background:#007aff;color:#fff;border:none;padding:12px;border-radius:8px;cursor:pointer}.free-ride-notice{background:#e8f5e8;border:2px solid #34c759;border-radius:8px;padding:1rem;margin:1rem 0;text-align:center}.payment-breakdown{border-top:1px solid #e0e0e0;margin-top:1rem;padding-top:1rem}.discount-item span:last-child{color:#34c759!important;font-weight:700}.summary-divider{height:1px;background:#e0e0e0;margin:.5rem 0}.free-ride-breakdown{margin-top:1rem}.breakdown-notice{border-radius:8px;padding:1rem;margin:.5rem 0}.breakdown-notice.success{background:linear-gradient(135deg,#e8f5e8 0%,#d4edda 100%);border:2px solid #34c759}.breakdown-notice.partial{background:linear-gradient(135deg,#fff3cd 0%,#ffeaa7 100%);border:2px solid #ff9500}.breakdown-header{font-weight:700;font-size:16px;margin-bottom:.75rem;text-align:center}.breakdown-details{font-size:14px;line-height:1.5}.breakdown-details>div{display:flex;justify-content:space-between;margin-bottom:.25rem}.breakdown-divider-small{height:1px;background:rgba(0,0,0,.1);margin:.5rem 0}.breakdown-result{font-weight:700;color:#2d5016;margin-top:.5rem!important;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1)}.savings-note{font-size:12px;color:#666;font-style:italic;text-align:center;margin-top:.5rem!important}.free-ride-text{color:#2d5016;font-weight:600;font-size:16px;margin:0}.discount-line{color:#34c759;font-weight:600}.reward-earned{background:#fff3cd;border:2px solid #ff9500;border-radius:8px;padding:1rem;margin:1rem 0;text-align:center}.reward-message{color:#8b5a00;font-weight:600;font-size:16px;margin:0}.trip-tracking{max-width:600px;margin:0 auto;padding:1rem}.tracking-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.new-trip-btn{background:#007aff;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.booking-info{margin-bottom:1.5rem}.booking-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.booking-detail{display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.trip-status{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;text-align:center;box-shadow:0 2px 10px #0000001a}.status-indicator{display:inline-flex;align-items:center;gap:.75rem;padding:12px 24px;border-radius:25px;color:#fff;font-weight:600;margin-bottom:1rem}.status-icon{font-size:1.2rem}.eta{color:#666}.trip-progress{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background:linear-gradient(90deg,#007aff,#34c759);transition:width .5s ease}.progress-stops{display:flex;justify-content:space-between}.stop{font-size:14px;color:#666;text-align:center;flex:1}.stop.completed{color:#34c759;font-weight:600}.trip-messages{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.messages-list{max-height:200px;overflow-y:auto}.message{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #f0f0f0}.message-time{font-size:12px;color:#666}.message-text{font-size:14px}.important-notice{background:#fff3cd;border:1px solid #ffeaa7;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.trip-complete{background:white;padding:2rem;border-radius:12px;text-align:center;box-shadow:0 2px 10px #0000001a}.rate-trip-btn{background:#ff9500;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;margin-top:1rem}.driver-dashboard{max-width:800px;margin:0 auto;padding:1rem}.online-status{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.status-toggle{display:flex;align-items:center;gap:1rem}.status-btn{padding:12px 24px;border:none;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s}.status-btn.online{background:#34c759;color:#fff}.status-btn.offline{background:#ff3b30;color:#fff}.online-time{color:#666;font-size:14px}.monthly-stats{margin-bottom:1.5rem}.stats-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1rem}.stat-item{display:flex;flex-direction:column;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-label{font-size:14px;color:#666;margin-bottom:.5rem}.stat-value{font-size:24px;font-weight:700;color:#333}.stat-value.earned{color:#34c759}.stat-value.pending{color:#ff9500}.reward-progress{margin-bottom:1.5rem}.progress-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.progress-bar-container{margin:1rem 0}.progress-fill-driver{height:100%;background:linear-gradient(90deg,#ff9500,#34c759);transition:width .5s ease}.progress-text{text-align:center;margin-top:.5rem;font-weight:600;color:#333}.trips-remaining{color:#666;text-align:center;margin-top:1rem}.reward-earned-notice{background:#e8f5e8;border:2px solid #34c759;border-radius:8px;padding:1rem;margin-top:1rem;text-align:center}.reward-earned-notice h5{color:#2d5016;margin-bottom:.5rem}.reward-earned-notice p{color:#2d5016;margin:0}.driver-actions{display:flex;gap:1rem;margin-bottom:1.5rem}.complete-trip-btn{flex:1;background:#34c759;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.history-btn{flex:1;background:#007aff;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.near-reward-notice{background:#fff3cd;border:2px solid #ff9500;border-radius:8px;padding:1.5rem;text-align:center}.near-reward-notice h4{color:#8b5a00;margin-bottom:.5rem}.near-reward-notice p{color:#8b5a00;margin:0}.notifications-section{background:white;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.notifications-header h3{margin:0;display:flex;align-items:center;gap:.5rem}.unread-badge{background:#ff3b30;color:#fff;border-radius:50%;padding:.25rem .5rem;font-size:12px;font-weight:700;min-width:20px;text-align:center}.clear-notifications-btn{background:#ff9500;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.clear-notifications-btn:hover{background:#e6850e}.notifications-list{max-height:400px;overflow-y:auto}.no-notifications{text-align:center;padding:2rem;color:#666}.notification-card{border:2px solid #e0e0e0;border-radius:8px;padding:1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:flex-start;transition:all .3s}.notification-card.unread{background:#fff3e0;border-color:#ff9500;box-shadow:0 2px 8px #ff950033}.notification-card.read{background:#f8f9fa;border-color:#e0e0e0}.notification-content{flex:1}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.booking-id{background:#007aff;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:700}.notification-time{color:#666;font-size:12px}.notification-content p{margin:.25rem 0;font-size:14px}.payment-info{color:#34c759;font-weight:600}.scheduled-time{color:#ff9500;font-weight:600}.acknowledge-btn{background:#34c759;color:#fff;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.acknowledge-btn:hover{background:#28a745;transform:scale(1.1)}.driver-login-btn{width:100%;background:#ff9500;color:#fff;border:none;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:1rem}.driver-login-btn:hover{background:#e6850e}.bus-info-with-driver{display:flex;align-items:center;gap:.75rem}.bus-details-info{display:flex;flex-direction:column;gap:.25rem}.bus-details-info h5{margin:0;font-size:16px;color:#333}.bus-details-info .driver-name{color:#666;font-size:14px}.bus-details-info .passing-indicator{color:#ff9500;font-size:12px;font-weight:600}.stops-info{background:#e8f5e8;color:#2e7d32;padding:.5rem;border-radius:6px;font-size:12px;margin-top:.5rem;border:1px solid #a5d6a7}.full-bus-info{background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;padding:1rem;margin-top:.5rem;text-align:center}.full-bus-info p{margin:.25rem 0}.track-bus-btn{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;cursor:pointer;margin-top:.5rem}.track-bus-btn:hover{background:#f57c00}@media (max-width: 768px){.seat-legend{gap:1rem}.legend-item{font-size:14px}.seat{width:30px;height:30px;font-size:11px}.seat-layout{padding:1rem .5rem}.vehicle-info{flex-direction:column;gap:1rem}.payment-radio,.topup-radio{font-size:14px}.topup-actions{flex-direction:column}.progress-stops{flex-direction:column;gap:.5rem}}@media (max-width: 480px){.booking-header,.seat-header,.payment-header,.tracking-header{flex-direction:column;align-items:flex-start;gap:.5rem}.countdown{align-self:stretch;text-align:center}.seat-group{gap:.25rem}.seat{width:28px;height:28px;font-size:10px}}.driver-registration,.passenger-registration{max-width:800px;margin:0 auto;padding:1rem}.registration-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem}.registration-form{background:white;padding:2rem;border-radius:12px;box-shadow:0 2px 10px #0000001a}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e0e0e0}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h3{color:#007aff;margin-bottom:1rem;font-size:1.2rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group select{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#007aff}.image-preview{margin-top:1rem}.image-preview img{max-width:200px;max-height:150px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-top:1rem}.image-preview-item{position:relative}.image-preview-item img{width:100%;height:80px;object-fit:cover;border-radius:6px}.remove-image-btn{position:absolute;top:-5px;right:-5px;width:20px;height:20px;border-radius:50%;background:#ff3b30;color:#fff;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}.register-btn{width:100%;background:#007aff;color:#fff;border:none;padding:15px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.register-btn:hover:not(:disabled){background:#0056cc}.register-btn:disabled{background:#ccc;cursor:not-allowed}.importance-note{background:#f0f8ff;border:2px solid #007aff;border-radius:8px;padding:1rem;margin-bottom:1.5rem}.importance-note p{margin:0 0 .5rem;color:#003d82;font-weight:600}.importance-note ul{margin:0;padding-left:1rem}.importance-note li{margin-bottom:.5rem;color:#005bb5;font-size:14px}.importance-note li:last-child{margin-bottom:0}.walking-directions{background:#e3f2fd;border:2px solid #2196f3;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.walking-directions h4{margin:0 0 1rem;color:#1976d2}.directions-summary{display:flex;gap:1rem;margin-bottom:1rem;font-weight:600}.directions-summary span{background:white;padding:.5rem .75rem;border-radius:6px;font-size:14px}.directions-steps{margin:1rem 0;padding-left:1.5rem}.directions-steps li{margin-bottom:.5rem;color:#333}.location-sharing{background:#f3e5f5;border:2px solid #9c27b0;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.location-sharing h4{margin:0 0 1rem;color:#7b1fa2}.location-info{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.my-location,.bus-location{display:flex;flex-direction:column;gap:.25rem;background:white;padding:.75rem;border-radius:8px}.location-label{font-weight:600;color:#333;font-size:14px}.coordinates{font-family:monospace;background:#f5f5f5;padding:.25rem .5rem;border-radius:4px;font-size:12px}.bus-speed{color:#666;font-size:12px}.stop-sharing-btn{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer}.intermediate-stops{background:#fff3e0;border:2px solid #ff9800;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.intermediate-stops h4{margin:0 0 1rem;color:#f57c00}.stops-list{display:flex;flex-direction:column;gap:.75rem}.stop-item{display:flex;justify-content:space-between;align-items:center;background:white;padding:1rem;border-radius:8px;border:1px solid #ffcc02}.stop-info{display:flex;flex-direction:column;gap:.25rem}.stop-name{font-weight:600;color:#333}.stop-distance{color:#666;font-size:14px}.stop-passengers{color:#999;font-size:12px}.get-off-btn{background:#ff9800;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap}.get-off-btn:hover{background:#f57c00}.divider{margin:1rem 0;text-align:center;position:relative}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e0e0e0}.divider span{background:white;padding:0 1rem;color:#666;font-size:14px}.driver-register-btn{width:100%;background:#34c759;color:#fff;border:none;padding:15px;border-radius:8px;font-size:16px;cursor:pointer;transition:background .3s;margin-top:.5rem}.driver-register-btn:hover:not(:disabled){background:#28a745}.vehicle-image-section{margin-bottom:1rem}.vehicle-images-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.vehicle-display-image{width:100%;height:120px;object-fit:cover;border-radius:8px;border:1px solid #e0e0e0}.interior-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.interior-label{font-size:14px;color:#666;margin-bottom:.5rem}.interior-thumbnails{display:flex;gap:.5rem;align-items:center}.interior-thumbnail{width:60px;height:40px;object-fit:cover;border-radius:4px;border:1px solid #e0e0e0}.more-images{background:#f0f0f0;width:60px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666}.amenities-section{margin:1rem 0}.amenities-list{list-style:none;padding:0;margin:.5rem 0;background:#f8f9fa;border-radius:8px;padding:1rem}.amenity-item{padding:.4rem 0;font-size:14px;color:#2d5016;border-bottom:1px solid #e0e0e0}.amenity-item:last-child{border-bottom:none}.amenity-tag{background:#e8f5e8;color:#2d5016;padding:.25rem .5rem;border-radius:12px;font-size:12px;border:1px solid #4caf50}.reward-status{margin-bottom:1.5rem}.reward-card{background:linear-gradient(135deg,#ff9500,#ffb84d);color:white,padding: 1.5rem;border-radius:12px;box-shadow:0 4px 15px #ff95004d}.reward-card h3{margin:0 0 1rem;font-size:1.2rem}.reward-info{display:flex;flex-direction:column;gap:1rem}.ride-progress{display:flex;flex-direction:column;gap:.5rem}.progress-bar{width:100%;height:8px;background:rgba(255,255,255,.3);border-radius:4px;overflow:hidden}.progress-fill-reward{height:100%;background:white;border-radius:4px;transition:width .3s ease}.free-rides{display:flex;flex-direction:column;gap:.5rem}.free-ride-available{background:rgba(255,255,255,.2);padding:.75rem;border-radius:8px;font-weight:600}.rides-remaining{font-size:14px;opacity:.9}.reward-earned{background:#34c759;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.reward-earned h5{margin:0 0 .5rem;font-size:1.1rem}.progress-update{background:#007aff;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.free-ride-used{background:#34c759;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.free-ride-notice{background:#e8f5e8;color:#2d5016;padding:.75rem;border-radius:6px;margin-top:.5rem;text-align:center;font-weight:600;border:1px solid #4caf50}.better-alternatives{background:linear-gradient(135deg,#e3f2fd 0%,#f3e5f5 100%);border:2px solid #2196f3;border-radius:12px;padding:1.5rem;margin:1rem 0;box-shadow:0 4px 12px #2196f326}.better-alternatives h4{color:#1976d2;margin:0 0 .5rem;font-size:18px}.alternatives-intro{color:#424242;margin-bottom:1rem;font-style:italic}.alternative-card{background:white;border-radius:8px;padding:1rem;margin-bottom:1rem;border:1px solid #e1f5fe;box-shadow:0 2px 8px #0000001a}.alternative-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.alternative-info{display:flex;flex-direction:column;gap:.25rem}.alt-vehicle-number{font-weight:700;font-size:16px;color:#1976d2}.alt-driver-name{color:#666;font-size:14px}.alt-vehicle-type{font-size:12px;font-weight:600;padding:.25rem .5rem;border-radius:4px;color:#fff}.alt-vehicle-type.bus{background:#4caf50}.alt-vehicle-type.taxi{background:#ff9800}.alt-arrival{background:#e8f5e8;color:#2e7d32;padding:.5rem;border-radius:6px;font-weight:600;font-size:14px}.alternative-benefits{margin-bottom:1rem}.price-comparison{display:flex;gap:1rem;align-items:center;margin-bottom:1rem;background:#f8f9fa;padding:.75rem;border-radius:6px}.current-price,.new-price,.savings{display:flex;flex-direction:column;align-items:center;gap:.25rem}.price-label,.savings-label{font-size:12px;color:#666;font-weight:600}.price-amount{font-weight:700;color:#333}.savings-amount{font-weight:700;color:#4caf50}.alt-amenities{margin-bottom:1rem}.amenities-label{font-weight:600;color:#666;font-size:14px;margin-right:.5rem}.amenities-list{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.alternative-reasons{margin-bottom:1rem}.reason-label{font-weight:600;color:#666;font-size:14px}.reasons-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.reason-item{background:#e8f5e8;color:#2e7d32;padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:600}.alternative-actions{display:flex;gap:.5rem;margin-bottom:.5rem}.switch-bus-btn{flex:1;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);color:#fff;border:none;padding:12px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.switch-bus-btn:hover{background:linear-gradient(135deg,#45a049 0%,#3d8b40 100%);transform:translateY(-1px)}.dismiss-alternative-btn{flex:1;background:#f5f5f5;color:#666;border:1px solid #ddd;padding:12px;border-radius:6px;font-weight:600;cursor:pointer}.dismiss-alternative-btn:hover{background:#e9e9e9}.switch-info{text-align:center;color:#666;font-size:12px}.vehicles-tabs{display:flex;gap:.5rem;margin:1rem 0;background:#f5f5f5;padding:.25rem;border-radius:8px}.vehicles-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s}.vehicles-tab.active{background:#007aff;color:#fff}.vehicles-tab:hover:not(.active){background:#e0e0e0}.passing-vehicles-section{margin-top:1rem}.passing-vehicles-info{background:linear-gradient(135deg,#fff3e0 0%,#f9f9f9 100%);padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #ff9500}.passing-vehicles-info h4{color:#ff9500;margin-bottom:.5rem}.passing-vehicles-info p{color:#666;margin:0;font-size:14px}.vehicle-card.passing-vehicle{border-left:4px solid #ff9500;background:linear-gradient(135deg,#fff7e6 0%,#ffffff 100%);position:relative}.passing-indicator{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;background:#fff3e0;padding:.5rem;border-radius:6px}.passing-badge{background:#ff9500;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:600}.arrival-time{background:#e8f4ff;color:#06c;padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:600}.passing-discount{background:#e8f5e8;color:#2e7d32;padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:600;margin-left:.5rem}.select-vehicle-btn.passing-btn{background:linear-gradient(135deg,#ff9500 0%,#ff7700 100%);border:none;color:#fff}.select-vehicle-btn.passing-btn:hover{background:linear-gradient(135deg,#ff7700 0%,#ff5500 100%)}.cannot-pickup{text-align:center;padding:1rem;background:#fff3e0;border-radius:6px;border:1px solid #ffcc02}.passing-buses{margin-top:1rem}.passing-bus{border-left:4px solid #ff6b35;background:linear-gradient(135deg,#fff5f0 0%,#ffffff 100%)}.passing-timing{background:#fff3e0;padding:.75rem;border-radius:6px;margin:.5rem 0}.passing-timing .timing-info{display:flex;justify-content:space-between;align-items:center}.distance-info,.seat-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.passing-btn{background:linear-gradient(135deg,#ff6b35 0%,#ff5722 100%)}.passing-btn:hover{background:linear-gradient(135deg,#ff5722 0%,#e64a19 100%)}.pickup-warning{background:#fff3e0;color:#f57c00;padding:.5rem;border-radius:4px;margin-top:.5rem;font-size:14px;text-align:center}.pickup-notice{color:#e65100;font-weight:600}.no-passing-buses{text-align:center;padding:2rem;color:#666;background:#f8f9fa;border-radius:8px;margin-top:1rem}.no-passing-buses p{margin:.5rem 0}.error-message{text-align:center;padding:2rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:1rem 0}.error-message p{color:#856404;margin:.5rem 0}.retry-btn{background:#007aff;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;margin-top:1rem}.retry-btn:hover{background:#0056cc}.driver-photo-preview,.passenger-photo-preview{margin-top:1rem;text-align:center}.driver-photo-preview img,.passenger-photo-preview img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #007aff}.driver-photo-preview p,.passenger-photo-preview p{margin-top:.5rem;color:#666;font-size:14px}.profile-benefits{background:#f0f8ff;padding:1rem;border-radius:8px;margin-top:1rem}.profile-benefits ul{margin:.5rem 0 0;padding-left:1.5rem}.profile-benefits li{margin-bottom:.5rem;color:#333}.passenger-benefits-section{background:#f0f8ff;padding:1.5rem;border-radius:12px;margin-bottom:2rem}.passenger-benefits-section h3{color:#007aff;margin-bottom:1rem;text-align:center}.link-btn{background:none;border:none;color:#007aff;cursor:pointer;text-decoration:underline;font-size:inherit}.link-btn:hover{color:#0056cc}.login-link{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.login-link p{margin:0;color:#666}.driver-profile-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.driver-profile-content{background:white;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:2rem}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:#f0f0f0;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center}.driver-profile-header{display:flex;gap:2rem;margin-bottom:2rem;align-items:center}.driver-photo-section{position:relative;flex-shrink:0}.driver-photo-large{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid #007aff}.driver-photo-placeholder{width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#007aff,#34c759);display:flex;align-items:center;justify-content:center;color:#fff;font-size:48px;font-weight:700}.verification-badge{position:absolute;bottom:10px;right:10px;background:#34c759;color:#fff;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.driver-basic-info h2{margin:0 0 .5rem;color:#333}.driver-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.stars{color:#ff9500}.rating-number{font-weight:600;color:#007aff}.total-trips{color:#666;font-size:14px}.experience-badge{display:inline-block;color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.driver-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-section{background:#f8f9fa;padding:1.5rem;border-radius:12px}.detail-section h3{margin:0 0 1rem;color:#333;font-size:18px}.detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.detail-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.detail-label{color:#666;font-weight:500}.detail-value{color:#333;font-weight:600;text-align:right}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center;padding:1rem;background:white;border-radius:8px}.stat-number{display:block;font-size:24px;font-weight:700;color:#007aff;margin-bottom:.25rem}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.vehicle-images-section{margin-bottom:2rem}.vehicle-images-section h3{margin-bottom:1rem;color:#333}.vehicle-images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.vehicle-image-item{position:relative;border-radius:8px;overflow:hidden}.vehicle-image-item img{width:100%;height:150px;object-fit:cover}.image-label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.7);color:#fff;padding:.5rem;font-size:14px;text-align:center}.profile-actions{display:flex;gap:1rem;justify-content:center}.call-btn{background:#34c759;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.call-btn:hover{background:#28a745}.close-profile-btn{background:#8e8e93;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s}.close-profile-btn:hover{background:#6d6d70}.view-profile-btn{background:#007aff;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:12px;cursor:pointer;margin-left:.5rem;transition:background .3s}@media (max-width: 768px){.driver-profile-header{flex-direction:column;text-align:center}.driver-details-grid{grid-template-columns:1fr}.profile-actions{flex-direction:column}.stats-grid{grid-template-columns:1fr}}.vehicle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.driver-info-header{display:flex;align-items:center;gap:.75rem}.driver-photo-small{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid #007aff}.driver-avatar{width:100%;height:100%;object-fit:cover}.driver-avatar-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#007aff,#5856d6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border-radius:50%}.view-profile-btn{background:#007aff;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s;white-space:nowrap}.view-profile-btn:hover{background:#0056cc}.driver-info-header{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.driver-photo-small{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid #007aff;flex-shrink:0}.driver-avatar{width:100%;height:100%;object-fit:cover;display:block}.cannot-pickup small{color:#666;font-size:12px}.no-passing-vehicles{text-align:center;padding:2rem;background:#f9f9f9;border-radius:8px;color:#666}.no-passing-vehicles p{margin:.5rem 0}.bus-route{margin:.5rem 0;display:flex;flex-direction:column;gap:.5rem}.driver-seat-management{max-width:1000px;margin:0 auto;padding:1rem}.seat-management-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem}.vehicle-overview{background:white;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:#f8f9fa;padding:1rem;border-radius:8px;text-align:center}.stat-card h4{margin:0 0 .5rem;color:#666;font-size:14px}.earnings-amount{font-size:1.5rem;font-weight:700;color:#34c759;margin:0}.occupancy-rate{font-size:1.5rem;font-weight:700;color:#007aff;margin:0}.seat-status-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px;border:2px solid #ddd}.driver-seat-layout{background:white;padding:2rem 1rem;border-radius:12px;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto;box-shadow:0 2px 10px #0000001a}.bus-front{text-align:center;margin-bottom:1rem}.driver-section{background:#007aff;color:#fff;padding:.5rem;border-radius:8px;font-weight:700;margin-bottom:1rem}.seat-row-driver{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:1rem}.seat-group-driver.left{justify-content:flex-end}.seat-group-driver.right{justify-content:flex-start}.aisle-driver{width:2rem;height:1px;background:#ddd}.driver-seat{width:45px;height:60px;border:2px solid #ddd;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:700;cursor:default;position:relative;padding:2px}.seat-number{font-size:10px;font-weight:700;color:#333}.passenger-gender{font-size:12px;font-weight:700;margin:1px 0}.available-text{font-size:8px;text-align:center}.seat-details{background:white;border-radius:12px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 10px #0000001a}.seat-details-list{display:flex;flex-direction:column;gap:1rem}.seat-detail-item{background:#f8f9fa;padding:1rem;border-radius:8px;border-left:4px solid #007aff}.seat-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.seat-status-badge{padding:.25rem .5rem;border-radius:4px;font-size:12px;font-weight:700;text-transform:uppercase}.passenger-info{display:flex;gap:.5rem;margin-bottom:.5rem}.passenger-name{font-weight:700;color:#333}.passenger-gender-full{color:#666;font-style:italic}.payment-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.payment-method{color:#666;font-size:14px}.destination-info{color:#007aff;font-weight:700}.seat-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.refresh-btn,.simulate-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:background-color .3s}.refresh-btn{background:#34c759;color:#fff}.refresh-btn:hover{background:#28a745}.simulate-btn:hover{background:#e68900}.bus-front{margin-bottom:1rem}.driver-section{text-align:center;padding:.75rem;background:#f0f0f0;border-radius:8px;font-weight:700}.seat-row-driver{display:flex;justify-content:space-between;margin-bottom:.75rem;align-items:center}.seat-group-driver{display:flex;gap:.5rem}.aisle-driver{width:30px}.driver-seat{width:50px;height:60px;border:2px solid #ddd;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:700;position:relative;transition:all .3s}.seat-number{font-size:12px;font-weight:700;margin-bottom:2px}.passenger-gender{font-size:10px;font-weight:700;margin-bottom:1px}.seat-amount{font-size:9px;font-weight:700}.available-text{font-size:9px;text-align:center}.seat-details{background:white;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 10px #0000001a}.seat-details h4{margin:0 0 1rem;color:#333}.seat-details-list{display:grid;gap:1rem}.seat-detail-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;align-items:center}.seat-info{display:flex;flex-direction:column;gap:.25rem}.seat-num{font-weight:700;color:#333}.seat-status-badge{font-size:11px;padding:2px 6px;border-radius:12px;font-weight:600;text-transform:uppercase}.seat-status-badge.booked{background:#fff3e0;color:#f57c00}.seat-status-badge.occupied{background:#e3f2fd;color:#1976d2}.seat-status-badge.completed{background:#f3e5f5;color:#7b1fa2}.passenger-info{display:flex;flex-direction:column;gap:.25rem}.passenger-name{font-weight:600;color:#333}.passenger-gender-full{font-size:12px;color:#666}.payment-info{display:flex;flex-direction:column;gap:.25rem;text-align:right}.amount{font-weight:700;color:#34c759}.payment-method{font-size:12px;color:#666}.destination-info{font-size:12px;color:#666;text-align:right}.seat-actions{display:flex;gap:1rem;justify-content:center}.refresh-btn,.simulate-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.refresh-btn{background:#007aff;color:#fff}.refresh-btn:hover{background:#0056cc}.simulate-btn{background:#ff9500;color:#fff}.simulate-btn:hover{background:#ff7700}@media (max-width: 768px){.seat-detail-item{grid-template-columns:1fr;text-align:center}.overview-stats{grid-template-columns:1fr}.seat-status-legend{gap:1rem}.seat-actions{flex-direction:column}}.dashboard-btn.earnings{background:linear-gradient(135deg,#4caf50,#45a049)}.dashboard-btn.seat-layout{background:linear-gradient(135deg,#2196f3,#1976d2)}
