:root{--cyan-glow: #0dcaf0;--success-green: #198754;--danger-red: #dc3545;--warning-orange: #ffc107;--bg-primary: #212529;--bg-secondary: #2c3034;--bg-input: #343a40;--bg-hover: #2d3135;--text-primary: #ffffff;--text-secondary: #c2c7cc;--text-muted: #9a9a9a;--border-color: rgba(255, 255, 255, .25);--border-subtle: rgba(255, 255, 255, .1);--accent-color: #0dcaf0;--accent-hover: #07b8e6;--button-bg: #0dcaf0;--button-text: #000000;--error-color: #dc3545;--warning-color: #ffc107;--success-color: #198754;--info-color: #0dcaf0}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-input: #f5f5f5;--bg-hover: #f0f0f0;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--border-color: #e0e0e0;--border-subtle: #f0f0f0;--accent-color: #0dcaf0;--accent-hover: #07b8e6;--button-bg: #0dcaf0;--button-text: #000000}:root[data-theme=dark]{--bg-primary: #212529;--bg-secondary: #2c3034;--bg-input: #343a40;--bg-hover: #2d3135;--text-primary: #ffffff;--text-secondary: #c2c7cc;--text-muted: #9a9a9a;--border-color: rgba(255, 255, 255, .25);--border-subtle: rgba(255, 255, 255, .1);--accent-color: #0dcaf0;--accent-hover: #07b8e6;--button-bg: #0dcaf0;--button-text: #000000}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background-color .3s ease,color .3s ease}.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);color:var(--text-primary)}.main-content{flex:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}.loading{text-align:center;padding:40px;font-size:18px;color:var(--text-secondary)}button{background-color:var(--button-bg);color:var(--button-text);border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;transition:background-color .3s ease}button:hover{background-color:var(--accent-hover)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px;margin:10px 0;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.card:hover{box-shadow:0 4px 16px #0003}input,textarea,select{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:10px;border-radius:5px;font-size:14px;transition:all .3s ease}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 5px var(--accent-color)}@media (max-width: 768px){.main-content{padding:15px}}.header{background-color:#4a4a4a;color:#fff;padding:20px;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative}.logo-link{text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:200px}.logo{font-size:32px;font-weight:700;margin:0;line-height:1}.tagline{font-size:12px;font-weight:300;opacity:.95;margin:4px 0 0}.header-actions{display:flex;gap:15px;align-items:center;margin-left:auto}.user-greeting{color:#fff;font-weight:600;font-size:14px}.role-switcher{display:flex;gap:10px;align-items:center;background-color:#ffffff1a;padding:8px 12px;border-radius:6px}.current-role{color:#fff;font-weight:600;font-size:14px;white-space:nowrap}.role-switch-btn{background-color:#fff3;color:#fff;padding:6px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.4);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:12px;white-space:nowrap}.role-switch-btn:hover:not(:disabled){background-color:#ffffff4d;border-color:#fff9;transform:translateY(-2px)}.role-switch-btn:disabled{opacity:.6;cursor:not-allowed}.logout-btn{background-color:#fff;color:#4a4a4a;padding:10px 20px;border-radius:6px;border:2px solid white;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.logout-btn:hover{background-color:transparent;color:#fff;transform:translateY(-2px)}.login-btn{background-color:#fff;color:#4a4a4a;padding:10px 20px;border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s ease;display:inline-block;border:2px solid white}.login-btn:hover{background-color:transparent;color:#fff;transform:translateY(-2px)}@media (max-width: 768px){.header{padding:15px}.header-content{gap:10px;flex-wrap:wrap}.logo-link{min-width:auto;flex:1}.logo{font-size:24px}.tagline{display:none}.header-actions{gap:8px;flex-wrap:wrap;width:100%}.user-greeting{font-size:12px}.role-switcher{gap:6px;padding:6px 10px;flex:1;min-width:160px}.current-role{font-size:12px}.role-switch-btn{padding:5px 8px;font-size:11px}.logout-btn,.login-btn{padding:8px 12px;font-size:12px}.hamburger-btn{display:none}}.hamburger-btn{display:none;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:8px 12px;transition:all .3s ease}.hamburger-btn:hover{transform:scale(1.1)}.desktop-menu{display:flex;gap:15px;align-items:center}.desktop-actions{display:flex;gap:12px;align-items:center}.desktop-action-link{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .2s ease;white-space:nowrap}.desktop-action-link:hover{background-color:#ffffff1a;transform:translateY(-2px)}.desktop-action-link .action-icon{font-size:16px;min-width:18px}.desktop-action-link .action-label{font-size:13px}.menu-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:997;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-menu{display:none;position:fixed;top:0;right:-100%;width:60%;max-width:280px;height:100vh;background-color:#3a3a3a;flex-direction:column;gap:0;padding:60px 0 20px;box-shadow:-2px 0 12px #0000004d;z-index:998;overflow-y:auto;transition:right .3s ease}.mobile-menu.open{right:0}@media (max-width: 768px){.menu-backdrop{display:block}.mobile-menu{display:flex}}.menu-item{background:none;border:none;color:#fff;padding:14px 16px;text-align:left;font-size:14px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none;display:block;width:100%;box-sizing:border-box;font-weight:500}.menu-item:hover{background-color:#ffffff14}.menu-item:last-child{border-bottom:none}.menu-item:disabled{opacity:.6;cursor:not-allowed}.menu-section{display:flex;flex-direction:column;padding:0}.menu-section-title{padding:10px 16px;font-size:11px;font-weight:700;text-transform:uppercase;color:#ffffff80;letter-spacing:.8px;background-color:#0000001a;border-bottom:1px solid rgba(255,255,255,.08)}.action-item{display:flex;align-items:center;gap:12px;padding:12px 16px;font-size:13px;color:#fff;text-decoration:none;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid rgba(255,255,255,.08);font-weight:500}.action-item:hover{background-color:#ffffff14}.action-icon{font-size:18px;min-width:24px;display:flex;align-items:center;justify-content:center}.action-label{flex:1}.menu-divider{height:1px;background-color:#ffffff1a;margin:0}@media (max-width: 768px){.hamburger-btn{display:block;margin-left:auto}.desktop-menu{display:none}.header-content{flex-wrap:wrap}}@media (max-width: 480px){.logo-link{min-width:120px}.logo{font-size:20px}.login-btn{padding:6px 10px;font-size:11px}}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:20px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.footer-section{display:flex;align-items:center;gap:10px}.footer-section p{color:var(--text-secondary);font-size:14px}.theme-toggle-btn{background-color:var(--accent-color);color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;white-space:nowrap}.theme-toggle-btn:hover{background-color:var(--accent-hover);transform:scale(1.05)}@media (max-width: 768px){.footer-content{flex-direction:column;justify-content:center;gap:15px}.footer-section{width:100%;justify-content:center}.theme-toggle-btn{width:100%}}.home{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.home-hero{background:linear-gradient(135deg,#0a0e27,#1a1f3a);padding:80px 20px;text-align:center;position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(13,202,240,.1) 0%,transparent 70%);border-radius:50%;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(30px)}}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:1}.hero-icon{font-size:80px;margin-bottom:20px;display:block}.home-hero h1{font-size:56px;font-weight:700;color:var(--text-primary);margin:0 0 15px;background:linear-gradient(135deg,#fff 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-tagline{font-size:28px;color:var(--accent-color);margin:0 0 10px;font-weight:600}.hero-description{font-size:16px;color:var(--text-secondary);margin:0 0 40px}.hero-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.features-section{padding:80px 20px;max-width:1200px;margin:0 auto}.features-section h2{font-size:42px;color:var(--text-primary);text-align:center;margin-bottom:60px;font-weight:700}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin-bottom:40px}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:40px 30px;text-align:center;transition:all .3s ease;cursor:pointer}.feature-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf033;transform:translateY(-5px)}.feature-icon{font-size:48px;margin-bottom:20px;display:block}.feature-card h3{font-size:22px;color:var(--text-primary);margin:0 0 15px;font-weight:600}.feature-card p{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.6}.cta-section{background:linear-gradient(135deg,var(--accent-dark) 0%,#0a5f7d 100%);padding:60px 20px;text-align:center;border-radius:16px;max-width:1200px;margin:40px auto}.cta-section h2{font-size:36px;color:var(--text-primary);margin:0 0 15px;font-weight:700}.cta-section p{font-size:16px;color:#ffffffe6;margin:0 0 30px}.btn{padding:12px 28px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-primary{background:var(--accent-color);color:var(--button-text)}.btn-primary:hover{background:var(--accent-hover);transform:scale(1.05);box-shadow:0 8px 20px #0dcaf04d}.btn-outline{background:transparent;border:2px solid var(--accent-color);color:var(--accent-color)}.btn-outline:hover{background:#0dcaf01a;border-color:var(--accent-hover);color:var(--accent-hover)}.btn-large{padding:16px 40px;font-size:18px}@media (max-width: 768px){.home-hero{padding:40px 20px}.home-hero h1{font-size:36px}.hero-tagline{font-size:20px}.hero-description{font-size:14px}.hero-buttons{flex-direction:column}.btn{width:100%}.features-section h2{font-size:32px}.features-grid{grid-template-columns:1fr;gap:20px}.cta-section{margin:20px}.cta-section h2{font-size:24px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:20px}.auth-box{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}.auth-header{text-align:center;margin-bottom:40px}.auth-icon{font-size:64px;margin-bottom:15px;display:block;animation:bounce .6s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.auth-header h1{font-size:32px;color:var(--text-primary);margin:0 0 10px;font-weight:700;background:linear-gradient(135deg,#fff 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{font-size:14px;color:var(--text-secondary);margin:0}.auth-error{background:#dc35451a;border-left:4px solid #dc3545;color:#ff6b6b;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:20px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px;font-weight:600}.form-group input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:14px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 12px #0dcaf033;background:#0dcaf00d}.form-group input:disabled{opacity:.6;cursor:not-allowed}.auth-button{background:var(--accent-color);color:var(--button-text);border:none;border-radius:8px;padding:14px 20px;font-size:16px;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;margin-top:10px}.auth-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 10px 25px #0dcaf04d}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color)}.auth-footer p{font-size:14px;color:var(--text-secondary);margin:0}.auth-toggle{background:none;border:none;color:var(--accent-color);cursor:pointer;font-weight:600;text-decoration:none;transition:all .3s ease;font-size:14px;padding:0}.auth-toggle:hover{color:var(--accent-hover);text-decoration:underline}@media (max-width: 600px){.auth-box{padding:30px 20px}.auth-header h1{font-size:24px}.auth-icon{font-size:48px}}.dashboard{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.dashboard-header{max-width:1200px;margin:0 auto 40px;padding:40px;background:linear-gradient(135deg,#0dcaf01a,#1987541a);border:1px solid var(--border-color);border-radius:16px}.header-content h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.header-content p{font-size:16px;color:var(--text-secondary);margin:0}.stats-container{max-width:1200px;margin:0 auto 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;transition:all .3s ease;cursor:pointer}.stat-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf033;transform:translateY(-5px)}.stat-icon{font-size:42px;display:block}.stat-content{flex:1}.stat-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600;margin-bottom:5px}.stat-value{font-size:32px;font-weight:700;color:var(--accent-color)}.quick-actions{max-width:1200px;margin:0 auto 40px}.quick-actions h2{font-size:28px;color:var(--text-primary);margin:0 0 24px;font-weight:700}.actions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.action-button{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.action-button:hover{background:#0dcaf00d;border-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 8px 16px #0dcaf026}.action-icon{font-size:32px;display:block}.action-label{font-size:14px;font-weight:600;color:var(--text-primary);text-align:center}.recent-activity{max-width:1200px;margin:0 auto}.recent-activity h2{font-size:28px;color:var(--text-primary);margin:0 0 24px;font-weight:700}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;gap:20px;align-items:center;transition:all .3s ease}.activity-item:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf01a}.activity-number{width:50px;height:50px;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#000;flex-shrink:0}.activity-content{flex:1}.activity-content h4{font-size:18px;color:var(--text-primary);margin:0 0 5px;font-weight:600}.activity-content p{font-size:14px;color:var(--text-secondary);margin:0}.activity-btn{padding:10px 20px;background:var(--accent-color);color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;flex-shrink:0}.activity-btn:hover{background:var(--accent-hover);transform:scale(1.05)}@media (max-width: 768px){.dashboard{padding:20px}.dashboard-header{padding:24px;margin-bottom:24px}.header-content h1{font-size:24px}.stats-container{grid-template-columns:1fr}.stat-card{flex-direction:column;text-align:center}.stat-content{width:100%}.actions-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.activity-item{flex-direction:column;text-align:center}.activity-btn{width:100%}}.post-journey{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.post-journey .container{max-width:600px;margin:0 auto}.form-header{margin-bottom:40px;text-align:center}.form-header h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.form-header p{color:var(--text-secondary);margin:0}.journey-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:30px;animation:slideUp .4s ease-out}.form-group input,.form-group select{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #0dcaf01a}.form-group input::placeholder{color:var(--text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-row .form-group{margin-bottom:0}.submit-btn{width:100%;padding:12px 24px;background:linear-gradient(135deg,var(--accent-color) 0%,#0ab8e6 100%);color:#000;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease;margin-top:10px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0dcaf066}.submit-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.form-header h1{font-size:28px}.journey-form{padding:20px}}.my-journeys{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.my-journeys .header{max-width:1200px;margin:0 auto 40px}.my-journeys .header h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.my-journeys .header p{color:var(--text-secondary);margin:0}.my-journeys .empty-state{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.journeys-list{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.journey-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s ease}.journey-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf033}.journey-route{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:15px}.journey-info{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--text-secondary)}.driver-bookings{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.driver-bookings .header{max-width:1200px;margin:0 auto 40px}.driver-bookings .header h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.driver-bookings .header p{color:var(--text-secondary);margin:0}.driver-bookings .error-message{max-width:1200px;margin:0 auto 20px;background:#dc35451a;border:1px solid #dc3545;color:#ff6b6b;padding:12px 16px;border-radius:8px;font-size:14px}.empty-state{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.bookings-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.booking-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column}.booking-card:hover{border-color:var(--accent-color);box-shadow:0 12px 32px #0dcaf033;transform:translateY(-4px)}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.passenger-info{flex:1}.passenger-name{color:var(--text-primary);font-weight:600;margin:0 0 5px;font-size:16px}.passenger-rating{color:var(--text-secondary);margin:0;font-size:13px}.booking-status{text-align:right}.status-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.pending{background:#ffc1071a;color:#ffc107}.status-badge.approved{background:#1987541a;color:#198754}.status-badge.rejected{background:#dc35451a;color:#dc3545}.booking-details{flex:1;margin-bottom:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px}.detail-row .label{color:var(--text-secondary);font-weight:500}.detail-row .value{color:var(--text-primary);font-weight:600}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.approve-btn,.reject-btn{padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:13px}.approve-btn{background:#19875433;color:#69db7c;border:1px solid #198754}.approve-btn:hover{background:#198754;color:#fff}.reject-btn{background:#dc354533;color:#ff6b6b;border:1px solid #dc3545}.reject-btn:hover{background:#dc3545;color:#fff}.confirmed-message{text-align:center;color:#69db7c;font-weight:600;padding:10px;margin:0;background:#1987541a;border-radius:8px;border:1px solid #198754}@media (max-width: 768px){.driver-bookings .header h1{font-size:28px}.bookings-container{grid-template-columns:1fr}.booking-header{flex-direction:column;gap:10px}.booking-status{text-align:left}}.search{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.search-header{max-width:1200px;margin:0 auto 40px}.search-header h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.search-header p{font-size:16px;color:var(--text-secondary);margin:0}.search-filters{max-width:1200px;margin:0 auto 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:600}.filter-group input{background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;padding:12px;color:var(--text-primary);font-size:14px}.filter-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 12px #0dcaf033}.search-btn{grid-column:span;padding:12px 24px;background:var(--accent-color);color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .3s ease;align-self:flex-end}.search-btn:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.search-btn:disabled{opacity:.6}.journeys-container{max-width:1200px;margin:0 auto}.empty-state{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:60px 20px;text-align:center}.empty-state p{font-size:18px;color:var(--text-primary);margin:0}.empty-state .hint{font-size:14px;color:var(--text-secondary);margin-top:10px}.journeys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.journey-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;transition:all .3s ease}.journey-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf033;transform:translateY(-5px)}.journey-route{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-size:16px;font-weight:600}.journey-route .city{padding:6px 12px;background:var(--bg-secondary);border-radius:6px;color:var(--text-primary)}.journey-route .arrow{color:var(--accent-color)}.journey-details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.detail{display:flex;flex-direction:column;gap:4px}.detail .label{font-size:12px;color:var(--text-secondary);font-weight:600}.detail .value{font-size:16px;color:var(--text-primary);font-weight:600}.book-btn{width:100%;padding:12px;background:var(--accent-color);color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .3s ease}.book-btn:hover{background:var(--accent-hover);transform:scale(1.02)}@media (max-width: 768px){.search-filters{grid-template-columns:1fr}.search-btn{grid-column:auto}.journeys-grid{grid-template-columns:1fr}}.my-bookings{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.my-bookings .header{max-width:1200px;margin:0 auto 40px}.my-bookings .header h1{font-size:36px;color:var(--text-primary);margin:0 0 10px;font-weight:700}.my-bookings .header p{color:var(--text-secondary);margin:0}.my-bookings .empty-state{max-width:1200px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:60px 20px;text-align:center;color:var(--text-secondary)}.bookings-list{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.booking-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .3s ease}.booking-card:hover{border-color:var(--accent-color);box-shadow:0 8px 24px #0dcaf033}.booking-route{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:15px}.booking-route .city{padding:6px 12px;background:var(--bg-secondary);border-radius:6px;color:var(--text-primary)}.booking-route .arrow{color:var(--accent-color)}.booking-info{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;color:var(--text-secondary)}.booking-info .status{font-weight:600;padding:4px 12px;border-radius:6px}.booking-info .status.confirmed{color:#198754;background:#1987541a}.booking-info .status.pending{color:#ffc107;background:#ffc1071a}.booking-info .status.cancelled{color:#dc3545;background:#dc35451a}.booking-actions{display:flex;gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--border-color)}.cancel-btn{padding:10px 16px;background:#dc354533;color:#ff6b6b;border:1px solid #dc3545;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:13px}.cancel-btn:hover:not(:disabled){background:#dc3545;color:#fff}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.profile{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);padding:40px 20px}.profile-container{max-width:800px;margin:0 auto}.profile-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:30px;display:flex;align-items:center;gap:30px;margin-bottom:30px;animation:slideUp .4s ease-out}.avatar{font-size:60px;flex-shrink:0}.header-info{flex:1}.header-info h1{font-size:28px;color:var(--text-primary);margin:0 0 5px;font-weight:700}.header-info .username{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.rating{display:flex;align-items:center;gap:10px;font-size:14px}.rating .stars{color:var(--accent-color);font-weight:600}.rating .review-count{color:var(--text-secondary)}.edit-btn{padding:10px 20px;background:linear-gradient(135deg,var(--accent-color) 0%,#0ab8e6 100%);color:#000;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;flex-shrink:0}.edit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0dcaf066}.error-message{background:#dc35451a;border:1px solid #dc3545;color:#ff6b6b;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.success-message{background:#1987541a;border:1px solid #198754;color:#69db7c;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.profile-info{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:30px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.info-item label{display:block;color:var(--text-secondary);font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.info-item p{color:var(--text-primary);font-size:16px;margin:0;word-break:break-all}.edit-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:30px}.form-group{margin-bottom:20px}.form-group label{display:block;color:var(--text-primary);font-weight:600;margin-bottom:8px;font-size:14px}.form-group input{width:100%;padding:12px 16px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #0dcaf01a}.save-btn{width:100%;padding:12px 24px;background:linear-gradient(135deg,var(--accent-color) 0%,#0ab8e6 100%);color:#000;border:none;border-radius:8px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease;margin-top:10px}.save-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0dcaf066}@media (max-width: 768px){.profile-header{flex-direction:column;text-align:center;gap:15px}.edit-btn{width:100%}.header-info h1{font-size:24px}.info-grid{grid-template-columns:1fr;gap:20px}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
