*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--gold: #D4AF37;--gold-light: #F0C040;--gold-dark: #8B6914;--gold-muted: rgba(212, 175, 55, .5);--black: #080808;--surface: #0F0F0F;--surface-2: #141414;--surface-3: #1a1a1a;--text: #FFFFFF;--text-muted: rgba(255, 255, 255, .5);--text-dim: rgba(255, 255, 255, .25);--border: rgba(255, 255, 255, .08);--border-gold: rgba(212, 175, 55, .3);--gold-bg: rgba(212, 175, 55, .08);--gold-bg-hover: rgba(212, 175, 55, .05);--error: #e05555;--error-bg: rgba(224, 85, 85, .08);--error-border: rgba(224, 85, 85, .25);--success: #4CAF50;--success-bg: rgba(76, 175, 80, .08);--warning: #FF9800;--info: #2196F3;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6);--header-height: 64px;--bottom-nav-height: 72px;--max-width: 1200px;font-family:Inter,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}[data-theme=light]{--gold: #8C6D15;--gold-light: #B08A20;--gold-dark: #6B5210;--gold-muted: rgba(140, 109, 21, .4);--black: #E8E5DF;--surface: #DEDBD5;--surface-2: #D4D1CB;--surface-3: #C9C6C0;--text: #1C1B18;--text-muted: rgba(28, 27, 24, .6);--text-dim: rgba(28, 27, 24, .3);--border: rgba(28, 27, 24, .15);--border-gold: rgba(140, 109, 21, .35);--gold-bg: rgba(140, 109, 21, .1);--gold-bg-hover: rgba(140, 109, 21, .06);--error: #A32E2E;--error-bg: rgba(163, 46, 46, .08);--error-border: rgba(163, 46, 46, .22);--success: #256B29;--success-bg: rgba(37, 107, 41, .08);--warning: #A84300;--info: #0D4F9E;--shadow: 0 4px 24px rgba(28, 27, 24, .1);--shadow-lg: 0 8px 40px rgba(28, 27, 24, .15);color-scheme:light}html,body,#root{height:100%;width:100%}body{background:var(--black);color:var(--text);overflow-x:hidden}:root:not([data-theme=light]) body{background:linear-gradient(27deg,#0e0e0e 5px,transparent 5px) 0 5px,linear-gradient(207deg,#0e0e0e 5px,transparent 5px) 10px 0px,linear-gradient(27deg,#171717 5px,transparent 5px) 0px 10px,linear-gradient(207deg,#171717 5px,transparent 5px) 10px 5px,linear-gradient(90deg,#121212 10px,transparent 10px),linear-gradient(#141414 25%,#111111 25%,#111111 50%,transparent 50%,transparent 75%,#191919 75%,#191919);background-color:#0c0c0c;background-size:20px 20px}a{text-decoration:none;color:var(--gold)}input,textarea,select,button{font-family:inherit;font-size:inherit}h1,h2,h3{font-family:Playfair Display,serif;font-weight:700}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}.app-content{min-height:100%}@media(max-width:768px){.app-content{padding-bottom:var(--bottom-nav-height)}}@media(min-width:769px){.app-content{padding-top:var(--header-height)}}.loading-container{display:flex;align-items:center;justify-content:center;padding:40px}.loading-spinner{border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:16px}.empty-title{font-size:1.1rem;color:var(--text);margin-bottom:8px}.empty-desc{color:var(--text-muted);font-size:.9rem;max-width:300px}.empty-action{margin-top:20px;padding:10px 24px;background:var(--gold);color:var(--black);border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.3px}.badge-gold{background:var(--gold-bg);color:var(--gold)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-warning{background:#ff98001a;color:var(--warning)}.badge-info{background:#2196f31a;color:var(--info)}.badge-muted{background:var(--surface-2);color:var(--text-muted)}.tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:4px;margin-bottom:20px;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{padding:8px 16px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s;display:flex;align-items:center;gap:6px}.tab:hover{color:var(--text);border-color:var(--text-dim)}.tab-active{color:var(--gold);border-color:var(--gold);background:var(--gold-bg)}.tab-count{background:var(--surface-2);padding:1px 6px;border-radius:var(--radius-full);font-size:.75rem}.tab-active .tab-count{background:var(--gold-bg)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:200;animation:fadeIn .2s ease}@media(min-width:769px){.modal-overlay{align-items:center}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border);width:100%;max-height:90vh;overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:slideUp .3s ease}@media(min-width:769px){.modal-content{max-width:500px;border-radius:var(--radius-lg);animation:scaleIn .2s ease}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title{font-size:1.1rem}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.modal-close:hover{color:var(--text);background:var(--surface-2)}.modal-body{padding:20px 24px 24px}.toast-container{position:fixed;top:16px;right:16px;z-index:300;display:flex;flex-direction:column;gap:8px}@media(max-width:768px){.toast-container{top:auto;bottom:calc(var(--bottom-nav-height) + 20px);left:16px;right:16px}}.toast{padding:12px 20px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;animation:slideIn .3s ease;box-shadow:var(--shadow)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}}.toast-success{background:var(--success-bg);color:var(--success);border:1px solid rgba(76,175,80,.3)}.toast-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.toast-info{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.star-rating{display:inline-flex;gap:2px}.star{background:none;border:none;color:var(--text-dim);padding:2px;cursor:default;display:flex}.star-filled{color:var(--gold)}.star-interactive .star{cursor:pointer;transition:transform .15s}.star-interactive .star:hover{transform:scale(1.2)}.theme-toggle{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;flex-shrink:0}.theme-toggle-track{display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:background .3s}.theme-toggle-thumb{display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gold);color:var(--black);transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:0;margin-top:-1px;transform-origin:center}.theme-toggle-thumb{top:2px;margin-top:0}.desktop-header{display:none;position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:100}@media(min-width:769px){.desktop-header{display:block}}.header-inner{max-width:var(--max-width);margin:0 auto;height:100%;display:flex;align-items:center;padding:0 24px;gap:32px}.header-logo{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700;color:var(--gold);letter-spacing:3px;text-decoration:none}.header-nav{display:flex;gap:4px;flex:1}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 16px;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:color .2s,background .2s}.nav-link:hover{color:var(--text);background:var(--surface-2)}.nav-link.active{color:var(--gold);background:var(--gold-bg)}.header-actions{display:flex;align-items:center;gap:12px}.header-create-btn{padding:8px 20px;background:var(--gold);color:var(--black);border:none;border-radius:var(--radius-full);font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:none;transition:background .2s}.header-create-btn:hover{background:var(--gold-light);color:var(--black)}.header-logout-btn{padding:8px 16px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:color .2s,border-color .2s}.header-logout-btn:hover{color:var(--error);border-color:var(--error-border)}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--surface);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:769px){.bottom-nav{display:none}}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);text-decoration:none;font-size:.7rem;font-weight:500;transition:color .2s}.bottom-nav-item.active{color:var(--gold)}.fab{position:fixed;bottom:calc(var(--bottom-nav-height) + 16px);right:16px;width:56px;height:56px;background:var(--gold);color:var(--black);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);z-index:99;transition:transform .2s,background .2s}.fab:hover{transform:scale(1.1);background:var(--gold-light)}.fab:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(min-width:769px){.fab{display:none}}.icon-action-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color .2s,background .2s}.icon-action-btn:hover{color:var(--text);background:var(--surface-2)}.icon-action-btn.active{color:var(--gold)}.icon-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;background:var(--gold);color:var(--black);border-radius:8px;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none}.bottom-nav-item{position:relative}.bottom-nav-badge{position:absolute;top:4px;right:calc(50% - 18px);min-width:14px;height:14px;background:var(--gold);color:var(--black);border-radius:7px;font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none}.notif-panel-anchor{position:relative}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){.notif-panel{position:fixed;bottom:var(--bottom-nav-height);left:0;right:0;width:100%;top:auto;max-height:60vh;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.notif-panel-title{font-weight:600;font-size:.95rem;color:var(--text)}.notif-mark-all{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--gold);font-size:.78rem;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm);transition:background .15s}.notif-mark-all:hover{background:var(--gold-bg)}.notif-panel-list{overflow-y:auto;flex:1}.notif-empty{padding:32px 16px;text-align:center;color:var(--text-dim);font-size:.85rem}.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-2)}.notif-item-unread{background:#d4af370a}.notif-item-icon{width:32px;height:32px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;margin-top:2px}.notif-item-body{flex:1;min-width:0}.notif-item-title{font-size:.85rem;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-sub{font-size:.78rem;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-item-time{font-size:.72rem;color:var(--text-dim);margin-top:3px}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:6px}.mobile-quick-actions{display:flex;position:fixed;top:16px;right:16px;gap:8px;z-index:101}@media(min-width:769px){.mobile-quick-actions{display:none}}.mobile-quick-btn{position:relative;width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-md);transition:color .2s,background .2s,border-color .2s}.mobile-quick-btn:hover{color:var(--text);background:var(--surface-2)}.mobile-quick-btn.active{color:var(--gold);border-color:var(--gold);background:var(--gold-bg)}.mobile-quick-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#e53e3e;border:2px solid var(--surface);pointer-events:none}.app-shell{min-height:100vh}.page{max-width:var(--max-width);margin:0 auto;padding:20px 16px}@media(min-width:769px){.page{padding:32px 24px}}.page-title{font-size:1.5rem;margin-bottom:24px;color:var(--text)}@media(max-width:768px){.page-title{font-size:1.25rem;margin-bottom:16px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--black)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-family:Playfair Display,serif;font-size:2rem;color:var(--gold);letter-spacing:4px;margin-bottom:4px}.auth-subtitle{color:var(--text-muted);font-size:.9rem}.auth-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error);padding:12px 16px;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:20px}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;color:var(--text-muted);font-weight:500}.form-group input,.form-group textarea,.form-group select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:12px 16px;border-radius:var(--radius-sm);font-size:.95rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--gold-muted)}.form-group input::placeholder{color:var(--text-dim)}.password-wrapper{position:relative}.password-wrapper input{width:100%;padding-right:60px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gold);cursor:pointer;font-size:.8rem;font-weight:600;padding:4px}.btn-primary{width:100%;padding:14px;background:var(--gold);color:var(--black);border:none;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--gold-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{width:100%;padding:14px;background:transparent;color:var(--gold);border:1px solid var(--border-gold);border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;text-decoration:none}.btn-secondary:hover{background:var(--gold-bg-hover)}.btn-text{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:8px;text-align:center}.btn-text:hover{color:var(--gold)}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider span{color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:1px}.auth-footer{text-align:center;margin-top:24px;color:var(--text-muted);font-size:.85rem}.auth-footer a{color:var(--gold);font-weight:600}.otp-info{color:var(--text-muted);font-size:.85rem;text-align:center}.otp-info strong{color:var(--text)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@media(max-width:768px){.auth-card{padding:32px 24px;border:none;background:var(--black)}}.map-wrapper{position:relative;width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin-bottom:16px}.ride-search-map{width:100%;height:260px;display:block}.map-hint{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#000000a6;color:var(--text-muted);font-size:.75rem;padding:4px 12px;border-radius:var(--radius-full);pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--border)}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000080;list-style:none;margin:0;padding:4px 0;z-index:1000;max-height:240px;overflow-y:auto}.autocomplete-item{padding:10px 14px 10px 44px;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:background .1s;line-height:1.4}.autocomplete-item:hover{background:var(--surface-elevated, #1e1e1e);color:var(--text)}.map-loading{width:100%;height:260px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.875rem;margin-bottom:16px}.ride-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:border-color .2s}.ride-card:hover{border-color:var(--border-gold)}.ride-card-route{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ride-route-cities{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ride-city{display:flex;align-items:center;gap:4px;font-weight:600;font-size:.95rem}.ride-route-arrow{color:var(--text-dim);font-size:1.1rem}.icon-gold{color:var(--gold)}.icon-muted{color:var(--text-muted)}.ride-card-details{display:flex;gap:16px;margin-bottom:12px}.ride-detail{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:.85rem}.ride-card-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ride-driver-info{display:flex;align-items:center;gap:10px}.ride-driver-avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--gold);border:1px solid var(--border);overflow:hidden;flex-shrink:0}.ride-driver-avatar img{width:100%;height:100%;object-fit:cover}.ride-driver-name{font-size:.85rem;font-weight:500;display:block}.ride-driver-rating{display:flex;align-items:center;gap:3px;font-size:.75rem;color:var(--text-muted)}.ride-price{font-size:1.1rem;font-weight:700;color:var(--gold)}.seat-row{display:flex;align-items:center;gap:5px;margin-bottom:12px;flex-wrap:wrap}.seat-row-label{font-size:.75rem;color:var(--text-muted);margin-left:4px}.seat-icon{display:block;flex-shrink:0;transition:transform .1s}.seat-icon:hover{transform:scale(1.15)}.seat-available{fill:#4caf50;filter:drop-shadow(0 1px 2px rgba(76,175,80,.35))}.seat-booked{fill:#e53935;filter:drop-shadow(0 1px 2px rgba(229,57,53,.35));opacity:.85}.route-type-pill{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:var(--radius-full);letter-spacing:.3px;white-space:nowrap}.route-type-land{background:#64a0f01f;color:#6aa0e8;border:1px solid rgba(100,160,240,.3)}.route-type-ferry{background:#40c4ff1f;color:#29b6f6;border:1px solid rgba(64,196,255,.3)}.ride-rules{display:flex;gap:8px;flex-wrap:wrap}.rule{display:flex;align-items:center;gap:3px;font-size:.75rem;padding:3px 8px;border-radius:var(--radius-full);border:1px solid var(--border)}.rule-on{color:var(--text-muted)}.rule-off{color:var(--text-dim);opacity:.5;text-decoration:line-through}.rule-label{text-transform:lowercase}.stop-timeline{display:flex;flex-direction:column}.timeline-stop{display:flex;gap:12px;padding:4px 0}.timeline-dot-container{display:flex;flex-direction:column;align-items:center;width:16px;flex-shrink:0}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.timeline-dot-large{width:12px;height:12px;background:var(--gold)}.timeline-dot-highlight{background:var(--gold);box-shadow:0 0 6px var(--gold-muted)}.timeline-line{width:2px;flex:1;min-height:20px;background:var(--border)}.timeline-info{display:flex;flex-direction:column;gap:2px;padding-bottom:12px}.timeline-city{font-weight:600;font-size:.9rem}.timeline-address{color:var(--text-muted);font-size:.8rem}.timeline-label{font-size:.75rem;font-weight:600}.pickup-label{color:var(--success)}.dropoff-label{color:var(--info)}.timeline-pickup .timeline-city,.timeline-dropoff .timeline-city{color:var(--gold)}.driver-info-card{display:flex;gap:16px;padding:16px;background:var(--surface-2);border-radius:var(--radius-md)}.driver-avatar-lg{width:48px;height:48px;border-radius:50%;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:var(--gold);border:2px solid var(--border-gold);flex-shrink:0}.driver-details{flex:1;min-width:0}.driver-name-row{display:flex;align-items:center;gap:6px;margin-bottom:2px}.driver-name{font-weight:600;font-size:.95rem}.driver-verified{color:var(--success);display:flex}.driver-vehicle{color:var(--text-muted);font-size:.85rem;margin-bottom:4px}.driver-stats{display:flex;gap:12px}.driver-stat{display:flex;align-items:center;gap:3px;color:var(--text-muted);font-size:.8rem}.driver-bio{color:var(--text-muted);font-size:.85rem;margin-top:8px;line-height:1.4}.home-page{display:flex;flex-direction:column;align-items:center}.home-hero{text-align:center;padding:40px 0 32px}.home-title{font-size:2rem;color:var(--gold);margin-bottom:8px}.home-subtitle{color:var(--text-muted);font-size:1rem}@media(max-width:768px){.home-hero{padding:24px 0 20px}.home-title{font-size:1.5rem}}.search-container{width:100%;max-width:500px}.search-form{width:100%;display:flex;flex-direction:column;gap:12px}.map-placeholder{width:100%;height:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.85rem;margin-bottom:16px}.search-field-skeleton{height:48px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.search-field{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:14px;color:var(--text-muted);z-index:1;pointer-events:none}.search-field input,.search-field select{width:100%;padding:14px 14px 14px 44px;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:.95rem;outline:none;transition:border-color .2s}.search-field input:focus,.search-field select:focus{border-color:var(--gold-muted)}.search-field input::placeholder{color:var(--text-dim)}.search-field select{appearance:none;cursor:pointer}.search-field-clear{position:absolute;right:12px;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:50%;transition:color .15s}.search-field-clear:hover{color:var(--text-muted)}.search-button:disabled{opacity:.5;cursor:not-allowed}.search-button:disabled:hover{background:var(--gold)}.search-row{display:flex;gap:12px}.search-field-half{flex:1}.search-field-quarter{flex:0 0 130px}@media(max-width:768px){.search-field-quarter{flex:0 0 110px}}.search-button{width:100%;padding:14px;background:var(--gold);color:var(--black);border:none;border-radius:var(--radius-sm);font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s;margin-top:4px}.search-button:hover{background:var(--gold-light)}.map-edit-controls{display:flex;gap:8px}.map-edit-btn{flex:1;padding:8px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}.map-edit-btn:hover{border-color:var(--border-gold, var(--gold-muted));color:var(--text)}.map-edit-btn.active{border-color:var(--gold);color:var(--gold);background:#d4af3714}.search-results-header{margin-bottom:20px}.search-results-route{font-size:1.1rem;font-weight:600;margin-bottom:4px}.search-results-meta{color:var(--text-muted);font-size:.85rem}.search-filters{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px}.search-filters::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;white-space:nowrap;transition:all .2s}.filter-chip:hover{border-color:var(--text-dim)}.filter-chip.active{border-color:var(--gold);color:var(--gold);background:var(--gold-bg)}.filter-price-field{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:0 14px;height:33px;white-space:nowrap;transition:border-color .2s}.filter-price-field:focus-within{border-color:var(--gold-muted)}.filter-price-field .filter-price-label{font-size:.8rem;color:var(--text-muted)}.filter-price-field input{width:70px;background:none;border:none;color:var(--text);font-size:.8rem;outline:none}.filter-price-field input::placeholder{color:var(--text-dim)}.filter-divider{width:1px;height:20px;background:var(--border);flex-shrink:0;align-self:center}.filter-chip-clear{color:var(--text-dim);border-style:dashed}.filter-chip-clear:hover{color:var(--text);border-color:var(--text-dim)}.search-filters-extra{margin-top:-8px;flex-wrap:wrap}.ride-list{display:flex;flex-direction:column;gap:12px}.upcoming-banner{width:100%;max-width:500px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#d4af3714;border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-sm);padding:14px 16px;cursor:pointer;transition:background .2s;margin-bottom:4px}.upcoming-banner:hover{background:#d4af3724}.upcoming-banner-left{display:flex;align-items:center;gap:10px}.upcoming-banner-label{font-size:.75rem;color:var(--text-muted);margin-bottom:2px}.upcoming-banner-route{font-size:.9rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.upcoming-banner-date{font-size:.8rem;color:var(--gold);white-space:nowrap}.popular-routes{width:100%;max-width:500px;margin-bottom:8px}.popular-routes-label{font-size:.75rem;color:var(--text-muted);margin-bottom:8px}.popular-routes-chips{display:flex;gap:8px;flex-wrap:wrap}.popular-route-chip{display:flex;align-items:center;gap:5px;padding:6px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s;white-space:nowrap}.popular-route-chip:hover{border-color:var(--gold);color:var(--text)}.recent-searches{width:100%;max-width:500px;margin-bottom:12px}.recent-searches-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.recent-searches-label{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--text-muted)}.recent-searches-clear{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-dim);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);transition:color .15s}.recent-searches-clear:hover{color:var(--error, #e53935)}.recent-searches-list{display:flex;flex-direction:column;gap:6px}.recent-search-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.recent-search-item:hover{border-color:var(--gold-muted);background:#d4af370a}.recent-search-route{display:flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--text)}.recent-search-meta{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.prefs-toggle{width:100%;display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s}.prefs-toggle:hover{border-color:var(--gold-muted);color:var(--text)}.prefs-toggle.active{border-color:var(--gold);color:var(--gold)}.prefs-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.pref-chip{display:flex;align-items:center;gap:5px;padding:7px 13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.pref-chip:hover{border-color:var(--gold-muted);color:var(--text)}.pref-chip.active{border-color:var(--gold);color:var(--gold);background:#d4af3714}.driver-cta{width:100%;max-width:500px;display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;cursor:pointer;transition:border-color .2s;margin-top:16px}.driver-cta:hover{border-color:var(--gold)}.driver-cta-icon{width:40px;height:40px;border-radius:50%;background:#d4af371a;display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0}.driver-cta-text{flex:1;display:flex;flex-direction:column;gap:2px}.driver-cta-text strong{font-size:.9rem;color:var(--text)}.driver-cta-text span{font-size:.78rem;color:var(--text-muted)}.driver-cta-arrow{color:var(--text-dim);flex-shrink:0}.nearby-section{width:100%;max-width:500px;margin-top:32px}.nearby-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.nearby-title{font-size:1rem;font-weight:600;color:var(--text)}.ride-details-page{max-width:900px}.ride-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.ride-details-route{font-size:1.3rem;margin-bottom:6px}.ride-details-time{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.9rem}.flex-badge{color:var(--gold);font-size:.8rem}.ride-details-grid{display:flex;gap:24px}.ride-details-main{flex:1;min-width:0}.ride-details-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:12px}@media(max-width:768px){.ride-details-grid{flex-direction:column}.ride-details-sidebar{width:100%}.ride-details-route{font-size:1.1rem}}.detail-section{margin-bottom:24px}.detail-section h3{font-size:.9rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;font-family:Inter,sans-serif;font-weight:600}.info-grid{display:flex;flex-direction:column;gap:10px}.info-item{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.9rem}.price-card{background:var(--surface);border:1px solid var(--border-gold);border-radius:var(--radius-md);padding:20px;text-align:center}.price-amount{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:var(--gold)}.price-label{color:var(--text-muted);font-size:.85rem}.action-btn{width:100%;padding:12px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;text-decoration:none}.action-primary{background:var(--gold);color:var(--black);border:none}.action-primary:hover{background:var(--gold-light)}.action-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.action-secondary:hover{border-color:var(--text-dim)}.action-outline{background:transparent;color:var(--gold);border:1px solid var(--border-gold)}.action-outline:hover{background:var(--gold-bg-hover)}.safety-actions{display:flex;gap:8px}.action-share{flex:1;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.action-sos{flex:0 0 auto;background:var(--error-bg);color:var(--error);border:1px solid var(--error-border);padding:12px 16px}.action-sos:hover{background:#e0555526}.booking-page{max-width:900px}.booking-grid{display:flex;gap:24px}.booking-form-section{flex:1;min-width:0}.booking-summary{width:320px;flex-shrink:0}@media(max-width:768px){.booking-grid{flex-direction:column}.booking-summary{width:100%}}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;position:sticky;top:calc(var(--header-height) + 20px)}.summary-card h3{font-size:1rem;margin-bottom:16px}.summary-line{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem;color:var(--text-muted)}.summary-total{display:flex;justify-content:space-between;padding:12px 0;font-size:1.1rem;font-weight:700;color:var(--gold);border-top:1px solid var(--border);margin:8px 0 16px}.approval-hint{text-align:center;color:var(--text-dim);font-size:.8rem;margin-top:8px}.stop-select-list{display:flex;flex-direction:column;gap:6px}.stop-option{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s}.stop-option:hover{border-color:var(--text-dim)}.stop-option.selected{border-color:var(--gold);background:var(--gold-bg-hover)}.stop-option input[type=radio]{accent-color:var(--gold)}.stop-option-city{font-weight:500;font-size:.9rem}.stop-option-address{color:var(--text-muted);font-size:.8rem}.seat-picker{display:flex;align-items:center;gap:16px}.seat-picker button{width:40px;height:40px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.seat-picker button:disabled{opacity:.3;cursor:not-allowed}.seat-count{font-size:1.5rem;font-weight:700;color:var(--gold);min-width:30px;text-align:center}.seat-hint{color:var(--text-dim);font-size:.8rem;margin-top:6px}.booking-note{width:100%;padding:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);resize:vertical;outline:none;font-size:.9rem}.booking-note:focus{border-color:var(--gold-muted)}.booking-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:border-color .2s}.booking-card:hover{border-color:var(--border-gold)}.booking-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.booking-card-meta{display:flex;gap:16px;font-size:.85rem;color:var(--text-muted);align-items:center}.booking-card-meta span{display:flex;align-items:center;gap:4px}.booking-price{color:var(--gold)!important;font-weight:600}.booking-details-page{max-width:900px}.payment-status-row{display:flex;align-items:center;gap:8px;margin-top:10px;justify-content:center}.voucher-toggle{display:flex;align-items:center;gap:10px;padding:12px 0;cursor:pointer;border-top:1px solid var(--border-color, rgba(255,255,255,.08));margin-top:4px}.voucher-toggle input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px}.voucher-toggle-text{font-size:.9rem;color:var(--text-primary)}.voucher-toggle-balance{display:block;font-size:.78rem;color:var(--gold);margin-top:2px}.voucher-line{color:var(--gold)}.voucher-amount{color:var(--gold);font-weight:600}.driver-setup-page{max-width:600px}.driver-setup-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:.9rem}.driver-form{display:flex;flex-direction:column;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:768px){.form-grid{grid-template-columns:1fr}}.toggle-group{display:flex;flex-direction:column;gap:10px}.toggle-item{display:flex;align-items:center;gap:10px;font-size:.9rem;cursor:pointer}.toggle-item input[type=checkbox]{accent-color:var(--gold);width:18px;height:18px}.route-type-selector{display:flex;gap:10px}.route-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.route-type-btn svg{opacity:.6;transition:opacity .15s}.route-type-btn:hover{border-color:var(--gold-muted);color:var(--text)}.route-type-btn:hover svg{opacity:.9}.route-type-btn.active{border-color:var(--gold);color:var(--gold);background:#d4af3714}.route-type-btn.active svg{opacity:1}.conversation-selector{display:flex;gap:8px}.conv-btn{flex:1;padding:9px 12px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.conv-btn:hover{border-color:var(--gold-muted);color:var(--text)}.conv-btn.active{border-color:var(--gold);color:var(--gold);background:#d4af3714}.fee-preview{padding:10px 14px;background:#d4af370f;border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-muted);line-height:1.5}.fee-preview strong{color:var(--gold);font-size:.95rem}.intermediate-stop{display:flex;gap:12px;align-items:flex-end;margin-top:8px}.remove-stop-btn{padding:10px 14px;background:var(--error-bg);color:var(--error);border:1px solid var(--error-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem;white-space:nowrap}.add-stop-btn{padding:10px;background:transparent;color:var(--gold);border:1px dashed var(--border-gold);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;margin-top:8px}.add-stop-btn:hover{background:var(--gold-bg-hover)}.status-banner{padding:12px 16px;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.5;margin-bottom:20px}.status-pending{background:#ff980014;border:1px solid rgba(255,152,0,.3);color:var(--warning)}.status-accepted{background:var(--success-bg);border:1px solid rgba(76,175,80,.3);color:var(--success)}.status-rejected{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.photo-preview{width:100%;max-width:200px;height:120px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);display:block;margin-bottom:4px}.photo-pending-banner{margin-top:8px;padding:10px;background:#d4af3714;border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;gap:6px}.photo-preview-pending{width:100%;max-width:180px;height:100px;object-fit:cover;border-radius:var(--radius-sm);border:1px dashed var(--gold-muted, rgba(212, 175, 55, .4));opacity:.75}.pending-label{font-size:.75rem;font-weight:600;color:var(--gold, #D4AF37);text-transform:uppercase;letter-spacing:.04em}.my-rides-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.my-rides-header .page-title{margin-bottom:0}.manage-page{max-width:800px}.manage-actions{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.manage-actions .action-btn{width:auto;flex:1;min-width:150px}.bookings-list{display:flex;flex-direction:column;gap:8px}.manage-booking-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.manage-booking-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.manage-passenger{font-weight:600;font-size:.9rem}.manage-meta{color:var(--text-muted);font-size:.8rem}.manage-note{color:var(--text-dim);font-size:.8rem;font-style:italic}.manage-booking-actions{display:flex;gap:8px}.manage-accept,.manage-reject,.manage-noshow{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}.manage-accept:hover,.manage-reject:hover,.manage-noshow:hover{transform:scale(1.1)}.manage-accept{background:var(--success-bg);color:var(--success);border:1px solid rgba(76,175,80,.3)}.manage-reject{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.manage-noshow{background:#ff98001a;color:var(--warning);border:1px solid rgba(255,152,0,.3)}.wallet-page{max-width:700px}.wallet-balance-card{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--border-gold);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}.wallet-balance-icon{color:var(--gold)}.wallet-balance-main{flex:1;display:flex;flex-direction:column;gap:4px}.wallet-balance-label{font-size:.85rem;color:var(--text-muted)}.wallet-balance-amount{font-size:1.8rem;font-weight:700;color:var(--gold)}.wallet-payout-btn{white-space:nowrap}.wallet-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.wallet-stat-card{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;color:var(--text-muted)}.wallet-stat-card div{display:flex;flex-direction:column;gap:2px}.wallet-stat-label{font-size:.75rem;color:var(--text-dim)}.wallet-stat-value{font-size:.9rem;font-weight:600;color:var(--text)}@media(max-width:600px){.wallet-stats{grid-template-columns:1fr}.wallet-balance-card{flex-wrap:wrap}.wallet-payout-btn{width:100%}}.wallet-actions{display:flex;gap:12px;margin-bottom:20px}.wallet-actions .action-btn{flex:1}.wallet-warning{display:flex;align-items:center;gap:10px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:var(--radius-sm);padding:12px 16px;color:#ffc107;font-size:.9rem;margin-bottom:20px}.wallet-section h3{font-size:1rem;margin-bottom:12px}.wallet-ledger{display:flex;flex-direction:column;gap:2px}.ledger-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.ledger-icon-wrap{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);flex-shrink:0}.ledger-icon.earning{color:#4caf50}.ledger-icon.payout{color:var(--gold)}.ledger-icon.refund{color:#f44336}.ledger-details{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ledger-desc{font-size:.88rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-date{font-size:.78rem;color:var(--text-dim)}.ledger-amount{font-weight:600;font-size:.9rem;white-space:nowrap}.ledger-amount.positive{color:#4caf50}.ledger-amount.negative{color:var(--text-muted)}.payout-modal-balance{color:var(--text-muted);font-size:.9rem;margin-bottom:16px}.payout-modal-balance strong{color:var(--gold)}.payout-modal-hint{color:var(--text-dim);font-size:.8rem;margin-top:8px}.form-input{width:100%;padding:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font-size:1rem;outline:none}.form-input:focus{border-color:var(--gold-muted)}.payout-list{display:flex;flex-direction:column;gap:10px}.payout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.payout-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.payout-card-amount{font-size:1.1rem;font-weight:700;color:var(--gold)}.payout-card-meta{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--text-muted)}.payout-fail-reason{color:#f44336}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}.pagination-info{font-size:.85rem;color:var(--text-muted)}.bank-form{max-width:480px}.bank-form .form-group{margin-bottom:16px}.bank-form label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:6px}.bank-current{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border-gold);border-radius:var(--radius-sm);padding:14px;margin-bottom:20px;color:var(--text-muted);font-size:.9rem}.bank-current strong{color:var(--gold)}.chat-page{display:flex;flex-direction:column;height:calc(100vh - var(--header-height));max-width:700px;margin:0 auto}@media(max-width:768px){.chat-page{height:calc(100vh - var(--bottom-nav-height))}}.chat-header{padding:16px 20px;border-bottom:1px solid var(--border)}.chat-header h3{font-size:1rem}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.chat-empty{text-align:center;color:var(--text-dim);padding:40px;font-size:.9rem}.chat-bubble{max-width:75%;padding:10px 14px;border-radius:var(--radius-md);background:var(--surface-2);align-self:flex-start}.chat-me{align-self:flex-end;background:var(--gold-bg);border:1px solid var(--border-gold)}.chat-system{align-self:center;background:transparent;max-width:100%;text-align:center}.chat-system .chat-text{color:var(--text-dim);font-size:.8rem;font-style:italic}.chat-sender{font-size:.75rem;font-weight:600;color:var(--gold);display:block;margin-bottom:2px}.chat-text{font-size:.9rem;line-height:1.4;word-break:break-word}.chat-time{font-size:.7rem;color:var(--text-dim);display:block;text-align:right;margin-top:2px}.chat-input-bar{display:flex;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface)}.chat-input-bar input{flex:1;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-full);outline:none;font-size:.9rem}.chat-input-bar input:focus{border-color:var(--gold-muted)}.chat-send{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--black);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-header{display:flex;align-items:center;gap:10px}.chat-back{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0}.chat-back:hover{color:var(--gold)}.inbox-list{flex:1;overflow-y:auto;padding:8px 0}.inbox-section{margin-bottom:8px}.inbox-ride-label{font-size:.72rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;padding:8px 20px 4px;display:flex;align-items:center;gap:8px}.inbox-ride-date{font-weight:400;color:var(--text-dim);text-transform:none;letter-spacing:0}.inbox-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;background:none;border:none;text-align:left;cursor:pointer;transition:background .15s;color:var(--text)}.inbox-item:hover{background:var(--surface-2)}.inbox-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0}.inbox-avatar-placeholder{background:var(--gold-bg);border:1px solid var(--border-gold);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--gold)}.inbox-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.inbox-name{font-size:.9rem;font-weight:600}.inbox-preview{font-size:.8rem;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inbox-time{font-size:.72rem;color:var(--text-dim);flex-shrink:0}.rate-page{max-width:500px}.rate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px 24px;text-align:center}.rate-prompt{font-size:1.1rem;margin-bottom:20px}.rate-stars{display:flex;justify-content:center;margin-bottom:8px}.rate-label{color:var(--gold);font-weight:600;font-size:.9rem;min-height:20px}.rate-hint{color:var(--text-dim);font-size:.8rem;margin-top:16px}.payment-return-page{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;gap:16px;max-width:480px;margin:0 auto}.payment-return-page h2{font-size:1.4rem;margin:0}.payment-return-text{color:var(--text-muted);font-size:.95rem;line-height:1.5;margin:0 0 8px}.payment-return-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.payment-return-icon.success{background:#4caf5026;color:#4caf50}.payment-return-icon.pending{background:#ffc10726;color:#ffc107}.payment-return-icon.error{background:#f4433626;color:#f44336}.payment-return-page .action-btn{width:100%;max-width:280px}.profile-page{max-width:500px}.profile-header{text-align:center;padding:24px 0 32px}.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--surface-2);border:2px solid var(--border-gold);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:var(--gold);margin:0 auto 12px;overflow:hidden}.profile-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-name{font-size:1.3rem;margin-bottom:4px}.profile-email{color:var(--text-muted);font-size:.9rem}.profile-rating{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:8px;font-size:.95rem;font-weight:600;color:var(--text)}.profile-rating-count{font-weight:400;color:var(--text-muted);font-size:.85rem}.profile-menu{display:flex;flex-direction:column;gap:2px;margin-bottom:32px}.profile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s;color:var(--text-muted)}.profile-menu-item:hover{border-color:var(--border-gold)}.menu-item-left{display:flex;align-items:center;gap:12px}.menu-item-title{font-weight:500;color:var(--text);font-size:.95rem;display:block}.menu-item-desc{font-size:.8rem;color:var(--text-muted);display:block}.menu-badge{background:var(--gold);color:var(--black);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full);margin-right:8px}.profile-logout{width:100%;padding:14px;background:transparent;color:var(--error);border:1px solid var(--error-border);border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.profile-logout:hover{background:var(--error-bg)}.redeem-modal{display:flex;flex-direction:column;gap:16px}.redeem-input-row{display:flex;gap:8px}.redeem-input{flex:1;background:var(--surface-2, rgba(255,255,255,.06));border:1px solid var(--border, rgba(255,255,255,.12));border-radius:var(--radius-sm, 8px);padding:11px 14px;color:var(--text, #fff);font-size:.95rem;font-family:monospace;letter-spacing:.06em;outline:none;text-transform:uppercase;transition:border-color .15s}.redeem-input:focus{border-color:var(--gold, #D4AF37)}.redeem-input::placeholder{font-family:inherit;letter-spacing:0;text-transform:none;color:var(--text-muted, rgba(255,255,255,.35))}.redeem-check-btn{background:var(--gold, #D4AF37);color:#080808;border:none;border-radius:var(--radius-sm, 8px);padding:11px 18px;font-weight:700;font-size:.875rem;cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:72px;transition:opacity .15s}.redeem-check-btn:disabled{opacity:.45;cursor:not-allowed}.redeem-check-btn:hover:not(:disabled){opacity:.85}.redeem-error{font-size:.83rem;color:var(--error, #f87171);background:#f8717114;border:1px solid rgba(248,113,113,.2);padding:10px 14px;border-radius:var(--radius-sm, 8px)}.redeem-success{display:flex;align-items:center;gap:8px;font-size:.875rem;color:#4ade80;background:#4ade8014;border:1px solid rgba(74,222,128,.2);padding:10px 14px;border-radius:var(--radius-sm, 8px)}.redeem-preview{background:var(--surface-2, rgba(255,255,255,.04));border:1px solid var(--border-gold, rgba(212,175,55,.25));border-radius:var(--radius-sm, 8px);padding:16px;display:flex;flex-direction:column;gap:6px}.redeem-preview-discount{font-size:2rem;font-weight:800;color:var(--gold, #D4AF37);line-height:1}.redeem-preview-desc{font-size:.85rem;color:var(--text-muted, rgba(255,255,255,.55));margin:0}.redeem-preview-expiry{font-size:.78rem;color:var(--text-muted, rgba(255,255,255,.45));margin:0}.redeem-confirm-btn{margin-top:8px;background:var(--gold, #D4AF37);color:#080808;border:none;border-radius:var(--radius-sm, 8px);padding:12px;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.redeem-confirm-btn:disabled{opacity:.45;cursor:not-allowed}.redeem-confirm-btn:hover:not(:disabled){opacity:.85}.redeem-history{border-top:1px solid var(--border, rgba(255,255,255,.08));padding-top:14px}.redeem-history-title{font-size:.8rem;font-weight:600;color:var(--text-muted, rgba(255,255,255,.45));text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}.redeem-history-empty{font-size:.85rem;color:var(--text-muted, rgba(255,255,255,.4));margin:0;text-align:center;padding:12px 0}.redeem-history-list{display:flex;flex-direction:column;gap:8px}.redeem-history-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2, rgba(255,255,255,.04));border:1px solid var(--border, rgba(255,255,255,.07));border-radius:var(--radius-sm, 8px);padding:10px 14px}.redeem-history-code{display:flex;align-items:center;gap:10px}.redeem-code-tag{font-family:monospace;font-size:.85rem;font-weight:700;color:var(--gold, #D4AF37);letter-spacing:.04em}.redeem-code-pct{font-size:.8rem;font-weight:700;color:#4ade80}.redeem-history-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-muted, rgba(255,255,255,.4))}.redeem-badge{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;letter-spacing:.03em}.redeem-badge--available{background:#4ade8026;color:#4ade80}.redeem-badge--used{background:#ffffff14;color:#ffffff73}.redeem-badge--expired{background:#f871711f;color:#f87171}.redeem-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top-color:#080808;border-radius:50%;animation:redeem-spin .6s linear infinite}.redeem-spinner--dark{border-color:#0003;border-top-color:#080808}@keyframes redeem-spin{to{transform:rotate(360deg)}}.voucher-balance-card{display:flex;align-items:center;justify-content:space-between;background:var(--card-bg);border:1px solid var(--gold);border-radius:14px;padding:16px 18px;margin:0 16px 16px}.voucher-balance-left{display:flex;align-items:center;gap:12px;color:var(--gold)}.voucher-balance-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:2px}.voucher-balance-amount{display:block;font-size:1.2rem;font-weight:700;color:var(--gold)}.voucher-balance-hint{font-size:.72rem;color:var(--text-secondary)}.share-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--black)}.share-error{text-align:center}.share-error h2{color:var(--text);margin-bottom:8px}.share-error p{color:var(--text-muted)}.share-card{width:100%;max-width:450px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px}.share-header{text-align:center;margin-bottom:24px}.share-logo{font-family:Playfair Display,serif;font-size:1.5rem;color:var(--gold);letter-spacing:3px}.share-subtitle{color:var(--text-muted);font-size:.85rem;margin-top:4px}.share-route{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:16px;background:var(--surface-2);border-radius:var(--radius-sm)}.share-city{display:flex;align-items:center;gap:10px}.share-city-name{font-weight:600;display:block}.share-address{font-size:.8rem;color:var(--text-muted);display:block}.share-arrow{color:var(--text-dim);padding-left:7px;font-size:.9rem}.share-stop{padding-left:4px}.share-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.share-info-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.share-info-item{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.9rem}.share-status{text-align:center;margin:16px 0}.share-location{text-align:center;padding:12px;background:var(--surface-2);border-radius:var(--radius-sm);margin-bottom:12px}.share-location p{color:var(--text-muted);font-size:.85rem}.share-coords{font-family:monospace;color:var(--text)!important;font-size:.9rem!important;margin-top:4px}.share-footer{text-align:center;color:var(--text-dim);font-size:.8rem;margin-top:16px}.install-page{min-height:100dvh;background:var(--black);display:flex;align-items:center;justify-content:center;padding:24px 16px}.install-card{width:100%;max-width:380px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.install-icon-wrap{width:100px;height:100px;border-radius:24px;overflow:hidden;border:2px solid var(--border-gold);box-shadow:0 0 40px #d4af3726;margin-bottom:4px}.install-icon{width:100%;height:100%;object-fit:cover}.install-title{font-family:Playfair Display,serif;font-size:2rem;color:var(--gold);letter-spacing:.04em}.install-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:8px}.install-section{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:8px}.install-hint{font-size:.9rem;color:var(--text-muted);line-height:1.5}.install-btn{width:100%;padding:14px;background:var(--gold);color:var(--black);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.02em;transition:background .2s}.install-btn:hover{background:var(--gold-light)}.install-done-badge{background:var(--success-bg);color:var(--success);border:1px solid rgba(76,175,80,.25);border-radius:var(--radius-full);padding:6px 16px;font-size:.85rem;font-weight:600}.install-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.install-steps{list-style:none;width:100%;display:flex;flex-direction:column;gap:14px;text-align:left}.install-steps li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text);line-height:1.4}.install-steps strong{color:var(--gold)}.install-step-icon{flex-shrink:0;width:36px;height:36px;background:var(--gold-bg);border:1px solid var(--border-gold);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--gold)}.install-note{font-size:.8rem;color:var(--text-dim);line-height:1.5}.install-url{font-size:.85rem;color:var(--gold);background:var(--gold-bg);border:1px solid var(--border-gold);border-radius:var(--radius-sm);padding:8px 16px;font-family:monospace;letter-spacing:.04em}
