body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-container{background-color:#f5f5f5;height:100vh}.loading-spinner{border:4px solid #e3e3e3;border-top-color:#3498db}.language-switcher{display:inline-block;position:relative;z-index:var(--z-dropdown)}.language-dropdown{position:relative}.language-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-md);color:#ffffffe6;cursor:pointer;display:flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);min-height:36px;padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.language-button:hover{background:#ffffff26;border-color:#ffffff4d;box-shadow:var(--shadow-sm);color:var(--color-text-white);transform:translateY(-1px)}.language-button:active{background:#fff3;transform:translateY(0)}.flag{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:16px;line-height:1}.language-name{font-weight:var(--font-weight-medium);letter-spacing:.3px;white-space:nowrap}.dropdown-arrow{color:#ffffffb3;font-size:10px;margin-left:auto;transition:var(--transition-fast)}.language-dropdown:hover .dropdown-arrow{color:var(--color-text-white);transform:rotate(180deg)}.language-options{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:0;min-width:140px;opacity:0;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-xs));transform:translateY(-8px);transition:var(--transition-normal);visibility:hidden;z-index:var(--z-dropdown)}.language-dropdown:hover .language-options{opacity:1;transform:translateY(0);visibility:visible}.language-option{align-items:center;background:none;border:none;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);overflow:hidden;padding:var(--spacing-sm) var(--spacing-md);position:relative;text-align:left}.language-option,.language-option:before{transition:var(--transition-fast);width:100%}.language-option:before{background:linear-gradient(90deg,#0000,#3498db1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0}.language-option:hover:before{left:100%}.language-option:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.language-option:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.language-option:hover{background:linear-gradient(135deg,#3498db1a,#9b59b61a);color:var(--color-primary);transform:translateX(2px)}.language-option.active{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);color:var(--color-text-white);font-weight:var(--font-weight-semibold)}.language-option.active:after{color:var(--color-text-white);content:"✓";font-size:12px;position:absolute;right:var(--spacing-md)}.language-option.active .language-name{font-weight:var(--font-weight-semibold)}.language-option.active:hover{background:linear-gradient(135deg,#2980b9,#8e44ad);transform:translateX(0)}.language-option .flag{flex-shrink:0;font-size:14px}.auth-container .language-switcher{position:static}.auth-container .language-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-color:#ffffffe6;box-shadow:0 2px 4px #0000001a;color:#2d3748;font-weight:var(--font-weight-semibold)}.auth-container .language-button:hover{background:var(--color-text-white);border-color:var(--color-primary);box-shadow:0 4px 8px #00000026;color:var(--color-primary)}.auth-container .dropdown-arrow{color:#4a5568}.auth-container .language-dropdown:hover .dropdown-arrow{color:var(--color-primary)}@media (max-width:768px){.language-button{min-height:32px;padding:var(--spacing-xs) var(--spacing-sm)}.language-name{display:none}.flag{font-size:18px}.language-options{left:auto;min-width:120px;right:0}.language-option .language-name{display:block}.language-option{font-size:var(--font-size-body);min-height:44px;padding:var(--spacing-md) var(--spacing-md)}}@media (max-width:480px){.language-options{border-radius:var(--radius-lg);bottom:100px;box-shadow:var(--shadow-xl);left:var(--spacing-md);min-width:auto;position:fixed;right:var(--spacing-md);top:auto}.language-option{justify-content:center;padding:var(--spacing-lg) var(--spacing-md);text-align:center}.language-option .flag{font-size:20px}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-dropdown:hover .language-options{animation:slideInDown var(--transition-fast) ease-out}@media (prefers-contrast:high){.language-button,.language-options{border-width:2px}.language-option.active{outline:2px solid var(--color-text-white);outline-offset:-2px}}@media (prefers-reduced-motion:reduce){.dropdown-arrow,.language-button,.language-option,.language-options{transition:none}.language-dropdown:hover .dropdown-arrow,.language-option:hover{transform:none}}.notification-center-overlay{align-items:flex-start;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:60px 20px 20px;position:fixed;right:0;top:0;z-index:1000}.notification-center{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:500px;width:100%}.notification-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px}.notification-header h3{color:#333;font-size:1.2rem;margin:0}.notification-actions{align-items:center;display:flex;gap:10px}.clear-all-btn,.mark-read-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:all .2s}.clear-all-btn:hover,.mark-read-btn:hover{background:#f8f9fa;border-color:#ccc}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .2s;width:30px}.close-btn:hover{background:#f0f0f0;color:#666}.notification-list{flex:1 1;max-height:60vh;overflow-y:auto}.no-notifications{color:#999;padding:40px;text-align:center}.notification-item{align-items:flex-start;border-bottom:1px solid #eee;cursor:pointer;display:flex;gap:12px;padding:16px 20px;position:relative;transition:background-color .2s}.notification-item:hover{background:#f8f9fa}.notification-item:last-child{border-bottom:none}.notification-item.unread{background:#f0f8ff;border-left:3px solid #007bff}.notification-content{flex:1 1}.notification-content h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 6px}.notification-content p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 8px}.notification-meta{color:#999;display:flex;font-size:.8rem;gap:12px}.notification-type{background:#e9ecef;border-radius:12px;padding:2px 8px;text-transform:capitalize}.unread-indicator{background:#007bff;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notification-toast{background:#fff;border-left:4px solid #007bff;border-radius:12px;box-shadow:0 6px 20px #00000026;position:fixed;right:20px;top:80px;transform:translateX(100%);transition:transform .3s ease,opacity .3s ease;width:350px;z-index:1001}.notification-toast.visible{opacity:1;transform:translateX(0)}.notification-toast.hidden{opacity:0;transform:translateX(100%)}.toast-content{padding:16px}.toast-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.toast-header h4{color:#333;font-size:1rem;font-weight:600;margin:0}.toast-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.2rem;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.toast-close:hover{background:#f0f0f0;color:#666}.toast-content p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 12px}.toast-actions{display:flex;gap:8px;justify-content:flex-end}.toast-action-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background-color .2s}.toast-action-btn:hover{background:#0056b3}@media (prefers-color-scheme:dark){.notification-center{background:#2d3748;color:#fff}.notification-header{background:#4a5568}.notification-header,.notification-item{border-bottom-color:#4a5568}.notification-item:hover{background:#4a5568}.notification-item.unread{background:#1a365d}.notification-toast{background:#2d3748;color:#fff}}@media (max-width:768px){.notification-center-overlay{padding:20px 10px}.notification-center{max-width:100%}.notification-header{padding:16px}.notification-item{padding:12px 16px}.notification-toast{left:10px;right:10px;width:auto}}:root{--color-primary:#3498db;--color-secondary:#f39c12;--color-accent:#9b59b6;--color-success:#2ecc71;--color-danger:#e74c3c;--color-warning:#f39c12;--color-info:#3498db;--color-dark:#34495e;--color-medium:#95a5a6;--color-light:#ecf0f1;--color-white:#fff;--color-text-primary:#34495e;--color-text-secondary:#95a5a6;--color-text-white:#fff;--color-text-muted:#7f8c8d;--color-bg-primary:#fff;--color-bg-secondary:#ecf0f1;--color-bg-card:#fff;--color-bg-overlay:#34495ecc;--color-border-light:#ecf0f1;--color-border-medium:#95a5a6;--color-border-primary:#3498db;--font-heading:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-h1:34px;--font-size-h2:26px;--font-size-h3:20px;--font-size-body:16px;--font-size-caption:14px;--font-size-small:12px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:50%;--shadow-sm:0 1px 3px #0000001f,0 1px 2px #0000003d;--shadow-md:0 4px 6px #00000012,0 1px 3px #0000001a;--shadow-lg:0 10px 15px #0000001a,0 4px 6px #0000000d;--shadow-xl:0 20px 25px #0000001a,0 10px 10px #0000000a;--transition-fast:150ms ease-in-out;--transition-normal:250ms ease-in-out;--transition-slow:350ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#ecf0f1;background-color:var(--color-bg-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:16px;font-size:var(--font-size-body);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.5;line-height:var(--line-height-normal)}body,h1,h2,h3,h4,h5,h6{color:#34495e;color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-heading);font-weight:600;font-weight:var(--font-weight-semibold);line-height:1.2;line-height:var(--line-height-tight);margin-bottom:16px;margin-bottom:var(--spacing-md)}h1{font-size:34px;font-size:var(--font-size-h1);font-weight:700;font-weight:var(--font-weight-bold)}h2{font-size:26px;font-size:var(--font-size-h2)}h3{font-size:20px;font-size:var(--font-size-h3)}p{color:#95a5a6;color:var(--color-text-secondary);margin-bottom:16px;margin-bottom:var(--spacing-md)}a{color:#3498db;color:var(--color-primary);text-decoration:none;transition:.15s ease-in-out;transition:var(--transition-fast)}a:hover{color:#9b59b6;color:var(--color-accent);text-decoration:underline}.btn{border-radius:var(--radius-md);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:16px;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);line-height:1.2;line-height:var(--line-height-tight);min-height:44px;padding:8px 24px;padding:var(--spacing-sm) var(--spacing-lg);transition:.25s ease-in-out;transition:var(--transition-normal)}.btn:disabled{pointer-events:none}.btn-primary{background-color:#3498db;background-color:var(--color-primary);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-sm);color:var(--color-text-white)}.btn-primary:hover:not(:disabled){background-color:#2980b9;box-shadow:0 4px 6px #00000012,0 1px 3px #0000001a;box-shadow:var(--shadow-md)}.btn-primary:active{box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background-color:initial;border:2px solid #f39c12;border:2px solid var(--color-secondary);color:#f39c12;color:var(--color-secondary)}.btn-secondary:hover:not(:disabled){background-color:#f39c12;background-color:var(--color-secondary);color:#fff;color:var(--color-text-white);transform:translateY(-1px)}.btn-tertiary{background-color:#9b59b6;background-color:var(--color-accent);color:#fff;color:var(--color-text-white)}.btn-tertiary:hover:not(:disabled){background-color:#8e44ad;transform:translateY(-1px)}.btn-ghost{background-color:initial;color:#95a5a6;color:var(--color-text-secondary);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md)}.btn-ghost:hover:not(:disabled){background-color:#3498db1a;color:#3498db;color:var(--color-primary)}.btn-sm{font-size:14px;font-size:var(--font-size-caption);min-height:36px;padding:4px 16px;padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:18px;min-height:52px;padding:16px 32px;padding:var(--spacing-md) var(--spacing-xl)}.btn-success{background-color:#2ecc71;background-color:var(--color-success);color:#fff;color:var(--color-text-white)}.btn-success:hover:not(:disabled){background-color:#27ae60}.btn-danger{background-color:#e74c3c;background-color:var(--color-danger);color:#fff;color:var(--color-text-white)}.btn-danger:hover:not(:disabled){background-color:#c0392b}.card{background-color:#fff;background-color:var(--color-bg-card);border-radius:12px;box-shadow:0 4px 6px #00000012,0 1px 3px #0000001a;box-shadow:var(--shadow-md);overflow:hidden;transition:.25s ease-in-out;transition:var(--transition-normal)}.card:hover{box-shadow:0 10px 15px #0000001a,0 4px 6px #0000000d;box-shadow:var(--shadow-lg)}.card-header{border-bottom:1px solid #ecf0f1;border-bottom:1px solid var(--color-border-light)}.card-body,.card-footer,.card-header{padding:24px;padding:var(--spacing-lg)}.card-footer{background-color:#ecf0f180;border-top:1px solid #ecf0f1;border-top:1px solid var(--color-border-light)}.form-group{margin-bottom:24px}.form-label{color:#34495e;color:var(--color-text-primary);display:block;font-size:14px;font-size:var(--font-size-caption);font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.form-input{background-color:#ecf0f1;background-color:var(--color-light);border:2px solid #0000;border-radius:8px;border-radius:var(--radius-md);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-body);font-size:16px;font-size:var(--font-size-body);min-height:44px;padding:16px;padding:var(--spacing-md);transition:.15s ease-in-out;transition:var(--transition-fast);width:100%}.form-input:focus{background-color:#fff;background-color:var(--color-white);border-color:#3498db;border-color:var(--color-primary);box-shadow:0 0 0 3px #3498db1a;outline:none}.form-input.error{background-color:#e74c3c0d;border-color:#e74c3c;border-color:var(--color-danger)}.form-error{color:#e74c3c;color:var(--color-danger);font-size:14px;font-size:var(--font-size-caption);font-weight:500;font-weight:var(--font-weight-medium);margin-top:4px;margin-top:var(--spacing-xs)}.container{margin:0 auto;max-width:1280px;padding:0 24px;padding:0 var(--spacing-lg)}.page{min-height:100vh;padding:24px;padding:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:8px;gap:var(--spacing-sm)}.gap-md{gap:16px;gap:var(--spacing-md)}.gap-lg{gap:24px;gap:var(--spacing-lg)}.text-center{text-align:center}.text-primary{color:#3498db;color:var(--color-primary)}.text-secondary{color:#95a5a6;color:var(--color-text-secondary)}.text-success{color:#2ecc71;color:var(--color-success)}.text-danger{color:#e74c3c;color:var(--color-danger)}.font-semibold{font-weight:600;font-weight:var(--font-weight-semibold)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}@media (max-width:768px){:root{--font-size-h1:28px;--font-size-h2:22px;--font-size-h3:18px}.page{padding:16px;padding:var(--spacing-md)}.container{padding:0 16px;padding:0 var(--spacing-md)}}:focus-visible{outline:2px solid #3498db;outline:2px solid var(--color-primary);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s ease-in-out infinite}.status-online{color:#2ecc71;color:var(--color-success)}.status-offline{color:#95a5a6;color:var(--color-medium)}.status-busy{color:#f39c12;color:var(--color-warning)}.badge{align-items:center;background-color:#ecf0f1;background-color:var(--color-light);border-radius:50%;border-radius:var(--radius-full);color:#34495e;color:var(--color-text-primary);display:inline-flex;font-size:12px;font-size:var(--font-size-small);font-weight:500;font-weight:var(--font-weight-medium);padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm)}.badge-primary{background-color:#3498db;background-color:var(--color-primary)}.badge-primary,.badge-success{color:#fff;color:var(--color-text-white)}.badge-success{background-color:#2ecc71;background-color:var(--color-success)}.badge-danger{background-color:#e74c3c;background-color:var(--color-danger);color:#fff;color:var(--color-text-white)}.page-content{display:flex;flex-direction:column;min-height:calc(100vh - 160px);width:100%}.message-container{margin-bottom:var(--spacing-md)}.error-message,.info-message,.success-message{align-items:center;border-radius:var(--radius-md);display:flex;font-weight:var(--font-weight-medium);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.info-message{background:var(--color-info);color:#fff}.loading,.loading-spinner{color:var(--color-text-secondary);font-size:var(--font-size-body);padding:var(--spacing-xl);text-align:center}.empty-state{color:var(--color-text-secondary);padding:var(--spacing-3xl) var(--spacing-lg)}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.empty-state h3{color:var(--color-text-primary);font-size:var(--font-size-h3);margin-bottom:var(--spacing-sm)}.empty-state p{font-size:var(--font-size-body);margin:0 auto}.danger-btn,.primary-btn,.secondary-btn{align-items:center;border:2px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .3s ease}.primary-btn{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);color:#fff}.primary-btn:hover{box-shadow:0 4px 12px #3498db4d;transform:translateY(-2px)}.secondary-btn{background:#fff;border-color:var(--color-primary);color:var(--color-primary)}.secondary-btn:hover{background:var(--color-primary);color:#fff}.danger-btn{background:var(--color-danger);color:#fff}.danger-btn:hover{background:#c0392b;transform:translateY(-1px)}.form-container{margin:0 auto;max-width:600px}.form-section{margin-bottom:var(--spacing-lg)}.form-section h3{color:var(--color-text-primary);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold)}.form-group,.form-section h3{margin-bottom:var(--spacing-md)}.form-group label{margin-bottom:var(--spacing-xs)}.form-input,.form-select,.form-textarea{background:#fff;border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-body);padding:var(--spacing-sm) var(--spacing-md);transition:all .3s ease;width:100%}.form-select{-webkit-appearance:none!important;appearance:none!important;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:16px;padding-right:40px}.form-select::-ms-expand{display:none!important}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3498db1a;outline:none}.form-actions{gap:var(--spacing-md);margin-top:var(--spacing-xl)}.card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);margin:0}.card-content,.card-title{color:var(--color-text-primary)}.card-content{line-height:1.6}.grid-2{grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-2,.grid-3{display:grid;gap:var(--spacing-lg)}.grid-3{grid-gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tabs{border-bottom:2px solid var(--color-border-light);display:flex;margin-bottom:var(--spacing-lg)}.tab-button{border-bottom:2px solid #0000;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);padding:var(--spacing-md) var(--spacing-lg)}.tab-button.active,.tab-button:hover{color:var(--color-primary)}.tab-button.active{border-bottom-color:var(--color-primary)}.status-badge{border-radius:var(--radius-sm);font-size:var(--font-size-caption)}.status-active{background:#e6fffa;color:#00695c}.status-pending{background:#fff8e1;color:#ef6c00}.status-completed{background:#e8f5e8;color:#2e7d32}.status-cancelled{background:#ffebee;color:#c62828}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .primary-btn,.form-actions .secondary-btn{justify-content:center;width:100%}.grid-2,.grid-3,.grid-4{gap:var(--spacing-md);grid-template-columns:1fr}.tabs{overflow-x:auto}.tab-button{padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}}@media (max-width:480px){.page-header{padding:var(--spacing-lg) var(--spacing-sm)}.card,.content-section{padding:var(--spacing-md)}.danger-btn,.primary-btn,.secondary-btn{font-size:var(--font-size-caption);padding:var(--spacing-sm) var(--spacing-md)}}@media print{.danger-btn,.primary-btn,.secondary-btn{display:none}.page-header{background:none!important;color:#000!important}.content-section{box-shadow:none}}.App{background-color:var(--color-bg-secondary);display:flex;flex-direction:column;min-height:100vh}.main-content{min-height:calc(100vh - 200px);padding-bottom:120px;padding-top:var(--spacing-lg);z-index:1}.main-content,.main-content>*{position:relative}.page{margin:0 auto;max-width:1280px;padding:var(--spacing-md)}.auth-button,.btn,.create-ride-form button[type=submit],.form-actions,.search-button{margin-bottom:var(--spacing-lg)}.navbar{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);box-shadow:var(--shadow-md);color:var(--color-text-white);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.nav-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;padding:var(--spacing-lg) var(--spacing-lg)}.nav-brand{color:var(--color-text-white);font-family:var(--font-heading);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);text-decoration:none}.nav-header-right{flex-wrap:wrap}.nav-header-right,.nav-user{align-items:center;display:flex;gap:var(--spacing-md)}.user-name{color:#ffffffe6;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.auth-buttons{display:flex;gap:var(--spacing-sm)}.login-btn,.signup-btn{border:2px solid #0000;border-radius:var(--radius-md);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-fast)}.login-btn{background-color:#ffffff1a;border-color:#ffffff4d}.login-btn,.login-btn:hover{color:var(--color-text-white)}.login-btn:hover{background-color:#fff3;text-decoration:none}.signup-btn{background-color:var(--color-secondary);color:var(--color-text-white)}.signup-btn:hover{background-color:#e67e22;color:var(--color-text-white);text-decoration:none;transform:translateY(-1px)}.logout-btn{background-color:initial;border:2px solid #ffffff4d;border-radius:var(--radius-md);color:var(--color-text-white);cursor:pointer;font-size:var(--font-size-caption);padding:var(--spacing-xs) var(--spacing-md);transition:var(--transition-fast)}.logout-btn:hover{background-color:#ffffff1a;border-color:#ffffff80}.nav-tabs{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);bottom:0;box-shadow:0 -4px 6px #0000001a;left:0;position:fixed;right:0;z-index:var(--z-fixed)}.nav-tabs:before{background:linear-gradient(90deg,#0000,#ffffff4d 25%,#ffffff4d 75%,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.nav-tab{flex:1 1;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);max-width:120px;min-width:70px;padding:var(--spacing-md) var(--spacing-xs);position:relative}.nav-tab,.nav-tab-icon{transition:all var(--transition-fast) ease-out}.nav-tab-icon{font-size:20px;transform-origin:center}.nav-tab-text{font-size:var(--font-size-small);letter-spacing:.3px;transition:all var(--transition-fast) ease-out}.nav-tab:hover{background-color:#ffffff1a;color:var(--color-text-white);transform:translateY(-1px)}.nav-tab:hover .nav-tab-icon{transform:scale(1.1)}.nav-tab.active{background-color:#ffffff26;font-weight:var(--font-weight-semibold)}.nav-tab.active .nav-tab-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transform:scale(1.15)}.nav-tab.active .nav-tab-text{font-weight:var(--font-weight-semibold)}.nav-tab.active:after{background:linear-gradient(90deg,var(--color-secondary),var(--color-accent));border-radius:var(--radius-sm);box-shadow:0 2px 8px #f39c1266;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:40px}.nav-tab.active:before{background:linear-gradient(145deg,#ffffff1a,#0000 50%);border-radius:var(--radius-sm) var(--radius-sm) 0 0;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.main-content{display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 160px)}.page-container,.page-container-full,.page-container-narrow,.page-container-wide{margin:0 auto}.page-container,.page-container-full,.page-container-narrow,.page-container-wide,.profile-page{background-color:var(--color-bg-secondary);max-width:1280px;min-height:calc(100vh - 160px);padding:var(--spacing-lg) var(--spacing-md);padding-bottom:calc(80px + var(--spacing-lg));width:100%}.profile-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.profile-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-bottom:none;padding:var(--spacing-xl)}.profile-header h1{color:#fff;font-weight:600}.profile-content{background:var(--color-surface);padding:var(--spacing-xl)}.profile-header .add-vehicle-btn,.profile-header .create-ride-btn,.profile-header .edit-button,.profile-header button{background:#fff3;border:1px solid #ffffff4d;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:var(--transition-base)}.profile-header .add-vehicle-btn:hover,.profile-header .create-ride-btn:hover,.profile-header .edit-button:hover,.profile-header button:hover{background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}@media (max-width:768px){.profile-page{padding:var(--spacing-md) var(--spacing-sm)}.profile-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.profile-header h1{font-size:1.5rem}.profile-content{padding:var(--spacing-lg) var(--spacing-md)}}.page-header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);color:var(--color-text-white);margin:calc(var(--spacing-lg)*-1) calc(var(--spacing-md)*-1) var(--spacing-lg) calc(var(--spacing-md)*-1);padding:var(--spacing-xl) var(--spacing-lg)}.page-header h1{font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0}.page-header p{font-size:var(--font-size-body);margin:0;opacity:.9}.content-section{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl)}.content-section:last-child{margin-bottom:0}.page{background-color:var(--color-bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);flex:1 1;margin-top:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-lg);padding-bottom:calc(80px + var(--spacing-xl))}.page h1{color:#1a202c;font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.page h1,.page p{text-align:center}.page p{color:#4a5568;font-size:var(--font-size-body);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xl)}.landing-page{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);color:var(--color-text-white);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:var(--spacing-xl);position:relative;text-align:center}.landing-page:before{background:#00000026;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.landing-page>*{position:relative;z-index:1}.landing-header{padding:var(--spacing-lg);position:absolute;right:0;top:0;z-index:2}.landing-page h1{color:var(--color-text-white);font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--spacing-md);text-shadow:0 2px 4px #0000004d}.landing-page p{color:var(--color-text-white);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:1.5;margin:0 auto var(--spacing-xl);max-width:600px;opacity:.95;text-shadow:0 1px 3px #0000004d}.landing-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin:var(--spacing-xl) 0}.cta-button{border:2px solid #0000;border-radius:var(--radius-md);font-size:18px;font-weight:var(--font-weight-semibold);min-width:160px;padding:var(--spacing-md) var(--spacing-xl);text-align:center;transition:var(--transition-normal)}.cta-button.primary{background-color:var(--color-secondary);box-shadow:var(--shadow-lg);color:var(--color-text-white)}.cta-button.primary:hover{background-color:#e67e22;box-shadow:var(--shadow-xl);color:var(--color-text-white);text-decoration:none;transform:translateY(-2px)}.cta-button.secondary{background-color:initial;border-color:#ffffff80;color:var(--color-text-white)}.cta-button.secondary:hover{background-color:#ffffff1a;border-color:var(--color-text-white);color:var(--color-text-white);text-decoration:none}.features-section{margin-top:var(--spacing-3xl);text-align:center}.features-section h2{color:var(--color-text-white);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl);text-shadow:0 2px 4px #0000004d}.features-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--spacing-xl)}.feature{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:0 4px 6px #0000001a;padding:var(--spacing-xl);transition:var(--transition-normal)}.feature:hover{background-color:#fff3;box-shadow:0 8px 15px #00000026;transform:translateY(-4px)}.feature h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);text-shadow:0 1px 3px #0000004d}.feature h3,.feature p{color:var(--color-text-white)}.feature p{font-weight:var(--font-weight-medium);line-height:1.5;margin:0;opacity:.95;text-shadow:0 1px 2px #0003}.home-page .profile-section{margin-bottom:var(--spacing-xl)}.home-page .features-section{margin-top:var(--spacing-3xl);text-align:center}.home-page .features-section h2{color:#1a202c;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl);text-shadow:none}.home-page .features-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:var(--spacing-xl)}.home-page .feature{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px solid #e2e8f0;border-radius:var(--radius-lg);box-shadow:0 4px 6px #0000000d;padding:var(--spacing-xl);transition:var(--transition-normal)}.home-page .feature:hover{background:linear-gradient(135deg,#edf2f7,#e2e8f0);border-color:var(--color-primary);box-shadow:0 8px 15px #0000001a;transform:translateY(-4px)}.home-page .feature h3{color:#1a202c;font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);text-shadow:none}.home-page .feature p{color:#4a5568;font-weight:var(--font-weight-medium);line-height:1.5;margin:0;text-shadow:none}.actions-section{margin-bottom:var(--spacing-xl)}.actions-section h2{color:#1a202c;font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);text-align:center}.profile-card{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text-white);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.profile-header{gap:var(--spacing-lg)}.profile-avatar{align-items:center;background-color:#fff3;border-radius:var(--radius-full);display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.avatar-text{color:var(--color-text-white);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold)}.profile-info{flex:1 1}.profile-name{color:var(--color-text-white);font-size:var(--font-size-h3);margin-bottom:var(--spacing-xs)}.profile-role{color:#fffc;font-size:var(--font-size-caption);margin-bottom:var(--spacing-sm)}.profile-status{display:flex;gap:var(--spacing-sm)}.status-badge{border-radius:var(--radius-full);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-sm)}.status-badge.active{background-color:var(--color-success);color:var(--color-text-white)}.profile-stats{display:flex;gap:var(--spacing-lg)}.stat-item{text-align:center}.stat-value{color:var(--color-text-white);display:block;font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.stat-label{color:#fffc;font-size:var(--font-size-small)}.action-card{align-items:center;background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-lg);transition:var(--transition-normal)}.action-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.action-card.primary{border-left:4px solid var(--color-primary)}.action-icon{flex-shrink:0;font-size:32px}.action-content{flex:1 1}.action-title{color:#1a202c;font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.action-description{color:#4a5568;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);margin:0}.action-arrow{color:#718096;flex-shrink:0;font-size:24px}.ride-form{margin:0 auto;max-width:600px}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.form-group input,.form-group select{background-color:var(--color-bg-card);width:100%}.form-group select{background:var(--color-bg-card) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}.select-wrapper{position:relative}.search-btn,.submit-btn{margin-top:var(--spacing-lg);width:100%}.results{background-color:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:var(--spacing-xl) auto 0;max-width:600px;padding:var(--spacing-xl);text-align:center}.loading-container{align-items:center;background-color:var(--color-bg-secondary);display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{border-top:4px solid var(--color-border-light);border:4px solid var(--color-border-light);border-radius:var(--radius-full);border-top-color:var(--color-primary);margin-bottom:var(--spacing-md)}.notification-btn{background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;font-size:1.4rem;margin-right:var(--spacing-md);padding:8px;position:relative;transition:all .2s ease}.notification-btn:hover{background:var(--background-light);color:var(--primary-color);transform:translateY(-1px)}.notification-badge{background:var(--error-color);border:2px solid var(--card-background);border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;line-height:1;min-width:16px;padding:2px 6px;position:absolute;right:2px;text-align:center;top:2px}.legal-disclaimer-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0000000d;border:2px solid #ffffff1a;border-radius:var(--radius-lg);margin-top:var(--spacing-3xl);padding:var(--spacing-xl)}.legal-disclaimer-section h2{color:var(--color-text-white);font-size:var(--font-size-h2);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl);text-align:center;text-shadow:0 2px 4px #0000004d}.legal-content{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);margin:0 auto;max-width:1000px}.disclaimer-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius-lg);box-shadow:0 4px 6px #0000001a;padding:var(--spacing-xl);transition:var(--transition-normal)}.disclaimer-card:hover{background-color:#ffffff26;box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.disclaimer-card h3{align-items:center;color:var(--color-text-white);display:flex;font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);text-shadow:0 1px 3px #0000004d}.disclaimer-card p{color:var(--color-text-white);font-weight:var(--font-weight-medium);line-height:1.6;margin:0 0 var(--spacing-md) 0;opacity:.95;text-shadow:0 1px 2px #0003}.disclaimer-card.regulations h3:before{content:"📋";font-size:1.2em}.disclaimer-card.platform-disclaimer h3:before{content:"⚠️";font-size:1.2em}.disclaimer-card.user-responsibility h3:before{content:"🛡️";font-size:1.2em}.disclaimer-card.legal-compliance h3:before{content:"⚖️";font-size:1.2em}.regulations-list{list-style:none;margin:0;padding:0}.regulations-list li{background-color:#ffffff14;border-left:4px solid var(--color-secondary);border-radius:var(--radius-md);color:var(--color-text-white);font-weight:var(--font-weight-medium);line-height:1.6;margin-bottom:var(--spacing-md);padding:var(--spacing-md);position:relative;text-shadow:0 1px 2px #0003}.regulations-list li:last-child{margin-bottom:0}.regulations-list li b,.regulations-list li strong{color:var(--color-secondary);font-weight:var(--font-weight-bold);text-shadow:0 1px 3px #0000004d}.compliance-note{background:linear-gradient(135deg,#f39c1233,#e67e2233);border:2px solid #f39c124d;border-radius:var(--radius-md);color:var(--color-text-white);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);margin:0;padding:var(--spacing-lg);text-align:center}.compliance-note strong{color:var(--color-secondary);text-shadow:0 1px 3px #0000004d}@media (max-width:768px){.legal-disclaimer-section{margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.legal-content{gap:var(--spacing-md)}.disclaimer-card{padding:var(--spacing-lg)}.disclaimer-card h3{flex-direction:column;font-size:var(--font-size-body);gap:var(--spacing-xs);text-align:center}.regulations-list li{font-size:var(--font-size-caption);padding:var(--spacing-sm)}.compliance-note{font-size:var(--font-size-caption);padding:var(--spacing-md)}}@media (max-width:480px){.legal-disclaimer-section h2{font-size:var(--font-size-h3)}.disclaimer-card h3{font-size:var(--font-size-caption)}.disclaimer-card p,.regulations-list li{font-size:var(--font-size-small)}}@media (max-width:768px){.nav-header{padding:var(--spacing-md)}.nav-brand{font-size:18px}.nav-tabs{box-shadow:0 -4px 6px #00000026}.nav-tab{min-width:60px;padding:var(--spacing-sm) var(--spacing-xs)}.nav-tab-text{font-size:var(--font-size-caption)}.nav-tab-icon{font-size:18px}.main-content{padding-bottom:80px}.page{border-radius:0;margin-top:0;padding:var(--spacing-lg)}.page-container,.page-container-full,.page-container-narrow,.page-container-wide{padding:var(--spacing-lg) var(--spacing-sm)}.nav-header{padding:var(--spacing-md) var(--spacing-sm)}.profile-header{flex-direction:column;gap:var(--spacing-md);text-align:center}.profile-stats{justify-content:center}.features-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.landing-actions{align-items:center;flex-direction:column}.cta-button{max-width:280px;width:100%}}@media (max-width:480px){.auth-buttons{flex-direction:column;gap:var(--spacing-xs)}.nav-header-right{flex-direction:column;gap:var(--spacing-sm)}}@media (max-width:768px){.page-container-wide{max-width:100%;padding:var(--spacing-md) var(--spacing-sm)}.actions-grid{gap:var(--spacing-md);grid-template-columns:1fr}.features-grid{gap:var(--spacing-lg);grid-template-columns:1fr}}@media (max-width:480px){.nav-tab{min-width:45px;padding:var(--spacing-sm) 2px}.nav-tab-text{font-size:var(--font-size-small);line-height:1.1}.nav-tab-icon{font-size:16px}:root{--font-size-h1:28px;--font-size-h2:22px;--font-size-h3:18px}.page-header{margin:calc(var(--spacing-lg)*-1) calc(var(--spacing-sm)*-1) var(--spacing-lg) calc(var(--spacing-sm)*-1);padding:var(--spacing-lg) var(--spacing-sm)}.page-header h1{font-size:var(--font-size-h2)}.content-section{margin-bottom:var(--spacing-md);padding:var(--spacing-lg)}.form-actions,.form-row{flex-direction:column}.form-actions{gap:var(--spacing-sm)}.form-actions .btn{width:100%}}@media (min-width:1440px){.page-container-wide{max-width:1600px}.features-grid{grid-template-columns:repeat(4,1fr)}.actions-grid{grid-template-columns:repeat(3,1fr)}}.nav-tabs{-ms-overflow-style:none;background:#ffffff1a;border-top:1px solid #ffffff1a;display:flex;margin:0 auto;max-width:1280px;overflow-x:auto;padding:0;scrollbar-width:none}.nav-tabs::-webkit-scrollbar{display:none}.nav-tab{align-items:center;border-bottom:3px solid #0000;color:#ffffffb3;display:flex;flex-direction:column;justify-content:center;min-width:80px;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all .3s ease;white-space:nowrap}.nav-tab:hover{background:#ffffff0d;color:#ffffffe6;text-decoration:none}.nav-tab.active{background:#ffffff1a;border-bottom-color:var(--color-accent);color:var(--color-text-white)}.nav-tab-icon{font-size:18px;margin-bottom:4px}.nav-tab-text{font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.nav-tabs{padding:0 var(--spacing-sm)}.nav-tab{min-width:60px;padding:var(--spacing-xs) var(--spacing-sm)}.nav-tab-text{font-size:10px}.nav-tab-icon{font-size:16px}}@media (max-width:480px){.nav-header-right{gap:var(--spacing-sm)}.nav-tab{min-width:50px;padding:var(--spacing-xs)}.nav-tab-text{display:none}.nav-tab-icon{font-size:20px;margin-bottom:0}.main-content{padding-bottom:140px}.page{padding:var(--spacing-sm)}.auth-button,.btn,.create-ride-form button[type=submit],.form-actions,.search-button{margin-bottom:calc(var(--spacing-lg)*2)}}.auth-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-lg);position:relative}.auth-container:after{background:#0000001a}.auth-container:after,.auth-container:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.auth-container:before{background:radial-gradient(circle at 20% 80%,#ffffff1a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffffff1a 0,#0000 50%)}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff;border:1px solid #ffffff80;border-radius:var(--radius-xl);box-shadow:0 25px 50px #00000040;max-width:480px;padding:var(--spacing-3xl) var(--spacing-xl);position:relative;width:100%;z-index:2}.auth-card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-accent));border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-header{margin-bottom:var(--spacing-xl)}.auth-header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.auth-header h1{color:#1a202c;font-family:var(--font-heading);font-size:var(--font-size-h1);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm);text-align:center;text-shadow:0 1px 2px #0000001a}.auth-header p{color:#2d3748;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);margin:0;text-align:center;text-shadow:0 1px 1px #0000000d}.error-message{background:linear-gradient(135deg,#e74c3c1a,#e74c3c0d);border:1px solid #e74c3c33;color:var(--color-danger);font-size:var(--font-size-caption);gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-lg)}.error-message:before{content:"⚠️";font-size:16px}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{grid-gap:var(--spacing-md);gap:var(--spacing-md)}.form-group{position:relative}.form-group label{color:#1a202c;font-family:var(--font-body);font-weight:var(--font-weight-bold);letter-spacing:.3px;margin-bottom:var(--spacing-sm);text-shadow:0 1px 1px #0000001a}.form-group input,.form-group select{background-color:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--font-size-body);min-height:48px;padding:var(--spacing-md);transition:var(--transition-fast)}.form-group input::placeholder,.form-group select::placeholder{color:#4a5568;font-weight:var(--font-weight-medium);opacity:1}.form-group input:focus,.form-group select:focus{background-color:var(--color-bg-card);border-color:var(--color-primary);transform:translateY(-1px)}.form-group input.error,.form-group select.error{background-color:#e74c3c08;border-color:var(--color-danger)}.form-group input.error:focus,.form-group select.error:focus{box-shadow:0 0 0 3px #e74c3c1a}.field-error{align-items:center;color:var(--color-danger);display:flex;font-size:var(--font-size-small);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.field-error:before{color:var(--color-danger);content:"•"}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2395A5A6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--spacing-md) center;background-repeat:no-repeat;cursor:pointer;padding-right:calc(var(--spacing-md)*2.5)}.form-group select:focus{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233498DB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.auth-button{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);justify-content:center;letter-spacing:.5px;min-height:52px;overflow:hidden;padding:var(--spacing-md) var(--spacing-lg);position:relative;text-decoration:none}.auth-button,.auth-button:before{transition:var(--transition-normal)}.auth-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.auth-button:hover:before{left:100%}.auth-button.primary{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-accent) 100%);box-shadow:var(--shadow-md);color:var(--color-text-white)}.auth-button.primary:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.auth-button.primary:active{box-shadow:var(--shadow-md);transform:translateY(0)}.auth-button.secondary{background-color:initial;border:2px solid var(--color-secondary);color:var(--color-secondary)}.auth-button.secondary:hover:not(:disabled){background-color:var(--color-secondary);color:var(--color-text-white);transform:translateY(-1px)}.auth-button:disabled{cursor:not-allowed;opacity:.6;pointer-events:none;transform:none!important}.auth-button:disabled:after{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:var(--radius-full);border-top-color:currentcolor;content:"";height:16px;margin-left:var(--spacing-sm);position:absolute;width:16px}.auth-footer{border-top:1px solid var(--color-border-light);margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);text-align:center}.auth-footer p{color:#2d3748;font-size:var(--font-size-caption);margin:var(--spacing-sm) 0;text-shadow:0 1px 1px #0000000d}.auth-footer a,.auth-footer p{font-weight:var(--font-weight-semibold)}.auth-footer a{color:var(--color-primary);position:relative;text-decoration:none;transition:var(--transition-fast)}.auth-footer a:after{background-color:var(--color-primary);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:var(--transition-fast);width:0}.auth-footer a:hover{color:var(--color-accent);text-decoration:none}.auth-footer a:hover:after{background-color:var(--color-accent);width:100%}.forgot-password{font-size:var(--font-size-small)!important;margin-top:var(--spacing-md)!important}@media (max-width:768px){.auth-container{padding:var(--spacing-md)}.auth-card{border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg)}.auth-header h1{font-size:var(--font-size-h2)}.auth-header-top{align-items:center;flex-direction:column;gap:var(--spacing-md);text-align:center}.form-row{gap:var(--spacing-md);grid-template-columns:1fr}.form-group input,.form-group select{font-size:16px}.auth-button{font-size:var(--font-size-body);padding:var(--spacing-md) var(--spacing-lg)}}@media (max-width:480px){.auth-card{padding:var(--spacing-lg)}.auth-header h1{font-size:24px}.form-group input,.form-group select{min-height:44px;padding:var(--spacing-sm)}}.form-group input:valid:not(.error):not(:placeholder-shown){background-color:#2ecc7108;border-color:var(--color-success)}.form-group input:valid:not(.error):not(:placeholder-shown):focus{box-shadow:0 0 0 3px #2ecc711a}@media (prefers-color-scheme:dark){.auth-card{background:#34495ef2;border-color:#ffffff1a}}@media (prefers-contrast:high){.auth-card{border:2px solid var(--color-text-primary)}.form-group input,.form-group select{border-width:2px}}.profile-page{background-color:#f9f9f9;margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.profile-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.profile-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;padding:30px}.profile-header h1{font-size:2rem;font-weight:300;margin:0}.edit-button{background:#fff3;border:1px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;padding:10px 20px;transition:all .3s ease}.edit-button:hover{background:#ffffff4d;transform:translateY(-2px)}.profile-content{padding:30px}.error-message{border-left:4px solid #c33;border-radius:6px}.success-message{background:#efe;border-left:4px solid #363;border-radius:6px;color:#363;padding:12px}.loading{color:#666;padding:50px}.profile-avatar{margin-bottom:30px;text-align:center}.avatar-image{border:4px solid #667eea;border-radius:50%;box-shadow:0 4px 15px #0003;height:120px;width:120px}.avatar-upload{margin-top:15px}.avatar-input{display:none}.avatar-label{background:#667eea;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background .3s ease}.avatar-label:hover{background:#5a67d8}.profile-info{grid-gap:20px;display:grid;gap:20px;margin-bottom:30px}.info-row{grid-gap:15px;align-items:center;border-bottom:1px solid #eee;display:grid;gap:15px;grid-template-columns:150px 1fr;padding:15px 0}.info-row:last-child{border-bottom:none}.info-row label{color:#4a5568;font-weight:600}.info-row span{color:#2d3748}.rating{align-items:center;display:flex;gap:10px}.rating-stars{font-size:1.2rem}.total-rides{color:#666;font-size:.9rem}.form-input,.form-textarea{border-radius:6px;padding:10px}.vehicles-section{border-top:2px solid #eee;margin-top:40px;padding-top:30px}.vehicles-section h3{color:#2d3748;font-size:1.3rem;margin-bottom:20px}.vehicles-list{grid-gap:15px;display:grid;gap:15px}.vehicle-card{align-items:center;border:2px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:20px;transition:border-color .3s ease}.vehicle-card:hover{border-color:#667eea}.vehicle-info{gap:5px}.vehicle-info strong{font-size:1.1rem}.vehicle-details{color:#666;font-size:.9rem}.vehicle-photo{border-radius:6px;height:60px;object-fit:cover;width:80px}.no-vehicles{color:#666;font-style:italic;padding:30px}.form-actions{border-top:2px solid #eee;justify-content:center;margin-top:30px}.cancel-button,.save-button{border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 30px;transition:all .3s ease}.save-button{background:#667eea;color:#fff}.save-button:hover{background:#5a67d8;transform:translateY(-2px)}.cancel-button{background:#e2e8f0;color:#4a5568}.cancel-button:hover{background:#cbd5e0;transform:translateY(-2px)}@media (max-width:768px){.profile-page{padding:10px}.profile-header{flex-direction:column;gap:15px;padding:20px}.profile-header h1{font-size:1.5rem}.profile-content{padding:20px}.info-row{gap:8px;grid-template-columns:1fr}.info-row label{color:#666;font-size:.9rem}.vehicle-card{gap:15px;text-align:center}.form-actions,.vehicle-card{flex-direction:column}}.booking-chat-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.booking-chat-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.chat-header{background:#f8f9fa;background:var(--background-light,#f8f9fa);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);border-radius:16px 16px 0 0;padding:20px 24px}.chat-header-info h3{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.25rem;font-weight:600;margin:0 0 4px}.booking-route{font-size:.875rem;margin:0}.close-button{font-size:1.75rem;padding:4px}.close-button:hover{background:#e5e5e5;background:var(--background-hover,#e5e5e5);color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.chat-content{display:flex;flex:1 1;flex-direction:column;max-height:calc(80vh - 200px);min-height:400px;overflow:hidden}.chat-error,.chat-loading{align-items:center;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.loading-spinner{border:3px solid #f5f5f5;border-top:3px solid #007bff;border:3px solid var(--background-light,#f5f5f5)}.chat-error{color:#dc3545;color:var(--error-color,#dc3545)}.retry-button{background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;margin-top:12px;padding:8px 16px;transition:background-color .2s ease}.retry-button:hover{background:#0056b3;background:var(--primary-hover,#0056b3)}.messages-container{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:20px}.empty-messages{align-items:center;color:#666;color:var(--text-secondary,#666);display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:center}.empty-messages p{font-size:1rem;font-weight:500;margin:0 0 8px}.empty-messages small{font-size:.875rem;opacity:.8}.message{margin-bottom:8px}.message.sent{justify-content:flex-end}.message.received{justify-content:flex-start}.message-bubble{word-wrap:break-word;animation:messageSlideIn .2s ease-out;border-radius:18px;max-width:70%;min-width:80px;padding:12px 16px;position:relative}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.sent .message-bubble{background:#007bff;background:var(--primary-color,#007bff);border-bottom-right-radius:6px;color:#fff}.received .message-bubble{background:#f1f3f4;background:var(--background-light,#f1f3f4);border-bottom-left-radius:6px;color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.message-content{font-size:.95rem;line-height:1.4;margin-bottom:4px;white-space:pre-wrap}.message-time{opacity:.7;text-align:right}.sent .message-time{color:#fffc}.received .message-time{color:#999;color:var(--text-tertiary,#999)}.chat-input-area{background:#fff;border-radius:0 0 16px 16px;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);padding:16px 20px 20px}.error-message{justify-content:space-between;margin-bottom:12px;padding:8px 12px}.error-dismiss,.error-message{align-items:center;display:flex}.error-dismiss{background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;font-size:1.25rem;height:20px;justify-content:center;padding:0;transition:background-color .2s ease;width:20px}.error-dismiss:hover{background:#cc33331a}.message-form{display:flex;flex-direction:column}.input-container{align-items:flex-end;background:#f8f9fa;background:var(--background-light,#f8f9fa);border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:24px;gap:8px;padding:8px 12px 8px 16px;transition:border-color .2s ease}.input-container:focus-within{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 3px #007bff1a}.message-input{background:none;border:none;flex:1 1;font-family:inherit;font-size:1rem;line-height:1.4;max-height:100px;min-height:24px;outline:none;padding:4px 0;resize:none}.message-input::placeholder{color:#999;color:var(--text-tertiary,#999)}.message-input:disabled{cursor:not-allowed;opacity:.7}.send-button{align-items:center;background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;height:36px;justify-content:center;transition:all .2s ease;width:36px}.send-button:hover:not(:disabled){background:#0056b3;background:var(--primary-hover,#0056b3);transform:scale(1.05)}.send-button:disabled{background:#ccc;background:var(--text-tertiary,#ccc);cursor:not-allowed;transform:none}@media (max-width:768px){.booking-chat-modal{max-height:90vh;width:95%}.chat-header{padding:16px 20px}.chat-header-info h3{font-size:1.125rem}.messages-container{padding:16px}.message-bubble{max-width:80%;padding:10px 14px}.chat-input-area{padding:12px 16px 16px}}@media (max-width:480px){.booking-chat-modal{border-radius:0;height:100%;max-height:100vh;width:100%}.chat-header,.chat-input-area{border-radius:0}.message-bubble{max-width:85%}}.driver-dashboard{background-color:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.dashboard-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;justify-content:space-between;margin-bottom:30px;padding:25px}.dashboard-header h1{color:#1a202c;font-size:2rem;font-weight:600;margin:0}.create-ride-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-ride-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.create-ride-btn.secondary{background:#e2e8f0;box-shadow:0 2px 8px #0000001a;color:#4a5568}.create-ride-btn.secondary:hover{background:#cbd5e0}.dashboard-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:4px;margin-bottom:30px;overflow-x:auto;padding:8px}.tab-button{min-width:120px}.rides-container{min-height:400px}.no-rides{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:80px 20px;text-align:center}.no-rides p{color:#718096;font-size:1.1rem;margin-bottom:30px}.rides-grid{grid-gap:20px;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));max-width:100%;width:100%}@media (max-width:400px){.rides-grid{grid-template-columns:1fr}.ride-details{padding:15px}.detail-row{margin:8px 0}.detail-value{font-size:.85rem}}.ride-card{word-wrap:break-word;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow-wrap:break-word}.ride-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.ride-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;padding:20px}.ride-type{align-items:center;display:flex;gap:8px}.ride-icon{font-size:1.2rem}.ride-type-text{color:#4a5568;font-weight:600;text-transform:capitalize}.status-badge{font-size:.85rem}.status-in-progress{background:#bee3f8;color:#2c5282}.status-completed{background:#e6fffa;color:#234e52}.ride-route{border-bottom:1px solid #f7fafc;padding:20px}.route-address{word-wrap:break-word;line-height:1.4;overflow-wrap:break-word}.ride-details{border-bottom:1px solid #f7fafc;padding:16px}.ride-info{word-wrap:break-word;font-size:.9rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;margin:8px 0;overflow-wrap:break-word}.ride-info strong{color:#718096;font-weight:500}.ride-actions{gap:8px;padding:20px}.action-btn.edit{background:#bee3f8;color:#2c5282}.action-btn.edit:hover{background:#90cdf4}.action-btn.cancel:hover{background:#feb2b2}.ride-description{border-top:1px solid #e2e8f0}.ride-description p{color:#718096;font-style:italic}@media (max-width:768px){.driver-dashboard{padding:10px}.dashboard-header{flex-direction:column;gap:20px;text-align:center}.dashboard-header h1{font-size:1.5rem}.dashboard-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.rides-grid{grid-template-columns:1fr}.detail-row,.ride-actions{flex-direction:column}.detail-row{align-items:flex-start;gap:4px}.detail-value{max-width:100%;text-align:left}}@media (max-width:480px){.ride-header{gap:12px}.ride-header,.route-point{align-items:flex-start;flex-direction:column}.route-point{gap:4px}.route-address{word-wrap:break-word;font-size:.9rem;overflow-wrap:break-word;padding-left:20px}}.booking-requests{background:#f8fafc;border-top:1px solid #e2e8f0}.pending-bookings{border-bottom:1px solid #e2e8f0;padding:15px 20px}.confirmed-bookings{padding:15px 20px}.bookings-title{align-items:center;color:#2d3748;display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0 0 15px}.booking-confirmed,.booking-request{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:15px;justify-content:space-between;margin-bottom:10px;padding:15px}.booking-request{border-left:4px solid #f6ad55}.booking-confirmed{border-left:4px solid #68d391}.booking-info{flex:1 1}.rider-name{color:#2d3748;margin-bottom:8px}.booking-details{color:#4a5568;display:flex;font-size:.9rem;gap:15px;margin-bottom:8px}.special-requests{font-size:.85rem}.booking-actions{flex-shrink:0}.action-btn.accept{background:#c6f6d5;color:#22543d;font-size:.85rem;padding:8px 16px}.action-btn.accept:hover{background:#9ae6b4}.action-btn.reject{background:#fed7d7;color:#c53030;font-size:.85rem;padding:8px 16px}.action-btn.reject:hover{background:#feb2b2}.status-badge.status-confirmed{background:#c6f6d5;border-radius:20px;color:#22543d;font-size:.8rem;font-weight:600;padding:4px 12px}.success-message{padding:12px 20px}.chat-button{align-items:center;background:#007bff;background:var(--primary-color,#007bff);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;margin-left:8px;transition:all .2s ease;width:36px}.chat-button:hover{background:#0056b3;background:var(--primary-hover,#0056b3);transform:scale(1.05)}.booking-status{align-items:center;display:flex;gap:8px}@media (max-width:768px){.booking-confirmed,.booking-request{flex-direction:column;gap:10px}.booking-actions{justify-content:stretch;width:100%}.booking-details{flex-direction:column;gap:4px}}.simple-rides-list{display:flex;flex-direction:column;gap:20px}.simple-ride-item{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.simple-ride-content h3{color:#333;margin:0 0 15px}.simple-ride-content p{line-height:1.4;margin:5px 0}.simple-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.simple-actions button{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.simple-actions button:hover{opacity:.9}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.map-wrapper{border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.map-wrapper .leaflet-container{font-family:var(--font-family)}.custom-marker{background:#0000!important;border:none!important}.map-popup{font-family:var(--font-family);min-width:120px;padding:8px;text-align:center}.map-popup p{font-size:.9rem;line-height:1.4;margin:0}.map-popup strong{color:var(--primary-color);font-weight:600}.ride-route-map{background:var(--background-light)}.ride-route-map .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 4px 12px #00000026}.location-picker{width:100%}.location-picker-info{background:var(--card-background);border:1px solid var(--border-color);border-bottom:none;border-radius:8px 8px 0 0;padding:12px 16px}.location-picker-info p{color:var(--text-muted);font-size:.9rem;margin:0}.selected-coordinates{color:var(--primary-color)!important;font-family:Courier New,monospace!important;font-size:.8rem!important;font-weight:500!important;margin-top:4px!important}.location-picker-map{border-radius:0 0 8px 8px!important;border-top:none!important}.leaflet-control-zoom a{background:var(--card-background)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}.leaflet-control-zoom a:hover{background:var(--background-light)!important;color:var(--primary-color)!important}.leaflet-control-attribution{background:#ffffffe6!important;font-size:10px!important}.map-loading{align-items:center;background:var(--background-light);color:var(--text-muted);display:flex;font-size:.9rem;justify-content:center}.map-loading:before{animation:spin 1s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);content:"";height:20px;margin-right:8px;width:20px}.map-error{align-items:center;background:var(--error-background);border-radius:8px;color:var(--error-color);display:flex;font-size:.9rem;justify-content:center;padding:20px;text-align:center}.map-overlay{display:flex;flex-direction:column;gap:8px;position:absolute;right:10px;top:10px;z-index:1000}.map-control-btn{background:var(--card-background);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;padding:8px;transition:all .2s ease}.map-control-btn:hover{background:var(--background-light);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.map-control-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}@media (max-width:768px){.map-wrapper{border-radius:6px}.location-picker-info{border-radius:6px 6px 0 0;padding:10px 12px}.location-picker-info p{font-size:.85rem}.selected-coordinates{font-size:.75rem!important}.map-popup{min-width:100px;padding:6px}.map-popup p{font-size:.85rem}.map-overlay{right:8px;top:8px}.map-control-btn{font-size:.9rem;padding:6px}}@media (max-width:480px){.map-wrapper{border-radius:4px}.location-picker-info{padding:8px 10px}.map-popup{min-width:80px;padding:4px}.map-popup p{font-size:.8rem}}.map-fullscreen{border-radius:0!important;bottom:0!important;height:100%!important;left:0!important;position:fixed!important;right:0!important;top:0!important;width:100%!important;z-index:9999!important}.map-fullscreen-overlay{background:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.map-legend{background:var(--card-background);border:1px solid var(--border-color);border-radius:6px;bottom:10px;box-shadow:0 2px 4px #0000001a;font-size:.8rem;left:10px;padding:8px 12px;position:absolute;z-index:1000}.map-legend-item{align-items:center;display:flex;gap:6px;margin-bottom:4px}.map-legend-item:last-child{margin-bottom:0}.map-legend-color{border:1px solid var(--border-color);border-radius:2px;height:12px;width:12px}.map-mini{max-height:200px;min-height:150px}.map-mini .leaflet-control-attribution,.map-mini .leaflet-control-zoom{display:none}@media (prefers-color-scheme:dark){.map-wrapper{border-color:var(--border-color-dark)}.leaflet-control-zoom a{background:var(--card-background-dark)!important;border-color:var(--border-color-dark)!important;color:var(--text-primary-dark)!important}.leaflet-control-zoom a:hover{background:var(--background-light-dark)!important}.leaflet-control-attribution{background:#000000b3!important;color:#ffffffb3!important}.map-control-btn{background:var(--card-background-dark);border-color:var(--border-color-dark);color:var(--text-primary-dark)}.map-control-btn:hover{background:var(--background-light-dark)}}.address-autocomplete{position:relative;width:100%}.input-container{align-items:center;display:flex;position:relative}.address-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;outline:none;padding:12px 16px;transition:all .3s ease;width:100%}.address-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.address-input:disabled{background:#f7fafc;color:#a0aec0;cursor:not-allowed}.loading-indicator{align-items:center;display:flex;justify-content:center;position:absolute;right:12px}.spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:20px;width:20px}.suggestions-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #0000001a;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{border-bottom:1px solid #f7fafc;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item.selected,.suggestion-item:hover{background-color:#f7fafc}.suggestion-item.selected{background-color:#e6f3ff}.suggestion-main{color:#2d3748;font-weight:500;margin-bottom:2px}.suggestion-detail{color:#718096;font-size:.875rem;line-height:1.2}@media (max-width:768px){.address-input{font-size:.9rem;padding:10px 14px}.suggestions-list{max-height:250px}.suggestion-item{padding:10px 14px}.suggestion-main{font-size:.9rem}.suggestion-detail{font-size:.8rem}}@media (prefers-contrast:high){.address-input{border-color:#000}.address-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc4d}.suggestions-list{border-color:#000}.suggestion-item.selected{background-color:#06c;color:#fff}}.search-map-section{margin-bottom:var(--spacing-lg)}.location-controls,.map-controls{margin-bottom:var(--spacing-md)}.location-controls{flex-direction:column;gap:var(--spacing-md)}.location-control{gap:var(--spacing-sm)}.location-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:var(--font-weight-medium);padding:var(--spacing-md);transition:var(--transition-fast)}.location-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.location-btn.active{background:var(--color-accent);box-shadow:0 0 0 3px #3498db33}.selected-location{background:var(--color-bg-card);border:2px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-caption);padding:var(--spacing-sm) var(--spacing-md)}.clear-btn{align-items:center;background:var(--color-danger);border-radius:var(--radius-full);color:#fff;display:flex;font-size:12px;height:24px;justify-content:center;transition:var(--transition-fast);width:24px}.clear-btn:hover{transform:scale(1.1)}.map-instructions{margin:var(--spacing-md) 0}.map-instructions p{color:var(--color-text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.map-container{border:2px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}@media (max-width:768px){.location-controls{gap:var(--spacing-sm)}.location-btn{font-size:var(--font-size-caption);padding:var(--spacing-sm)}.selected-location{font-size:var(--font-size-small);padding:var(--spacing-xs) var(--spacing-sm)}}.auto-fill-message{animation:fadeInSlide .3s ease-out;background:linear-gradient(135deg,#10b981,#059669);border-radius:var(--radius-md);box-shadow:0 2px 4px #10b98133;color:#fff;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{background:var(--color-danger)}.error-message,.success-message{border-radius:var(--radius-md);color:#fff;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.success-message{background:var(--color-success)}.create-ride-form{padding:0}.form-section{border-bottom:2px solid #f7fafc;margin-bottom:40px;padding-bottom:30px}.form-section:last-of-type{border-bottom:none;margin-bottom:20px}.form-section h3{align-items:center;color:#2d3748;display:flex;font-size:1.3rem;font-weight:600;gap:10px;margin:0 0 20px}.form-section h3:before{background:#667eea;border-radius:2px;content:"";height:20px;width:4px}.radio-group{grid-gap:12px;display:grid;gap:12px}.radio-option{align-items:flex-start;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:20px;transition:all .3s ease}.radio-option:hover{background:#f8faff;border-color:#667eea}.radio-option input[type=radio]{accent-color:#667eea;margin-top:4px;transform:scale(1.2)}.radio-option input[type=radio]:checked+.radio-text{color:#667eea;font-weight:600}.radio-text{display:flex;flex-direction:column;gap:4px}.radio-text small{color:#718096;font-size:.9rem}.form-group label{font-size:.95rem}.form-group label.checkbox-label{display:flex;margin-bottom:0}.form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.checkbox-label{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;gap:12px;margin:0;padding:12px 16px;transition:all .3s ease}.checkbox-label:hover{background:#edf2f7;border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.checkbox-label input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;margin:0;width:18px}.checkbox-label input[type=checkbox]:checked+span{color:#667eea;font-weight:600}.checkbox-label span{color:#4a5568;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none}.checkbox-label .checkbox-icon{font-size:16px;margin-right:-4px}.no-vehicles{background:#f8fafc;border:2px dashed #cbd5e0;padding:40px 20px}.no-vehicles p{margin-bottom:20px}.link-button{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .3s ease}.link-button:hover{background:#5a67d8}.vehicle-selection{grid-gap:12px;display:grid;gap:12px}.vehicle-option{align-items:center;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:15px;padding:20px;transition:all .3s ease}.vehicle-option:hover{background:#f8faff;border-color:#667eea}.vehicle-option input[type=radio]{accent-color:#667eea;transform:scale(1.2)}.vehicle-option input[type=radio]:checked{border-color:#667eea}.vehicle-info{display:flex;flex-direction:column;gap:4px}.vehicle-info strong{color:#2d3748;font-size:1.05rem}.vehicle-info span{color:#718096;font-size:.9rem}.form-actions{border-top:2px solid #f7fafc;gap:15px;padding-top:30px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:14px 30px;transition:all .3s ease}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.submit-btn:hover:not(:disabled){box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.cancel-btn:disabled,.submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.create-ride-page{padding:10px}.page-header{padding:30px 20px}.page-header h1{font-size:1.8rem}.create-ride-form{padding:20px}.form-section{margin-bottom:30px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column;gap:10px}.cancel-btn,.submit-btn{width:100%}.radio-option,.vehicle-option{padding:15px}}@media (max-width:480px){.page-header h1{font-size:1.5rem}.form-section h3{font-size:1.1rem}.radio-text,.vehicle-info{font-size:.9rem}.form-input,.form-textarea{font-size:.95rem;padding:10px 12px}.recurring-type-options{gap:10px;grid-template-columns:1fr}.weekday-selector{gap:8px;grid-template-columns:repeat(4,1fr)}.time-preset-btn{font-size:.8rem;padding:6px 10px}}.recurring-type-options{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.recurring-option{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px 15px;text-align:center;transition:all .3s ease}.recurring-option:hover{background:#f8faff;border-color:#667eea;transform:translateY(-2px)}.recurring-option.active{background:#f8faff;border-color:#667eea;box-shadow:0 4px 12px #667eea26}.recurring-option .option-icon{font-size:1.5rem;margin-bottom:8px}.recurring-option span:not(.option-icon){color:#2d3748;font-weight:600;margin-bottom:4px}.recurring-option small{color:#718096;font-size:.85rem;line-height:1.3}.weekday-selector{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin-top:10px}.weekday-btn{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;font-weight:500;padding:12px 8px;text-align:center;transition:all .3s ease}.weekday-btn:hover{background:#f8faff;border-color:#667eea}.weekday-btn.selected{background:#667eea;border-color:#667eea;color:#fff}.time-input-group{display:flex;flex-direction:column;gap:15px}.common-times{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.common-times-label{color:#718096;font-size:.9rem;margin-right:8px}.time-preset-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:all .2s ease}.time-preset-btn:hover{background:#f8faff;border-color:#667eea;color:#667eea}.seat-limit-hint{color:#718096;font-size:.8rem;font-weight:400;margin-left:8px}.input-error{background:#fed7d7;border-color:#e53e3e!important}.input-error:focus{box-shadow:0 0 0 3px #e53e3e1a}.input-error-text{color:#e53e3e;display:block;font-size:.8rem;font-weight:500;margin-top:4px}.form-input.valid{border-color:#38a169}.form-input.valid:focus{box-shadow:0 0 0 3px #38a1691a}.vehicle-option.selected{background:#f8faff;border-color:#667eea;box-shadow:0 4px 12px #667eea26}.vehicle-info .capacity-indicator{color:#667eea;font-size:.9rem;font-weight:600}.chat-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.chat-room{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;height:600px;max-height:80vh;max-width:500px;overflow:hidden;width:100%}.chat-header{background:linear-gradient(135deg,#4299e1,#3182ce);color:#fff;flex-shrink:0;justify-content:space-between;padding:20px}.chat-header,.chat-user-info{align-items:center;display:flex}.chat-user-info{gap:12px}.chat-avatar{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:50%;display:flex;font-size:18px;font-weight:700;height:45px;justify-content:center;width:45px}.chat-user-details h3{font-size:1.1rem;font-weight:600;margin:0}.user-role{font-size:.85rem;font-weight:400;opacity:.9}.chat-close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .3s ease;width:36px}.chat-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.chat-messages{background:#f8fafc;flex:1 1;gap:16px;overflow-y:auto;padding:20px}.chat-loading,.chat-messages{display:flex;flex-direction:column}.chat-loading{align-items:center;color:#718096;height:100%;justify-content:center}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#4299e1;height:32px;margin-bottom:12px;width:32px}.chat-error{align-items:center;color:#e53e3e;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.retry-btn{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:12px;padding:8px 16px}.empty-chat{align-items:center;color:#718096;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.empty-chat-icon{font-size:48px;margin-bottom:16px;opacity:.7}.empty-chat p{font-weight:500;margin:8px 0}.empty-chat small{opacity:.8}.message{display:flex;margin-bottom:16px}.message-sent{justify-content:flex-end}.message-received{justify-content:flex-start}.message-content{word-wrap:break-word;border-radius:18px;max-width:75%;padding:12px 16px;position:relative}.message-sent .message-content{background:linear-gradient(135deg,#4299e1,#3182ce);border-bottom-right-radius:6px;color:#fff}.message-received .message-content{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:6px;box-shadow:0 2px 4px #0000000d;color:#2d3748}.message-temp .message-content{opacity:.7}.message-content p{font-size:.95rem;line-height:1.4;margin:0}.message-info{align-items:center;display:flex;font-size:.75rem;justify-content:space-between;margin-top:6px}.message-sent .message-info{color:#fffc}.message-received .message-info{color:#718096}.message-time{font-size:.75rem}.message-status{font-size:.8rem;margin-left:6px}.chat-input-container{background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;padding:16px 20px}.chat-form{width:100%}.chat-input-wrapper{align-items:flex-end;display:flex;gap:12px}.chat-input{border:2px solid #e2e8f0;border-radius:20px;flex:1 1;font-family:inherit;font-size:.95rem;line-height:1.4;max-height:120px;min-height:44px;outline:none;padding:12px 16px;resize:none;transition:all .3s ease}.chat-input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.send-btn{align-items:center;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .3s ease;width:44px}.send-btn:hover:not(:disabled){box-shadow:0 4px 15px #48bb784d;transform:scale(1.1)}.send-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.send-icon{font-size:16px}.chat-input-info{display:flex;justify-content:flex-end;margin-top:6px}.char-count{color:#718096;font-size:.75rem}@media (max-width:768px){.chat-overlay{padding:10px}.chat-room{height:90vh;max-height:none;max-width:none;width:100%}.chat-header{padding:16px}.chat-avatar{font-size:16px;height:40px;width:40px}.chat-user-details h3{font-size:1rem}.user-role{font-size:.8rem}.chat-messages{padding:16px}.message-content{max-width:85%;padding:10px 14px}.chat-input-container{padding:12px 16px}.chat-input{font-size:16px}}@media (max-width:480px){.chat-room{border-radius:0;height:100vh}.chat-overlay{padding:0}}.ride-details-page{background-color:#f8fafc;margin:0 auto;max-width:900px;min-height:100vh;padding:20px}.ride-details-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.page-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:20px;padding:30px}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .3s ease}.back-button:hover{background:#ffffff4d}.page-header h1{font-size:1.8rem;font-weight:600;margin:0}.error-message{border-left:4px solid #c53030}.error-message,.success-message{margin:20px 30px;padding:16px 30px}.success-message{border-left:4px solid #22543d;color:#22543d}.ride-info-card{border-bottom:1px solid #e2e8f0;padding:30px}.ride-route{background:#f8fafc;border-radius:12px;gap:20px;margin-bottom:30px;padding:25px}.route-point{gap:15px}.route-icon{font-size:1.5rem;min-width:24px}.route-details strong{color:#4a5568;display:block;font-size:.9rem;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.route-details p{color:#2d3748;font-size:1.1rem;font-weight:600}.route-line{align-items:center;display:flex;min-width:40px}.route-arrow{font-size:1.5rem}.ride-meta{margin-bottom:30px}.meta-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.meta-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:20px}.meta-icon{font-size:1.3rem;min-width:24px}.meta-item strong{color:#4a5568;display:block;font-size:.9rem;margin-bottom:4px}.meta-item p{color:#2d3748;font-weight:600;margin:0}.meta-item small{color:#718096;font-size:.8rem}.ride-description{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.ride-description h3{color:#4a5568;font-size:1.1rem}.ride-description p{color:#2d3748}.driver-info-card{border-bottom:1px solid #e2e8f0;padding:30px}.driver-info-card h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 20px}.driver-profile{border:1px solid #e2e8f0;gap:20px}.driver-avatar{background:#667eea;font-size:1.5rem;font-weight:600}.driver-details h4{font-size:1.2rem}.rating-stars{color:gold;font-size:1.1rem}.action-section{padding:30px;text-align:center}.book-ride-btn{border-radius:25px;font-size:1.1rem;padding:16px 40px}.view-booking-btn{font-size:1rem;padding:12px 24px}.modal-overlay{background:#00000080}.booking-modal{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{background:#f8fafc;padding:25px 30px}.modal-header h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0}.close-button{color:#718096;font-size:1.5rem;height:30px;width:30px}.close-button:hover{background:#e2e8f0;color:#4a5568}.booking-modal form{padding:30px}.booking-summary{border-radius:10px;margin-bottom:25px;padding:20px}.summary-row{align-items:center;display:flex;justify-content:space-between;margin:10px 0}.summary-row:first-child{margin-top:0}.summary-row:last-child{margin-bottom:0}.summary-row span:first-child{color:#718096;font-weight:500}.summary-row span:last-child{color:#2d3748;font-weight:600}.form-group label{margin-bottom:8px}.form-input,.form-textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-input:focus,.form-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.pricing-summary{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:2px solid #cbd5e0;border-radius:10px;margin:25px 0;padding:20px}.price-row{font-size:1.1rem}.price-row strong{font-size:1.2rem}.modal-actions{justify-content:flex-end;margin-top:25px}.cancel-btn,.confirm-booking-btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:12px 25px;transition:all .3s ease}@media (max-width:768px){.ride-details-page{padding:10px}.page-header{align-items:flex-start;padding:20px}.page-header,.ride-route{flex-direction:column;gap:15px}.route-line{transform:rotate(90deg)}.meta-grid{grid-template-columns:1fr}.driver-profile{flex-direction:column;gap:15px;text-align:center}.modal-overlay{padding:10px}.booking-modal{margin:10px}.booking-modal form,.modal-header{padding:20px}.modal-actions{flex-direction:column;gap:10px}.cancel-btn,.confirm-booking-btn{width:100%}}@media (max-width:480px){.page-header h1{font-size:1.5rem}.route-details p{font-size:1rem}.meta-item{padding:15px}.action-section,.driver-info-card,.ride-info-card{padding:20px}.book-ride-btn{padding:16px;width:100%}}.ride-map-section{background:#f8fafc;border-top:1px solid #e2e8f0;padding:30px}.ride-map-section h3{margin:0 0 20px}.ride-map-section .map-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.cancel-booking-btn{background:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;max-width:200px;padding:12px 24px;transition:all .3s ease;width:100%}.cancel-booking-btn:hover:not(:disabled){background:#c53030;box-shadow:0 4px 15px #e53e3e4d;transform:translateY(-1px)}.cancel-booking-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.ride-details-map{border-radius:12px;height:300px;width:100%}@media (max-width:768px){.ride-map-section{padding:20px}.ride-details-map{height:250px}}.driver-bookings-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.driver-bookings-title{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 20px}.bookings-list{display:flex;flex-direction:column;gap:16px}.booking-card{border:1px solid #e2e8f0;border-radius:8px;padding:16px;transition:all .2s ease}.booking-card.confirmed{background-color:#f0fff4;border-color:#48bb78}.booking-card.pending{background-color:#fff3cd;border-color:#ed8936}.booking-header{margin-bottom:8px}.passenger-info{align-items:center;display:flex;gap:12px}.passenger-info strong{color:#2d3748;font-weight:600}.status-badge{border-radius:4px;color:#fff;font-size:12px}.status-badge.confirmed{background-color:#48bb78}.status-badge.pending{background-color:#ed8936}.seats-info{color:#4a5568;font-weight:500}.special-requests{background-color:#f1f5f9;border-radius:4px;color:#718096;font-size:14px;margin-top:8px;padding:8px}.booking-actions{flex-wrap:wrap;margin-top:12px}.driver-bookings-section .chat-btn,.driver-bookings-section .confirm-btn,.driver-bookings-section .reject-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.driver-bookings-section .confirm-btn{background-color:#48bb78;color:#fff}.driver-bookings-section .confirm-btn:hover:not(:disabled){background-color:#38a169;transform:translateY(-1px)}.driver-bookings-section .reject-btn{background-color:#e53e3e;color:#fff}.driver-bookings-section .reject-btn:hover:not(:disabled){background-color:#c53030;transform:translateY(-1px)}.driver-bookings-section .chat-btn{background-color:#4299e1;color:#fff}.driver-bookings-section .chat-btn:hover:not(:disabled){background-color:#3182ce;transform:translateY(-1px)}.driver-bookings-section .chat-btn:disabled,.driver-bookings-section .confirm-btn:disabled,.driver-bookings-section .reject-btn:disabled{cursor:not-allowed;opacity:.6}.no-bookings{color:#718096;padding:32px 20px}.no-bookings p{font-size:16px;margin:0 0 8px}.no-bookings-desc{font-size:14px!important;opacity:.8}@media (max-width:768px){.driver-bookings-section{padding:16px}.booking-header{align-items:flex-start;gap:8px}.booking-actions,.booking-header{flex-direction:column}.driver-bookings-section .chat-btn,.driver-bookings-section .confirm-btn,.driver-bookings-section .reject-btn{justify-content:center;width:100%}}.modal-overlay{background:#000000b3;overflow-y:auto;z-index:10000!important}.ride-details-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:800px;overflow:hidden;position:relative;width:100%}.floating-close-button{align-items:center;background:#e74c3ce6;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 15px #e74c3c66;color:#fff;cursor:pointer;display:flex;font-size:1.8rem;font-weight:700;height:44px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s ease;width:44px;z-index:10003!important}.floating-close-button:hover{background:#c0392b;box-shadow:0 6px 20px #e74c3c99;transform:scale(1.15)}.modal-header{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:2px solid #e2e8f0;flex-shrink:0;padding:20px 30px;position:-webkit-sticky;position:sticky;top:0;z-index:10001!important}.modal-header h2{font-size:1.4rem}.header-actions{align-items:center;display:flex;gap:12px}.close-text-button{background:#e2e8f0;border:none;border-radius:6px;color:#4a5568;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;position:relative;transition:all .3s ease;z-index:10002!important}.close-text-button:hover{background:#cbd5e0;color:#2d3748}.close-button{background:#e53e3e;box-shadow:0 2px 8px #e53e3e4d;color:#fff;font-size:1.6rem;font-weight:700;height:36px;position:relative;transition:all .3s ease;width:36px;z-index:10002!important}.close-button:hover{background:#c53030;box-shadow:0 4px 15px #e53e3e66;transform:scale(1.1)}.modal-content{flex:1 1;padding:30px}.loading{font-size:1.1rem;padding:40px}.error-message,.success-message{padding:12px 16px}.success-message{background:#c6f6d5;border:1px solid #9ae6b4;border-radius:8px;color:#2f855a;margin-bottom:20px}.ride-route-section{margin-bottom:25px}.route-display{align-items:center;background:#f8fafc;border-left:4px solid #3498db;border-radius:12px;display:flex;gap:20px;padding:20px}.route-icon{font-size:18px}.route-details p{line-height:1.4;margin:0}.route-details p:first-child{color:#2d3748;font-size:14px;font-weight:600}.route-details p:last-child{color:#4a5568;font-size:15px;margin-top:4px}.route-arrow{font-size:24px;min-width:40px}.ride-info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.info-item{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;padding:16px;transition:all .3s ease}.info-item:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.info-icon{font-size:18px;text-align:center;width:24px}.info-item div strong{color:#2d3748;display:block;font-size:14px;margin-bottom:4px}.info-item div p{color:#4a5568;font-size:15px;font-weight:500;margin:0}.driver-info-section{margin-bottom:30px}.driver-info-section h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 15px}.driver-profile{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;gap:16px;padding:20px}.driver-avatar{box-shadow:0 4px 12px #3498db4d;font-size:24px;height:60px;width:60px}.driver-details h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 8px}.driver-rating{gap:8px}.rating-stars{color:#f6ad55;font-size:16px}.rating-value{color:#2d3748;font-weight:600}.rating-count{color:#718096;font-size:.9rem}.ride-map-section{margin-bottom:30px}.ride-map-section h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 15px}.map-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden}.ride-description{margin-bottom:30px}.ride-description h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 15px}.ride-description p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#4a5568;line-height:1.6;margin:0;padding:16px}.modal-actions{background:#f8fafc;flex-shrink:0;padding:20px 30px}.book-ride-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:10px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:14px 32px;transition:all .3s ease;width:100%}.book-ride-btn:hover:not(:disabled){box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}.book-ride-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.already-booked{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:2px solid #b3d4c0;border-radius:12px;padding:20px;text-align:center}.booked-status{margin-bottom:15px}.booked-icon{display:block;font-size:2rem;margin-bottom:10px}.booked-status p{color:#155724;font-size:1.1rem;font-weight:600;margin:0}.view-booking-btn{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;box-shadow:0 2px 8px #28a7454d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .3s ease}.view-booking-btn:hover{box-shadow:0 4px 15px #28a74566;transform:translateY(-2px)}.cannot-book{background:#fed7d7;border:1px solid #feb2b2;border-radius:10px;padding:20px;text-align:center}.cannot-book p{color:#c53030;font-weight:500;margin:0}.booking-form-section{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin-top:20px;padding:25px}.booking-form-section h3{color:#2d3748;font-size:1.2rem;font-weight:600;margin:0 0 20px;text-align:center}.booking-actions{gap:12px;margin-top:20px}.booking-actions .cancel-btn{background:#e2e8f0;border:none;border-radius:8px;color:#4a5568;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .3s ease}.booking-actions .cancel-btn:hover:not(:disabled){background:#cbd5e0}.booking-actions .confirm-booking-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;flex:2 1;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .3s ease}.booking-actions .confirm-booking-btn:hover:not(:disabled){box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}.booking-actions .cancel-btn:disabled,.booking-actions .confirm-booking-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.booking-form-section .form-group{margin-bottom:20px}.booking-form-section .form-group label{color:#4a5568;display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.booking-form-section .form-select,.booking-form-section .form-textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:12px 15px;transition:border-color .3s ease;width:100%}.booking-form-section .form-select:focus,.booking-form-section .form-textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.booking-form-section .form-textarea{min-height:80px;resize:vertical}.booking-summary{background:#edf2f7;padding:15px}.booking-summary p{color:#4a5568;margin:5px 0}.pricing-summary{background:#f0fff4;border:1px solid #c6f6d5;margin-bottom:20px;padding:15px}.price-row{color:#22543d;font-weight:500}.booking-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:16px}.booking-summary p{line-height:1.4;margin:0}.booking-summary p:first-child{color:#2d3748;font-weight:600}.booking-summary p:last-child{color:#718096;font-size:.9rem;margin-top:4px}.form-group{margin-bottom:20px}.form-group label{color:#2d3748;display:block;font-weight:500}.form-select,.form-textarea{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;transition:border-color .3s ease;width:100%}.form-select:focus,.form-textarea:focus{border-color:#3498db;outline:none}.form-textarea{font-family:inherit;min-height:80px;resize:vertical}.pricing-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:20px 0;padding:16px}.price-row{align-items:center;display:flex;justify-content:space-between}.price-row span{color:#4a5568}.price-row strong{color:#2d3748;font-size:1.1rem}.cancel-btn{background:#e2e8f0;border:none;border-radius:8px;color:#4a5568;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .3s ease}.cancel-btn:hover:not(:disabled){background:#cbd5e0}.confirm-booking-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;box-shadow:0 4px 15px #48bb784d;color:#fff;cursor:pointer;flex:2 1;font-size:.9rem;font-weight:500;padding:12px 20px;transition:all .3s ease}.confirm-booking-btn:hover:not(:disabled){box-shadow:0 6px 20px #48bb7866;transform:translateY(-2px)}.cancel-btn:disabled,.confirm-booking-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:20px 10px 10px}.ride-details-modal{margin:0;max-height:95vh;max-width:none;width:calc(100% - 20px)}.modal-header{padding:15px 20px;position:relative}.modal-header h2{flex:1 1;font-size:1.2rem;padding-right:10px}.header-actions{flex-shrink:0;gap:8px}.close-text-button{font-size:.8rem;padding:6px 12px}.close-button{font-size:1.4rem;height:32px;width:32px}.modal-content{padding:20px}.route-display{flex-direction:column;gap:15px;padding:15px}.route-arrow{font-size:20px;transform:rotate(90deg)}.ride-info-grid{gap:15px;grid-template-columns:1fr}.info-item{padding:12px}.driver-profile{flex-direction:column;gap:15px;padding:15px;text-align:center}.driver-avatar{font-size:20px;height:50px;margin:0 auto;width:50px}.modal-actions{padding:15px 20px}.book-ride-btn{font-size:.9rem;padding:12px 24px}.cancel-btn,.confirm-booking-btn{width:100%}}@media (max-width:480px){.modal-header h2{font-size:1.2rem}.route-details p{font-size:14px}.info-item{padding:12px}.modal-actions{padding:15px 20px}.book-ride-btn{padding:12px 24px}}.search-page{box-sizing:border-box;margin:0 auto;max-width:1200px;padding:20px}.ride-status-tag{position:absolute;right:15px;top:15px;z-index:2}.status-tag{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:600;gap:5px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-tag.scheduled{background:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.status-tag.needs-driver{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.search-page *,.search-page :after,.search-page :before{box-sizing:border-box}.search-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.search-header{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;padding:40px 30px;text-align:center}.search-header h1{font-size:32px;font-weight:600;margin:0 0 10px}.search-header p{font-size:18px;margin:0;opacity:.9}.search-content{padding:30px}.address-input-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:20px;padding:24px}.address-inputs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:16px}.address-group{display:flex;flex-direction:column}.address-group label{color:#4a5568;font-size:.9rem;font-weight:600;margin-bottom:8px}.input-help-text{border-top:1px solid #f0f0f0;color:#718096;font-size:.85rem;padding:12px 0 0;text-align:center}.input-help-text p{margin:0}@media (max-width:768px){.address-inputs{gap:16px;grid-template-columns:1fr}.address-input-section{margin-bottom:16px;padding:20px}}.search-map-section{background:#fff;border:2px solid #e9ecef;border-radius:12px;margin-bottom:30px;overflow:hidden}.map-controls{background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:20px}.location-controls{display:flex;gap:20px;margin-bottom:15px}.location-control{display:flex;flex:1 1;flex-direction:column;gap:10px}.location-btn{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px;transition:all .3s ease}.location-btn:hover{background:#f0f8ff;border-color:#3498db}.location-btn.active{background:#3498db;border-color:#3498db;color:#fff}.selected-location{align-items:center;background:#e8f5e8;border:1px solid #27ae60;border-radius:6px;display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:8px 12px}.selected-location span{color:#27ae60;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clear-btn{background:none;border:none;border-radius:3px;color:#e74c3c;cursor:pointer;font-size:14px;padding:2px;transition:background-color .2s ease}.clear-btn:hover{background:#e74c3c1a}.map-instructions{color:#666;font-size:14px;font-style:italic;text-align:center}.map-instructions p{margin:0}.map-container{position:relative}.search-map{border-radius:0}.search-form-section{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;margin-bottom:30px;padding:30px}.search-form-section h2{color:#333;font-size:24px;margin:0 0 25px}.search-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:20px;gap:20px}.form-group{gap:8px}.form-group label{color:#333;font-size:14px}.form-group input,.form-group select{background:#fff;border:2px solid #e1e8ed;border-radius:8px;font-size:16px;padding:14px 16px;transition:border-color .3s ease}.form-group select{-ms-expand:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:16px;padding-right:40px}.form-group select::-ms-expand{display:none!important}.form-group select::-webkit-inner-spin-button,.form-group select::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0}.form-group select::-moz-focus-inner{border:0}.form-group select::-ms-value{background:#0000;color:inherit}.form-group select option{background:#fff;color:#333}select{-webkit-appearance:none!important;appearance:none!important}select:not([class*=form-]):not([class*=custom-]){background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;background-size:16px;padding-right:40px}select::-ms-expand{display:none!important}select::-webkit-inner-spin-button,select::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0}.flexibility-slider-container{margin-top:10px;position:relative}.flexibility-labels{color:#666;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px}.flex-label.strict{color:#e74c3c;font-weight:500}.flex-label.flexible{color:#27ae60;font-weight:500}.flexibility-slider{-webkit-appearance:none;appearance:none;background:#e9ecef;border-radius:3px;cursor:pointer;height:6px;outline:none;position:relative;width:100%}.flexibility-slider:before{background:linear-gradient(90deg,#e74c3c 0,#e74c3c 12.5%,#f39c12 0,#f39c12 25%,#f1c40f 0,#f1c40f 37.5%,#2ecc71 0,#2ecc71 50%,#2ecc71 0,#2ecc71 62.5%,#27ae60 0,#27ae60 75%,#27ae60 0,#27ae60 87.5%,#8e44ad 0,#8e44ad);border-radius:1px;content:"";height:2px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.flexibility-slider-container:after{background:repeating-linear-gradient(90deg,#ccc 0,#ccc 1px,#0000 0,#0000 12.5%);content:"";height:1px;left:0;position:absolute;right:0;top:28px}.flexibility-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3498db;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:20px;-webkit-transition:all .3s ease;transition:all .3s ease;width:20px}.flexibility-slider::-webkit-slider-thumb:hover{background:#2980b9;box-shadow:0 3px 8px #0000004d;transform:scale(1.1)}.flexibility-slider::-moz-range-thumb{background:#3498db;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0003;cursor:pointer;height:20px;-moz-transition:all .3s ease;transition:all .3s ease;width:20px}.flexibility-slider::-moz-range-thumb:hover{background:#2980b9;box-shadow:0 3px 8px #0000004d;transform:scale(1.1)}.flexibility-display{margin-top:10px;text-align:center}.flexibility-value{background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#495057;display:inline-block;font-size:13px;font-weight:600;min-width:120px;padding:6px 16px}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;font-weight:500;padding:15px 20px;text-align:center}.search-button{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;margin-top:10px;padding:16px 32px;transition:all .3s ease}.search-button:hover:not(:disabled){box-shadow:0 6px 20px #3498db4d;transform:translateY(-2px)}.search-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.search-results-section{background:#fff;border:2px solid #e9ecef;border-radius:12px}.results-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;padding:20px 30px}.results-header h2{color:#333;font-size:22px;margin:0}.results-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.filtering-indicator,.sorting-indicator{display:inline-block}.sorting-badge{background:linear-gradient(135deg,#3498db,#2980b9);box-shadow:0 2px 4px #3498db33}.filtering-badge,.sorting-badge{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.filtering-badge{background:linear-gradient(135deg,#e67e22,#d35400);box-shadow:0 2px 4px #e67e2233}.no-results{color:#666;padding:60px 30px;text-align:center}.no-results p{font-size:18px;margin-bottom:30px}.cta-button{background:linear-gradient(135deg,#27ae60,#229954);border-radius:8px;display:inline-block;font-size:16px;font-weight:500;padding:14px 28px;transition:all .3s ease}.cta-button,.cta-button:hover{color:#fff;text-decoration:none}.cta-button:hover{box-shadow:0 4px 15px #27ae604d;transform:translateY(-2px)}.results-list{padding:30px}.results-list,.ride-card{display:flex;flex-direction:column;gap:20px;max-width:100%;overflow:hidden;width:100%}.ride-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;box-sizing:border-box;margin-bottom:20px;padding:25px;position:relative;transition:all .3s ease}.ride-card:hover{border-color:#3498db;box-shadow:0 4px 20px #3498db26;transform:translateY(-2px)}.ride-header{align-items:flex-start;display:flex;gap:25px;justify-content:space-between;min-width:0;overflow:hidden}.ride-info{flex:1 1;flex-direction:column}.ride-info,.ride-middle{display:flex;gap:20px;min-width:0;overflow:hidden}.ride-middle{align-items:flex-start}.ride-route{align-items:center;background:#f8f9fa;border-left:4px solid #3498db;border-radius:10px;box-sizing:border-box;display:flex;gap:15px;min-width:0;padding:15px}.route-point{flex:1 1;gap:8px;min-width:0;overflow:hidden}.route-icon{font-size:16px}.route-address{color:#333;flex-shrink:1;font-size:15px;font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-arrow{color:#3498db;font-size:20px;font-weight:700;min-width:30px}.ride-details{grid-gap:15px;display:grid;flex:1 1;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;gap:10px;padding:10px}.detail-icon{font-size:16px;text-align:center;width:20px}.detail-text{color:#333;font-size:14px;font-weight:500}.driver-info{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-top:10px;padding:15px;transition:all .3s ease}.driver-info .driver-section{align-items:center;display:flex;flex:1 1;gap:12px}.ride-card:hover .driver-info{background:linear-gradient(135deg,#fff,#f8f9fa);border-color:#3498db;box-shadow:0 2px 10px #3498db1a}.driver-avatar{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:3px solid #fff;border-radius:50%;box-shadow:0 3px 10px #3498db4d;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:50px;justify-content:center;width:50px}.driver-details{display:flex;flex-direction:column;gap:4px}.driver-name{color:#2c3e50;font-size:17px;font-weight:700;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-rating{align-items:center;color:#f39c12;display:flex;font-size:14px;font-weight:600;gap:4px}.driver-actions{flex-shrink:0}.driver-actions .view-details-button{font-size:13px;margin:0;min-width:100px;padding:8px 16px}.ride-map{border:2px solid #e9ecef;border-radius:8px;flex-shrink:0;height:160px;overflow:hidden;transition:all .3s ease;width:240px}.ride-card:hover .ride-map{border-color:#3498db;box-shadow:0 2px 10px #3498db33}.map-placeholder{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;color:#6c757d;display:flex;height:100%;justify-content:center;width:100%}.map-placeholder-content{align-items:center;display:flex;flex-direction:column;gap:8px;text-align:center}.map-placeholder-content span{font-size:24px;opacity:.7}.map-placeholder-content p{font-size:14px;font-weight:500;margin:0}.map-placeholder-content small{font-size:12px;opacity:.7}.ride-actions{align-self:flex-start;display:flex;flex-direction:column;gap:10px;min-width:140px}.view-details-button{background:linear-gradient(135deg,#3498db,#2980b9);border:none;border-radius:8px;box-shadow:0 2px 8px #3498db33;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:500;padding:12px 20px;text-align:center;text-decoration:none;transition:all .3s ease;white-space:nowrap}.view-details-button:hover{box-shadow:0 4px 15px #3498db4d;color:#fff;text-decoration:none;transform:translateY(-1px)}@media (max-width:768px){.search-page{padding:10px}.search-header{padding:30px 20px}.search-header h1{font-size:28px}.search-content,.search-form-section{padding:20px}.form-row{gap:15px;grid-template-columns:1fr}.ride-header{align-items:stretch;flex-direction:column;gap:20px}.ride-middle{flex-direction:column;gap:15px}.ride-map{height:180px;width:100%}.ride-route{flex-direction:column;gap:10px;text-align:center}.route-arrow{transform:rotate(90deg)}.ride-details{gap:10px;grid-template-columns:1fr}.ride-actions{min-width:auto}.driver-info{flex-direction:column;gap:15px;text-align:center}.driver-section{justify-content:center}.driver-actions .view-details-button{padding:10px 16px;width:100%}.results-list{padding:20px}.location-controls{flex-direction:column;gap:15px}.map-controls{padding:15px}}@media (max-width:480px){.search-header h1{font-size:24px}.search-header p{font-size:16px}.search-form-section{padding:15px}.ride-card{padding:20px}.ride-route{padding:12px}.route-address{font-size:14px;max-width:150px}.detail-text{font-size:13px}}.rider-bookings{background-color:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.bookings-header{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:25px;text-align:center}.bookings-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:2rem;font-weight:600;margin:0}.bookings-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:4px;margin-bottom:30px;padding:8px}.tab-button{background:#0000;border:none;border-radius:8px;color:#718096;cursor:pointer;flex:1 1;font-weight:500;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.tab-button.active{background:#667eea;color:#fff;transform:translateY(-1px)}.tab-button:hover:not(.active){background:#edf2f7;color:#4a5568}.bookings-container{min-height:400px}.no-bookings{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:80px 20px;text-align:center}.no-bookings-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-bookings h3{color:#4a5568;font-size:1.3rem;margin-bottom:10px}.no-bookings p{color:#718096;font-size:1.1rem;margin-bottom:30px}.search-rides-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s ease}.search-rides-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bookings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.booking-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s ease}.booking-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.booking-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px}.booking-id{color:#4a5568;font-size:.9rem;font-weight:600;letter-spacing:.5px}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:6px 12px}.status-pending{background:#feebc8;color:#c05621}.status-confirmed{background:#c6f6d5;color:#22543d}.status-completed{background:#bee3f8;color:#2c5282}.status-cancelled{background:#fed7d7;color:#c53030}.booking-route{border-bottom:1px solid #f7fafc;padding:20px}.route-point{align-items:center;display:flex;gap:12px;margin:8px 0}.route-icon{font-size:1.1rem;min-width:20px}.route-address{color:#4a5568;flex:1 1;font-weight:500}.route-arrow{color:#a0aec0;font-size:1.2rem;margin:8px 0;text-align:center}.booking-details{border-bottom:1px solid #f7fafc;padding:20px}.special-requests{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:20px}.special-requests strong{color:#4a5568;display:block;font-size:.9rem;margin-bottom:8px}.special-requests p{color:#2d3748;font-style:italic;line-height:1.5;margin:0}.booking-actions{border-bottom:1px solid #f7fafc;display:flex;gap:8px;padding:20px}.action-btn.view{background:#e2e8f0;color:#4a5568}.action-btn.view:hover{background:#cbd5e0}.action-btn.cancel{background:#fed7d7;color:#c53030}.action-btn.cancel:hover:not(:disabled){background:#feb2b2}.action-btn.review{background:#fbb6ce;color:#b83280}.action-btn.review:hover{background:#f687b3}.booking-footer{background:#f8fafc;padding:15px 20px;text-align:center}.booking-footer small{color:#718096;font-size:.85rem}@media (max-width:768px){.rider-bookings{padding:10px}.bookings-header{padding:20px 15px}.bookings-header h1{font-size:1.5rem}.bookings-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.bookings-grid{grid-template-columns:1fr}.booking-actions{flex-direction:column}.booking-details,.booking-route{padding:15px}.booking-header{align-items:flex-start;flex-direction:column;gap:10px;padding:15px}}@media (max-width:480px){.no-bookings{padding:60px 15px}.no-bookings-icon{font-size:3rem}.route-point{align-items:flex-start;flex-direction:column;gap:4px}.route-address{font-size:.9rem;padding-left:20px}.detail-row{flex-direction:column;gap:6px}.detail-content{padding-left:20px}}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:24px}.modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;font-size:1.5rem;padding:4px;transition:all .2s ease}.modal-close:hover{background:#f7fafc;color:#4a5568}.vehicle-form{padding:24px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.form-group{display:flex;flex-direction:column;margin-bottom:16px}.form-group label{color:#4a5568;font-size:.9rem;font-weight:600;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:12px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.form-group textarea{font-family:inherit;min-height:80px;resize:vertical}.error-message{font-size:.9rem}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:12px;margin-top:24px;padding-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary{background:#e2e8f0;color:#4a5568}.btn-secondary:hover:not(:disabled){background:#cbd5e0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #667eea66}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6;transform:none}@media (max-width:640px){.modal-overlay{padding:10px}.modal-content{max-height:95vh}.modal-header{padding:20px}.modal-header h2{font-size:1.3rem}.vehicle-form{padding:20px}.form-row{gap:12px;grid-template-columns:1fr}.form-group,.form-row{margin-bottom:12px}.modal-actions{flex-direction:column}}@media (max-width:480px){.modal-overlay{padding:5px}.modal-header,.vehicle-form{padding:16px}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;padding:10px}}.vehicles-header{align-items:center;display:flex;justify-content:flex-end;margin-bottom:var(--spacing-lg)}.add-vehicle-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.add-vehicle-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.error-message{background:#fed7d7;border:1px solid #feb2b2;color:#c53030;margin-bottom:20px;padding:16px}.loading{color:#718096;font-size:1.2rem;padding:60px;text-align:center}.no-vehicles{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:80px 20px;text-align:center}.no-vehicles-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-vehicles h3{color:#4a5568;font-size:1.3rem;margin-bottom:10px}.no-vehicles p{color:#718096;font-size:1.1rem;margin-bottom:30px}.add-first-vehicle-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:all .3s ease}.add-first-vehicle-btn:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.vehicles-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.vehicle-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;transition:all .3s ease}.vehicle-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-4px)}.vehicle-header{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px}.vehicle-main h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 5px}.vehicle-year{color:#718096;font-size:.9rem;margin:0}.vehicle-status{align-items:center;display:flex}.status-active{background:#c6f6d5;color:#22543d}.status-active,.status-inactive{border-radius:12px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-inactive{background:#fed7d7;color:#c53030}.vehicle-details{padding:20px}.detail-row{align-items:flex-start;display:flex;gap:12px;margin:12px 0}.detail-icon{font-size:1rem;margin-top:2px;min-width:20px}.detail-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.detail-content strong{color:#718096;font-size:.9rem;font-weight:500}.detail-content span{color:#2d3748;font-weight:600}.vehicle-actions{border-top:1px solid #f7fafc;display:flex;gap:8px;padding:20px}.action-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px 16px;transition:all .3s ease}.action-btn.edit{background:#e2e8f0;color:#4a5568}.action-btn.edit:hover{background:#cbd5e0}.action-btn.delete{background:#fed7d7;color:#c53030}.action-btn.delete:hover:not(:disabled){background:#feb2b2}.action-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.vehicle-manager{padding:10px}.vehicles-header{align-items:stretch;flex-direction:column;gap:15px;padding:20px 15px}.vehicles-header h1{font-size:1.5rem;text-align:center}.vehicles-grid{grid-template-columns:1fr}.vehicle-actions{flex-direction:column}.vehicle-details,.vehicle-header{padding:15px}}@media (max-width:480px){.no-vehicles{padding:60px 15px}.no-vehicles-icon{font-size:3rem}.detail-row{flex-direction:column;gap:6px}.detail-content{padding-left:20px}}.review-form-overlay{align-items:center;animation:fadeIn .3s ease-in-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.review-form-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.review-form-header{align-items:center;border-bottom:1px solid #e5e5e5;display:flex;justify-content:space-between;padding:24px 24px 0}.review-form-header h3{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.5rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.close-button:hover:not(:disabled){background:#f5f5f5;background:var(--background-hover,#f5f5f5);color:#1a1a1a;color:var(--text-primary,#1a1a1a)}.close-button:disabled{cursor:not-allowed;opacity:.5}.review-form-content{max-height:calc(90vh - 120px);overflow-y:auto;padding:24px}.booking-info{background:#f9f9f9;background:var(--background-light,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:12px;margin-bottom:24px;padding:16px}.reviewee-info{align-items:center;display:flex;gap:12px}.reviewee-details h4{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.125rem;font-weight:600;margin:0 0 8px}.booking-route{color:#666;color:var(--text-secondary,#666);font-weight:500;margin:4px 0}.booking-date{color:#999;color:var(--text-tertiary,#999);font-size:.875rem;margin:4px 0 0}.review-form{gap:20px}.rating-section,.review-form{display:flex;flex-direction:column}.rating-section{gap:8px}.rating-section label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:600;margin-bottom:4px}.star-rating{display:flex;gap:4px;margin-bottom:4px}.star-button{background:none;border:none;border-radius:4px;cursor:pointer;filter:grayscale(100%) opacity(.4);font-size:2rem;padding:4px;transition:all .2s ease}.star-button.active,.star-button:hover:not(:disabled){filter:none;transform:scale(1.1)}.star-button:disabled{cursor:not-allowed}.rating-text{color:#666;color:var(--text-secondary,#666);font-size:.875rem;margin:0;min-height:1.2em}.comment-section{display:flex;flex-direction:column;gap:8px}.comment-section label{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-weight:600}.comment-section textarea{border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:12px;font-family:inherit;font-size:1rem;min-height:100px;padding:12px;resize:vertical;transition:border-color .2s ease}.comment-section textarea:focus{border-color:#007bff;border-color:var(--primary-color,#007bff);box-shadow:0 0 0 3px #007bff1a;outline:none}.comment-section textarea:disabled{background:#f5f5f5;background:var(--background-disabled,#f5f5f5);cursor:not-allowed}.character-count{color:#999;color:var(--text-tertiary,#999);font-size:.75rem;text-align:right}.form-actions{border-top:1px solid #e5e5e5;border-top:1px solid var(--border-color,#e5e5e5);display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px}.btn{min-width:100px}.btn-secondary{background:#f5f5f5;background:var(--background-light,#f5f5f5);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);color:#666;color:var(--text-secondary,#666)}.btn-secondary:hover:not(:disabled){background:#e5e5e5;background:var(--background-hover,#e5e5e5);border-color:#ccc;border-color:var(--border-hover,#ccc)}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;font-size:.875rem;margin-bottom:8px;padding:12px}@media (max-width:480px){.review-form-modal{margin:20px 0;width:95%}.review-form-header{padding:16px 16px 0}.review-form-content{padding:16px}.form-actions{flex-direction:column}.btn{width:100%}.star-button{font-size:1.5rem}}.pending-reviews-page{margin:0 auto;max-width:1200px;padding:24px}.empty-state p{margin:0}.pending-reviews-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.pending-review-card{background:#fff;border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:16px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:20px;padding:24px;transition:all .2s ease}.pending-review-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-1px)}.booking-info{gap:16px}.booking-info,.route-info{display:flex;flex-direction:column}.route-info{gap:4px}.route{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.date{color:#999;color:var(--text-tertiary,#999);font-size:.875rem;font-weight:500;margin:0}.user-info{align-items:center;background:#f9f9f9;background:var(--background-light,#f9f9f9);border:1px solid #f0f0f0;border:1px solid var(--border-light,#f0f0f0);border-radius:12px;display:flex;gap:12px;padding:16px}.user-avatar{flex-shrink:0;height:48px;overflow:hidden;width:48px}.avatar-image{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:#007bff;background:var(--primary-color,#007bff);color:#fff;display:flex;font-size:1.25rem;font-weight:600;height:100%;justify-content:center;width:100%}.user-details{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.user-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.125rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:#666;color:var(--text-secondary,#666);font-size:.875rem;margin:0;text-transform:capitalize}.card-actions{display:flex;justify-content:center;margin-top:auto}.btn{border-radius:12px;font-weight:600;min-width:120px}.btn-primary:hover:not(:disabled){background:#0056b3;background:var(--primary-hover,#0056b3);box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}@media (max-width:768px){.pending-reviews-page{padding:16px}.page-header h1{font-size:1.75rem}.page-description{font-size:1rem}.pending-reviews-grid{gap:16px;grid-template-columns:1fr}.pending-review-card{padding:20px}.route{font-size:1.125rem}.user-info{padding:12px}.user-avatar{height:40px;width:40px}.avatar-placeholder{font-size:1rem}}@media (max-width:480px){.pending-reviews-page{padding:12px}.pending-review-card{padding:16px}.route{font-size:1rem;line-height:1.4}}.messages-page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:24px}.page-header{margin-bottom:32px;text-align:center}.page-header h1{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:2rem;font-weight:700;margin:0 0 12px}.page-description{color:#666;color:var(--text-secondary,#666);font-size:1.125rem;line-height:1.5;margin:0 auto;max-width:600px}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f5f5f5;border-top:4px solid #007bff;border:4px solid var(--background-light,#f5f5f5);border-radius:50%;border-top-color:var(--primary-color,#007bff);height:40px;margin-bottom:16px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-container{color:#dc3545;color:var(--error-color,#dc3545)}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:24px;opacity:.6}.empty-state h3{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.5rem;font-weight:600;margin:0 0 12px}.empty-state p{color:#666;color:var(--text-secondary,#666);font-size:1rem;line-height:1.5;margin:0 0 24px;max-width:400px}.empty-state-actions{align-items:center;display:flex;flex-direction:column;gap:24px;width:100%}.empty-state-tip{background:#f8f9fa;background:var(--background-light,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:12px;max-width:500px;padding:20px;text-align:left}.empty-state-tip p{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:.95rem;margin:0 0 12px}.empty-state-tip ul{list-style:none;margin:0;padding-left:16px}.empty-state-tip li{color:#666;color:var(--text-secondary,#666);font-size:.9rem;line-height:1.4;margin:8px 0}.conversations-list{background-color:#e0e0e0;background-color:var(--border-color,#e0e0e0);border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:1px;overflow:hidden}.conversation-item{align-items:center;background:#fff;cursor:pointer;display:flex;gap:16px;padding:20px;position:relative;transition:all .2s ease}.conversation-item:hover{background-color:#f8f9fa;background-color:var(--background-light,#f8f9fa);transform:translateX(2px)}.conversation-item:active{transform:translateX(1px)}.conversation-avatar{flex-shrink:0;position:relative}.user-avatar{object-fit:cover}.user-avatar,.user-avatar-placeholder{border:2px solid #e0e0e0;border:2px solid var(--border-color,#e0e0e0);border-radius:50%;height:56px;width:56px}.user-avatar-placeholder{background:linear-gradient(135deg,#007bff,#28a745);background:linear-gradient(135deg,var(--primary-color,#007bff),var(--accent-color,#28a745));color:#fff;font-size:1.25rem;font-weight:600}.user-avatar-placeholder,.user-type-icon{align-items:center;display:flex;justify-content:center}.user-type-icon{background:#fff;border:2px solid #fff;border-radius:50%;bottom:-2px;box-shadow:0 1px 3px #0003;font-size:.75rem;height:20px;position:absolute;right:-2px;width:20px}.conversation-content{flex:1 1;min-width:0}.conversation-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.conversation-info{align-items:center;display:flex;flex:1 1;gap:12px;min-width:0}.other-user-name{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.125rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{color:#666;color:var(--text-secondary,#666);flex-shrink:0;font-size:.875rem;white-space:nowrap}.conversation-meta{align-items:center;display:flex;flex-shrink:0;gap:8px}.status-badge{border-radius:12px;font-size:.75rem;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.status-pending{background-color:#fff3cd;color:#856404}.status-confirmed{background-color:#d1ecf1;color:#0c5460}.status-completed{background-color:#d4edda;color:#155724}.status-cancelled{background-color:#f8d7da;color:#721c24}.status-inquiry{background-color:#e2e3e5;color:#383d41}.unread-badge{align-items:center;background:#dc3545;background:var(--error-color,#dc3545);border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.conversation-details{margin-bottom:8px}.ride-route{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:.95rem;font-weight:500;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ride-date{color:#666;color:var(--text-secondary,#666);font-size:.875rem;margin:0}.last-message{margin-top:8px}.message-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.conversation-arrow,.message-preview{color:#666;color:var(--text-secondary,#666)}.conversation-arrow{flex-shrink:0;font-size:1.25rem;font-weight:300;opacity:.5;transition:all .2s ease}.conversation-item:hover .conversation-arrow{color:#007bff;color:var(--primary-color,#007bff);opacity:1}@media (max-width:768px){.messages-page{padding:16px}.conversation-item{gap:12px;padding:16px}.user-avatar,.user-avatar-placeholder{height:48px;width:48px}.user-type-icon{font-size:.7rem;height:18px;width:18px}.other-user-name{font-size:1rem}.conversation-header{align-items:flex-start;flex-direction:column;gap:8px}.conversation-info{width:100%}.conversation-meta{align-self:flex-end}}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .2s ease}.btn-primary{background:#007bff;background:var(--primary-color,#007bff);color:#fff}.btn-primary:hover{background:#0056b3;background:var(--primary-color-dark,#0056b3);transform:translateY(-1px)}.mode-switcher{align-items:center;display:flex;margin-right:15px}.mode-switcher-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:25px;display:flex;padding:3px}.mode-btn{align-items:center;background:#0000;border:none;border-radius:20px;color:#ffffffb3;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;justify-content:center;min-width:70px;padding:8px 12px;transition:all .3s ease}.mode-btn:hover{background:#ffffff1a;color:#ffffffe6}.mode-btn.active{background:#fff3;box-shadow:0 2px 8px #0000001a;color:#fff}.mode-btn:disabled{cursor:not-allowed;opacity:.4}.mode-btn:disabled:hover{background:#0000;color:#ffffffb3}.mode-icon{font-size:14px}.mode-text{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.mode-switcher{margin-right:10px}.mode-btn{min-width:60px;padding:6px 8px}.mode-text{display:none}.mode-icon{font-size:16px}}@media (max-width:480px){.mode-switcher{margin-right:5px}.mode-btn{min-width:40px;padding:4px 6px}}