@charset "UTF-8";.spinner-wrapper{display:flex;align-items:center;justify-content:center}.spinner{border-radius:50%;border-style:solid;border-color:transparent;animation:spin .8s linear infinite}.spinner--sm{width:18px;height:18px;border-width:2px}.spinner--md{width:28px;height:28px;border-width:3px}.spinner--lg{width:44px;height:44px;border-width:4px}.spinner--accent{border-top-color:var(--accent-400);border-right-color:#7c3aed33}.spinner--white{border-top-color:#fff;border-right-color:#ffffff40}.spinner--blue{border-top-color:var(--neon-blue);border-right-color:#00d4ff33}.app-logo-loader{margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:600;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap;user-select:none;-webkit-user-select:none}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--sm{padding:8px 16px;font-size:13px;height:36px}.btn--md{padding:12px 24px;font-size:15px;height:48px}.btn--lg{padding:16px 32px;font-size:16px;height:56px}.btn--full{width:100%}.btn--primary{background:linear-gradient(135deg,var(--accent-500),var(--accent-400));color:#fff;box-shadow:0 4px 16px #6d28d966}.btn--primary:hover:not(:disabled){box-shadow:0 6px 24px #6d28d999;background:linear-gradient(135deg,var(--accent-400),var(--neon-blue))}.btn--secondary{background:var(--surface-2);color:var(--text-primary);border:var(--border-1)}.btn--secondary:hover:not(:disabled){background:var(--surface-3);border-color:#ffffff26}.btn--outline{background:transparent;color:var(--accent-300);border:1px solid rgba(124,58,237,.5)}.btn--outline:hover:not(:disabled){background:#7c3aed1a}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-1);color:var(--text-primary)}.btn--danger{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.btn--danger:hover:not(:disabled){background:#ef444440}.btn--success{background:linear-gradient(135deg,#059669,#10b981);color:#fff;box-shadow:0 4px 16px #10b98159}.btn--neon{background:#00d4ff1a;color:var(--neon-blue);border:1px solid rgba(0,212,255,.3);box-shadow:0 0 16px #00d4ff26}.btn--neon:hover:not(:disabled){background:#00d4ff33;box-shadow:0 0 24px #00d4ff4d}.btn__icon{font-size:18px;line-height:1}.btn__text{line-height:1}.btn__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-950);max-width:480px;margin:0 auto}.auth-hero{position:relative;height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.auth-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--gradient-hero)}.auth-hero__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 60%,rgba(109,40,217,.4) 0%,transparent 70%)}.auth-hero__content{position:relative;text-align:center;z-index:1}.auth-logo{font-family:var(--font-display);font-size:3rem;font-weight:900;letter-spacing:-.03em;margin-bottom:8px}.auth-tagline{color:var(--text-secondary);font-size:15px;font-weight:500}.auth-card{flex:1;background:var(--bg-900);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-top:var(--border-1);padding:28px 24px 40px;margin-top:-24px;position:relative}.auth-card__title{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:4px}.auth-card__sub{font-size:14px;color:var(--text-muted);margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-switch{text-align:center;font-size:14px;color:var(--text-secondary)}.auth-switch__link{color:var(--accent-300);font-weight:600;transition:color var(--transition-fast)}.auth-switch__link:hover{color:var(--accent-200)}.app-header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--header-height);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:var(--border-1);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:var(--z-ui);padding-top:env(safe-area-inset-top)}.app-header--transparent{background:transparent;border-bottom:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-header__logo{font-size:1.4rem}.app-header__back{width:36px;height:36px;border-radius:var(--radius-full);background:var(--surface-2);border:var(--border-1);color:var(--text-primary);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.app-header__back:hover{background:var(--surface-3)}.app-header__title{font-size:16px;font-weight:700;color:var(--text-primary);position:absolute;left:50%;transform:translate(-50%)}.app-header__right{display:flex;align-items:center;gap:8px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--bottom-nav-height);background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:var(--border-1);display:flex;align-items:center;justify-content:space-around;z-index:var(--z-ui);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 12px;border-radius:var(--radius-lg);position:relative;transition:all var(--transition-fast);text-decoration:none;flex:1}.bottom-nav__icon{font-size:22px;line-height:1;transition:transform var(--transition-spring)}.bottom-nav__label{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text-muted);transition:color var(--transition-fast)}.bottom-nav__item--active .bottom-nav__label{color:var(--accent-300)}.bottom-nav__item--active .bottom-nav__icon{transform:translateY(-2px) scale(1.1)}.bottom-nav__indicator{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent-400);box-shadow:0 0 8px var(--accent-400)}.home-page{min-height:100dvh;background:var(--bg-900);background-image:var(--gradient-hero);background-attachment:fixed}.home-content{padding-top:calc(var(--header-height) + 16px);padding-bottom:calc(var(--bottom-nav-height) + 16px);padding-left:16px;padding-right:16px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.home-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-500),var(--neon-blue));color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center}.home-hero{display:flex;flex-direction:column;gap:10px}.home-hero__greeting{display:flex;align-items:center;gap:8px;font-size:15px;color:var(--text-secondary);font-weight:500}.home-hero__wave{font-size:20px}.home-hero__headline{line-height:1.15}.home-location-bar{display:flex;align-items:center;gap:10px;background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-full);padding:12px 16px;cursor:pointer;transition:all var(--transition-base)}.home-location-bar:hover{background:var(--surface-2)}.home-location-bar__icon{font-size:18px}.home-location-bar__text{flex:1}.home-location-bar__city{font-size:14px;font-weight:600;color:var(--text-primary)}.home-location-bar__label{font-size:11px;color:var(--text-muted)}.home-location-bar__arrow{font-size:20px;color:var(--text-muted)}.home-book-cta{background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-lg);padding:16px;cursor:pointer;transition:all var(--transition-base)}.home-book-cta:hover{background:var(--surface-2);border-color:#7c3aed4d}.home-book-cta__inner{display:flex;align-items:center;justify-content:space-between}.home-book-cta__placeholder{font-size:16px;color:var(--text-muted)}.home-book-cta__icon{width:40px;height:40px;background:var(--accent-500);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:18px}.home-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-feature-card{padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:8px}.home-feature-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px}.home-feature-card__title{font-size:14px;font-weight:700;color:var(--text-primary)}.home-feature-card__desc{font-size:11px;color:var(--text-muted);line-height:1.4}.home-safety-card{display:flex;align-items:center;gap:12px;padding:16px}.home-safety-card__icon{font-size:28px}.home-safety-card__title{font-size:14px;font-weight:600;color:var(--text-primary)}.home-safety-card__desc{font-size:12px;color:var(--text-muted)}.home-notif-btn{background:none;border:none;cursor:pointer}.map-picker{width:100%;display:flex;flex-direction:column;gap:0}.map-picker__search-stack{background:var(--bg-800);border:var(--border-1);border-radius:var(--radius-lg);overflow:visible;margin-bottom:8px;position:relative;z-index:15}.map-picker__search-row{display:flex;align-items:center;gap:10px;padding:10px 14px;position:relative}.map-picker__pin{font-size:18px;flex-shrink:0}.map-picker__divider-line{height:1px;background:var(--glass-border);margin:0 14px}.map-picker__input-wrap{flex:1;position:relative}.map-picker__input{width:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);padding:4px 0}.map-picker__input::placeholder{color:var(--text-muted)}.map-picker__input-actions{display:flex;align-items:center;gap:8px;margin-left:8px}.map-picker__action-icon{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.map-picker__action-icon:hover{background:var(--surface-1);color:var(--text-primary)}.map-picker__suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-800);border:var(--border-1);border-radius:var(--radius-md);list-style:none;z-index:20;max-height:220px;overflow-y:auto;box-shadow:var(--shadow-lg)}.map-picker__suggestion{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:var(--border-1);transition:background var(--transition-fast)}.map-picker__suggestion:last-child{border-bottom:none}.map-picker__suggestion:hover{background:var(--surface-1)}.map-picker__sugg-icon{font-size:14px;margin-top:2px;flex-shrink:0}.map-picker__sugg-main{font-size:13px;font-weight:500;color:var(--text-primary)}.map-picker__sugg-sec{font-size:11px;color:var(--text-muted);margin-top:1px}.map-picker__pin-toggle{display:flex;gap:8px;margin-bottom:8px}.pin-toggle-btn{flex:1;padding:8px 12px;background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-full);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.pin-toggle-btn--active{background:var(--accent-100);border-color:var(--accent-500);color:var(--accent-600)}.map-picker__map{border-radius:var(--radius-lg);overflow:hidden}.map-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg-800);border-radius:var(--radius-lg);color:var(--text-muted);font-size:13px}.map-loading__spinner{width:32px;height:32px;border:3px solid rgba(124,58,237,.2);border-top-color:var(--accent-400);border-radius:50%;animation:spin .8s linear infinite}.vehicle-card{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:var(--surface-1);border:1.5px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;text-align:left}.vehicle-card:hover:not(.vehicle-card--disabled){background:var(--surface-2);border-color:#7c3aed4d}.vehicle-card--selected{background:#6d28d91f;border-color:#7c3aed99;box-shadow:0 0 16px #6d28d933}.vehicle-card--disabled{opacity:.4;cursor:not-allowed}.vehicle-card__icon{font-size:28px;line-height:1;flex-shrink:0}.vehicle-card__info{flex:1}.vehicle-card__name{font-size:15px;font-weight:700;color:var(--text-primary)}.vehicle-card__capacity{font-size:11px;color:var(--text-muted);margin-top:2px}.vehicle-card__right{text-align:right}.vehicle-card__fare{font-size:17px;font-weight:800;color:var(--text-primary);font-family:var(--font-display)}.vehicle-card__eta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--neon-green);margin-top:2px;justify-content:flex-end}.vehicle-card__check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--accent-500);border-radius:50%;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:700}.book-ride-page{min-height:100dvh;background:var(--bg-900)}.book-ride-content{padding-top:calc(var(--header-height) + 12px);padding-bottom:calc(var(--bottom-nav-height) + 16px);padding-left:16px;padding-right:16px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.book-ride-summary{display:flex;align-items:center;padding:14px 20px;gap:0}.book-ride-summary__item{flex:1;display:flex;flex-direction:column;gap:3px}.book-ride-summary__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.book-ride-summary__val{font-size:16px;font-weight:700;color:var(--text-primary)}.book-ride-summary__divider{width:1px;height:36px;background:var(--glass-border);margin:0 16px}.book-ride-vehicles,.book-ride-vehicle-list{display:flex;flex-direction:column;gap:10px}.book-ride-footer{background:var(--bg-800);border:var(--border-1);border-radius:var(--radius-xl);padding:16px;display:flex;flex-direction:column;gap:12px}.book-ride-footer__info{display:flex;justify-content:space-between;align-items:center}.book-ride-footer__vehicle{font-size:16px;font-weight:600;color:var(--text-primary)}.book-ride-footer__fare{font-size:24px;font-weight:900;font-family:var(--font-display)}.book-ride-hint{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:14px;color:var(--text-secondary)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.outstation-page{min-height:100dvh;background:var(--bg-900)}.outstation-content{padding-top:calc(var(--header-height) + 12px);padding-bottom:calc(var(--bottom-nav-height) + 24px);padding-inline:16px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.outstation-section{padding:16px}.outstation-section__title{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.outstation-dates{display:flex;align-items:center;gap:8px}.outstation-date-field{flex:1;display:flex;flex-direction:column;gap:4px}.outstation-date-arrow{font-size:20px;color:var(--text-muted);flex-shrink:0}.outstation-days-badge{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.outstation-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-800);border:var(--border-1);border-radius:var(--radius-md);z-index:20;list-style:none;max-height:180px;overflow-y:auto;box-shadow:var(--shadow-lg);margin-top:4px}.outstation-suggestion{padding:11px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;border-bottom:var(--border-1);transition:background var(--transition-fast)}.outstation-suggestion:hover{background:var(--surface-1)}.outstation-route-info{display:flex;gap:8px;align-items:center;margin-top:10px;font-size:13px;color:var(--text-secondary);font-weight:500}.outstation-vehicle-list{display:flex;flex-direction:column;gap:10px}.outstation-vehicle-card{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--surface-1);border:1.5px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);width:100%;text-align:left;position:relative}.outstation-vehicle-card:hover{background:var(--surface-2);border-color:#7c3aed4d}.outstation-vehicle-card--selected{background:#6d28d91f;border-color:#7c3aed99}.outstation-vehicle-icon{font-size:26px}.outstation-vehicle-info{flex:1}.outstation-vehicle-name{font-size:15px;font-weight:700;color:var(--text-primary)}.outstation-vehicle-days{font-size:11px;color:var(--text-muted);margin-top:2px}.outstation-vehicle-fare{font-size:17px;font-weight:800;color:var(--text-primary);font-family:var(--font-display)}.outstation-vehicle-check{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--accent-500);border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.outstation-actions{display:flex;gap:12px}.outstation-actions>*{flex:1}.react-datepicker{background:var(--bg-800)!important;border:var(--border-1)!important;color:var(--text-primary)!important;font-family:var(--font-sans)!important}.react-datepicker__header{background:var(--bg-700)!important;border-bottom:var(--border-1)!important}.react-datepicker__current-month,.react-datepicker__day-name,.react-datepicker__day{color:var(--text-primary)!important}.react-datepicker__day:hover{background:var(--accent-600)!important;border-radius:4px!important}.react-datepicker__day--selected{background:var(--accent-500)!important;border-radius:4px!important}.react-datepicker__navigation-icon:before{border-color:var(--text-secondary)!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center}.modal-sheet{width:100%;max-width:480px;background:var(--bg-800);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-top:var(--border-1);border-left:var(--border-1);border-right:var(--border-1);padding:0 0 32px;max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}.modal-sheet--sm{max-height:50dvh}.modal-sheet--md{max-height:70dvh}.modal-sheet--lg{max-height:90dvh}.modal-sheet--full{max-height:92dvh}.modal-handle{width:40px;height:4px;background:#ffffff26;border-radius:var(--radius-full);margin:12px auto 4px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 16px;border-bottom:var(--border-1)}.modal-title{font-size:17px;font-weight:700;color:var(--text-primary)}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text-secondary);font-size:14px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background:var(--surface-3);color:var(--text-primary)}.modal-body{padding:20px}.otp-modal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}.otp-modal__desc{color:var(--text-secondary);font-size:14px;line-height:1.5}.otp-display{display:flex;gap:10px;justify-content:center}.otp-display__digit{width:48px;height:56px;background:var(--surface-2);border:var(--border-accent);border-radius:var(--radius-md);font-size:24px;font-weight:800;font-family:var(--font-display);color:var(--accent-200);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #7c3aed33}.otp-modal__hint{font-size:12px;color:var(--text-muted)}.otp-modal__error{color:var(--danger);font-size:13px;width:100%;text-align:center}.otp-input-wrap{width:100%}.otp-input-container{display:flex!important;gap:8px;justify-content:center}.otp-digit-input{width:44px!important;height:52px;background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-md);color:var(--text-primary);font-size:20px;font-weight:700;text-align:center;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);caret-color:transparent}.otp-digit-input:focus{border-color:var(--accent-400);box-shadow:0 0 0 3px #7c3aed33}.tracking-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-900)}.tracking-map{flex:1;position:relative}.tracking-back{position:absolute;top:calc(env(safe-area-inset-top) + 16px);left:16px;z-index:var(--z-ui);width:40px;height:40px;border-radius:50%;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:var(--border-1);color:var(--text-primary);font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer}.tracking-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg-900);color:var(--text-muted)}.tracking-loading__spinner{width:40px;height:40px;border:3px solid rgba(124,58,237,.2);border-top-color:var(--accent-400);border-radius:50%;animation:spin .8s linear infinite}.tracking-panel{position:relative;z-index:var(--z-ui);background:var(--bg-800);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-top:var(--border-1);padding:0 16px 32px;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.tracking-panel__handle{width:40px;height:4px;background:#ffffff26;border-radius:var(--radius-full);margin:12px auto 16px}.tracking-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tracking-vehicle{font-size:14px;font-weight:600;color:var(--text-secondary)}.tracking-searching{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 16px}.tracking-searching__rings{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.tracking-ring{position:absolute;border-radius:50%;border:2px solid var(--accent-400);opacity:.4;animation:ping 2s cubic-bezier(0,0,.2,1) infinite}.tracking-ring--1{width:40px;height:40px;animation-delay:0s}.tracking-ring--2{width:60px;height:60px;animation-delay:.5s}.tracking-ring--3{width:80px;height:80px;animation-delay:1s}.tracking-searching__icon{position:relative;font-size:28px;z-index:1;animation:bounce 1.5s infinite}.tracking-searching__text{font-size:14px;color:var(--text-secondary)}.tracking-rider-card{display:flex;align-items:center;gap:12px;padding:14px;margin-bottom:14px}.tracking-rider-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent-500),var(--neon-blue));color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.tracking-rider-info{flex:1}.tracking-rider-name{font-size:15px;font-weight:700;color:var(--text-primary)}.tracking-rider-vehicle{font-size:12px;color:var(--text-muted);margin-top:2px}.tracking-call-btn{width:40px;height:40px;border-radius:50%;background:#10b98126;border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;justify-content:center;font-size:18px;text-decoration:none}.tracking-otp-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface-1);border-radius:var(--radius-md);margin-bottom:14px}.tracking-otp-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.tracking-otp-btn{display:flex;gap:6px;background:none;border:none;cursor:pointer}.tracking-otp-digit{width:32px;height:36px;background:var(--surface-2);border-radius:6px;color:var(--accent-200);font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1px solid rgba(124,58,237,.3)}.tracking-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:8px 0 16px}.tracking-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.tracking-step__dot{width:12px;height:12px;border-radius:50%;background:var(--surface-2);border:2px solid var(--glass-border);z-index:1}.tracking-step--done .tracking-step__dot{background:var(--accent-400);border-color:var(--accent-300);box-shadow:0 0 8px #7c3aed80}.tracking-step__line{position:absolute;top:5px;left:50%;width:100%;height:2px;background:var(--surface-2)}.tracking-step--done .tracking-step__line{background:var(--accent-500)}.tracking-step__label{font-size:10px;color:var(--text-muted);text-align:center;margin-top:6px;white-space:nowrap}.tracking-completed{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0;text-align:center}.tracking-completed__icon{font-size:40px;animation:bounce 1s infinite}.tracking-completed__title{font-size:20px;font-weight:800;color:var(--text-primary)}.tracking-completed__fare{font-size:32px;font-weight:900;font-family:var(--font-display);background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tracking-cancelled{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0;font-size:14px;color:var(--text-muted);text-align:center}.profile-page{min-height:100dvh;background:var(--bg-900)}.profile-content{padding-top:calc(var(--header-height) + 16px);padding-bottom:calc(var(--bottom-nav-height) + 24px);padding-inline:16px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;padding:20px 0 8px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--accent-500),var(--neon-blue));color:#fff;font-size:32px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent);margin-bottom:12px}.profile-name{font-size:20px;font-weight:800;color:var(--text-primary)}.profile-email{font-size:13px;color:var(--text-muted);margin-top:3px}.profile-card{padding:16px}.profile-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-card__title{font-size:15px;font-weight:700}.profile-edit-btn{font-size:13px;color:var(--accent-300);font-weight:600;background:none;border:none;cursor:pointer}.profile-form{display:flex;flex-direction:column;gap:12px}.profile-info-rows{display:flex;flex-direction:column;gap:14px}.profile-info-row{display:flex;align-items:center;gap:12px}.profile-info-icon{font-size:20px;width:32px}.profile-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.profile-info-value{font-size:15px;font-weight:500;color:var(--text-primary);margin-top:1px}.profile-menu{overflow:hidden}.profile-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:none;border:none;cursor:pointer;transition:background var(--transition-fast)}.profile-menu-item:hover{background:var(--surface-1)}.profile-menu-icon{font-size:20px}.profile-menu-label{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);text-align:left}.profile-menu-arrow{font-size:20px;color:var(--text-muted)}.profile-menu-divider{height:1px;background:var(--glass-border);margin:0 16px}.rider-vehicle-select{display:flex;gap:8px}.rider-vehicle-btn{flex:1;padding:10px 8px;background:var(--surface-1);border:1.5px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.rider-vehicle-btn--active{background:#6d28d926;border-color:var(--accent-400);color:var(--accent-200)}.rider-insurance-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.rider-insurance-check input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent-400);margin-top:2px}.rider-insurance-text{font-size:13px;color:var(--text-secondary);line-height:1.5}.rider-dashboard{min-height:100dvh;background:var(--bg-900);background-image:var(--gradient-hero);background-attachment:fixed}.rider-dashboard-content{padding:16px 16px 32px;max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px;min-height:100dvh}.rider-toggle-card{padding:20px;display:flex;align-items:center;gap:16px}.rider-toggle-info{flex:1}.rider-toggle-title{font-size:18px;font-weight:800}.rider-toggle-sub{font-size:13px;color:var(--text-muted);margin-top:3px}.rider-toggle-switch{width:64px;height:34px;border-radius:var(--radius-full);background:var(--surface-2);border:var(--border-1);padding:3px;cursor:pointer;transition:background var(--transition-base);flex-shrink:0;position:relative}.rider-toggle-switch--on{background:linear-gradient(135deg,var(--neon-green),#059669);border-color:transparent}.rider-toggle-thumb{width:28px;height:28px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--transition-spring)}.rider-toggle-switch--on .rider-toggle-thumb{transform:translate(30px)}.rider-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.rider-stat-card{padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.rider-stat-icon{font-size:22px}.rider-stat-val{font-size:18px;font-weight:800;color:var(--text-primary);font-family:var(--font-display)}.rider-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.rider-pending-card{padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.rider-pending-icon{font-size:40px;animation:float 3s ease-in-out infinite}.rider-pending-title{font-size:18px;font-weight:800}.rider-pending-sub{font-size:14px;color:var(--text-muted);line-height:1.5}.rider-active-card{padding:16px}.rider-active-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.rider-active-map{border-radius:var(--radius-lg);overflow:hidden;margin-bottom:14px}.rider-active-route{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.rider-active-location{display:flex;align-items:flex-start;gap:10px}.rider-active-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.rider-active-dot--pickup{background:var(--accent-400)}.rider-active-dot--drop{background:var(--danger)}.rider-active-line{width:1px;height:12px;background:var(--glass-border);margin-left:4px}.rider-active-loc-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.rider-active-loc-addr{font-size:13px;color:var(--text-primary);line-height:1.4}.rider-active-actions{display:flex;gap:10px}.rider-active-actions>*{flex:1}.booking-req-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center}.booking-req-modal{width:100%;max-width:480px;background:var(--bg-800);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;border-top:var(--border-accent);padding:24px 20px 36px;display:flex;flex-direction:column;align-items:center;gap:16px}.booking-req-timer{position:relative;width:64px;height:64px}.booking-req-circle{width:64px;height:64px;transform:rotate(-90deg)}.booking-req-countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:var(--accent-300);font-family:var(--font-display)}.booking-req-vehicle{display:flex;align-items:center;gap:8px}.booking-req-vehicle-icon{font-size:28px}.booking-req-vehicle-label{font-size:16px;font-weight:700;color:var(--text-primary)}.booking-req-fare{font-size:36px;font-weight:900;font-family:var(--font-display);background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.booking-req-route{width:100%;background:var(--surface-1);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:8px}.booking-req-location{display:flex;align-items:flex-start;gap:10px}.booking-req-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:3px}.booking-req-dot--pickup{background:var(--accent-400)}.booking-req-dot--drop{background:var(--danger)}.booking-req-route-line{width:1px;height:12px;background:var(--glass-border);margin-left:4px}.booking-req-loc-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.booking-req-loc-addr{font-size:13px;color:var(--text-primary);margin-top:1px;line-height:1.4}.booking-req-meta{display:flex;gap:16px}.booking-req-meta-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);font-weight:500}.booking-req-actions{display:flex;gap:12px;width:100%}.booking-req-actions>*{flex:1}.admin-layout{display:flex;min-height:100dvh;background:var(--bg-950);max-width:1200px;margin:0 auto}.admin-sidebar{width:220px;background:var(--bg-900);border-right:var(--border-1);display:none;flex-direction:column;padding:24px 16px;flex-shrink:0;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-ui)}@media (min-width: 768px){.admin-sidebar{display:flex}.admin-main{margin-left:220px}.admin-bottom-nav{display:none}}.admin-sidebar__logo{font-family:var(--font-display);font-size:1.1rem;font-weight:800;margin-bottom:32px}.admin-nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);background:none;border:none;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-align:left}.admin-nav-item:hover{background:var(--surface-1);color:var(--text-primary)}.admin-nav-item--active{background:#6d28d926;color:var(--accent-200)}.admin-logout-btn{margin-top:auto;padding:10px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);color:var(--danger);font-size:13px;font-weight:600;cursor:pointer}.admin-main{flex:1;padding:20px 16px 100px;max-width:900px;width:100%}.admin-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:var(--border-1);display:flex;align-items:center;justify-content:space-around;z-index:var(--z-ui);padding-bottom:env(safe-area-inset-bottom)}.admin-bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:10px;font-weight:600;padding:6px 12px}.admin-bottom-nav-item span:first-child{font-size:20px}.admin-bottom-nav-item--active{color:var(--accent-300)}.admin-page-header{margin-bottom:20px}.admin-page-title{font-size:22px;font-weight:800}.admin-page-sub{font-size:13px;color:var(--text-muted);margin-top:2px}.admin-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}@media (min-width: 480px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat-card{background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:4px}.admin-stat-card--accent{background:#6d28d91a;border-color:#7c3aed4d}.admin-stat-icon{font-size:24px}.admin-stat-val{font-size:20px;font-weight:900;font-family:var(--font-display);color:var(--text-primary)}.admin-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em}.admin-section{margin-bottom:24px}.admin-section-title{font-size:15px;font-weight:700;margin-bottom:12px}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-lg);border:var(--border-1)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:var(--surface-1);padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);text-align:left;border-bottom:var(--border-1)}.admin-table td{padding:12px 14px;font-size:13px;color:var(--text-primary);border-bottom:var(--border-1)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--surface-1)}.admin-table-id{font-family:monospace;font-size:12px;color:var(--text-muted)}.admin-loading{text-align:center;padding:40px;color:var(--text-muted)}.admin-form{display:flex;flex-direction:column;gap:14px}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-card{background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-lg);padding:16px;margin-bottom:12px}.admin-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.admin-card__name{font-size:15px;font-weight:700}.admin-card__actions{display:flex;gap:8px}.admin-action-btn{padding:6px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;cursor:pointer;border:none}.admin-action-btn--approve{background:#10b98126;color:var(--success);border:1px solid rgba(16,185,129,.3)}.admin-action-btn--reject{background:#ef444426;color:var(--danger);border:1px solid rgba(239,68,68,.3)}.admin-action-btn--edit{background:#3b82f626;color:var(--info);border:1px solid rgba(59,130,246,.3)}.admin-action-btn--delete{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}:root{--bg-950: #ffffff;--bg-900: #fbfcff;--bg-800: #ffffff;--bg-700: #f1f5f9;--bg-600: #e2e8f0;--bg-500: #cbd5e1;--accent-600: #4f46e5;--accent-500: #6366f1;--accent-400: #818cf8;--accent-300: #a5b4fc;--accent-200: #c7d2fe;--accent-100: #e0e7ff;--neon-purple: #8b5cf6;--neon-blue: #3b82f6;--neon-green: #10b981;--neon-orange: #f97316;--neon-pink: #ec4899;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--text-primary: #000000;--text-secondary: #333333;--text-muted: #666666;--text-inverse: #ffffff;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--glass: rgba(255, 255, 255, .7);--glass-border: rgba(0, 0, 0, .03);--gradient-accent: linear-gradient(135deg, #6366f1, #3b82f6);--gradient-card: linear-gradient(145deg, rgba(255,255,255,1), rgba(248,250,252,.8));--gradient-hero: radial-gradient(ellipse at 50% -20%, rgba(99, 102, 241, .15), transparent 70%);--shadow-sm: 0 4px 12px rgba(15, 23, 42, .04);--shadow-md: 0 12px 32px rgba(15, 23, 42, .06);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .08);--shadow-accent: 0 8px 24px rgba(99, 102, 241, .25);--shadow-neon: 0 0 20px rgba(59, 130, 246, .15);--border-1: 1px solid rgba(15, 23, 42, .05);--border-2: 1px solid rgba(15, 23, 42, .08);--border-accent: 1px solid rgba(99, 102, 241, .4);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", "Inter", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--z-map: 0;--z-ui: 10;--z-overlay: 20;--z-modal: 30;--z-toast: 40;--z-top: 50;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--bottom-nav-height: 72px;--header-height: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--bg-900);color:var(--text-primary);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-800)}::-webkit-scrollbar-thumb{background:var(--accent-500);border-radius:var(--radius-full)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(1.8rem,6vw,3rem);font-weight:800}h2{font-size:clamp(1.4rem,4vw,2rem);font-weight:700}h3{font-size:clamp(1.1rem,3vw,1.4rem);font-weight:600}h4{font-size:1rem;font-weight:600}p{line-height:1.6}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-1)}.container{width:100%;max-width:480px;margin:0 auto;padding:0 var(--space-4)}.page{min-height:100dvh;background:var(--bg-900);padding-top:var(--header-height);padding-bottom:calc(var(--bottom-nav-height) + var(--space-4))}.page--no-nav{padding-bottom:var(--space-6)}.glass-card{background:var(--gradient-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--border-1);border-radius:var(--radius-lg)}.glass-card--hover{transition:transform var(--transition-base),box-shadow var(--transition-base)}.glass-card--hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-accent)}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.badge--success{background:#10b98126;color:var(--success)}.badge--warning{background:#f59e0b26;color:var(--warning)}.badge--danger{background:#ef444426;color:var(--danger)}.badge--info{background:#3b82f626;color:var(--info)}.badge--accent{background:#6d28d933;color:var(--accent-200)}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.input-field{width:100%;padding:14px 16px;background:var(--surface-1);border:var(--border-1);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.input-field:focus{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed1f}.input-field::placeholder{color:var(--text-muted)}.input-with-icon{position:relative}.input-with-icon .input-field{padding-left:44px}.input-with-icon .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:18px;pointer-events:none}.divider{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--glass-border)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section-title{font-size:16px;font-weight:700;color:var(--text-primary)}.section-link{font-size:13px;color:var(--accent-300);font-weight:500}.map-container{width:100%;border-radius:var(--radius-lg);overflow:hidden;position:relative}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-900);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);z-index:var(--z-top)}@supports (padding-top: env(safe-area-inset-top)){.page{padding-top:calc(var(--header-height) + env(safe-area-inset-top))}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes neonGlow{0%,to{box-shadow:0 0 12px #6d28d966,0 0 40px #6d28d91a}50%{box-shadow:0 0 24px #6d28d9b3,0 0 60px #6d28d933}}@keyframes sheetSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}50%{transform:translateY(-12px);animation-timing-function:cubic-bezier(.8,0,1,1)}}@keyframes carDrive{0%{transform:translate(-100%)}to{transform:translate(100vw)}}.anim-fade-in{animation:fadeIn .4s var(--transition-base) both}.anim-slide-up{animation:slideUp .5s cubic-bezier(.34,1.1,.64,1) both}.anim-slide-down{animation:slideDown .4s var(--transition-base) both}.anim-scale-in{animation:scaleIn .35s cubic-bezier(.34,1.56,.64,1) both}.anim-pulse{animation:pulse 2s infinite}.anim-spin{animation:spin 1s linear infinite}.anim-float{animation:float 3s ease-in-out infinite}.anim-neon{animation:neonGlow 2s ease-in-out infinite}.anim-sheet{animation:sheetSlideUp .45s cubic-bezier(.32,.72,0,1) both}.anim-bounce{animation:bounce 1s infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.skeleton{background:linear-gradient(90deg,var(--surface-1) 25%,var(--surface-2) 50%,var(--surface-1) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:#ffffff26;transform:scale(0);animation:rippleEffect .6s linear;pointer-events:none}@keyframes rippleEffect{to{transform:scale(4);opacity:0}}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--neon-green);position:relative}.live-dot:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:var(--neon-green);animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite;opacity:.6}
