body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}#root{height:100vh}.map-container{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100vh;perspective:1000;transform:translateZ(0);width:100%;will-change:transform}.leaflet-container{background:#f8f9fa;transform:translateZ(0)}.custom-marker{background:#6b21a8;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;height:20px;width:20px}.start-marker{background:#10b981!important}.end-marker{background:#ef4444!important}.leaflet-routing-container{display:none!important}.leaflet-popup-content{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.4}.leaflet-popup-content-wrapper{border-radius:8px}:root{--primary-color:#6b21a8;--primary-light:#8b5cf6;--primary-dark:#581c87;--background:#fff;--text-color:#1f2937;--text-light:#6b7280;--border:#e5e7eb;--success:#10b981;--error:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.container,.floating-button,.info-button,.plus-button,.profile-button{background-color:#6b21a8;background-color:var(--primary-color)}.floating-button,.info-button,.plus-button,.profile-button{align-items:center;border:none;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;justify-content:center;position:absolute;transition:transform .2s ease}.info-button:hover:hover,.plus-button:hover,.profile-button:hover{background-color:#8b5cf6;transform:scale(1.05)}.profile-button{top:20px}.plus-button,.profile-button{height:48px;right:20px;width:48px}.plus-button{top:80px}.info-button{bottom:30px;height:48px;right:20px;width:48px}.map-mode-button{background:#0000;border:2.5px solid #fff;border-radius:50px;bottom:30px;box-shadow:0 2px 8px #00000073;cursor:pointer;display:flex;flex-direction:column;height:45px;left:20px;overflow:hidden;padding:0;position:absolute;transition:transform .18s ease,box-shadow .18s ease;width:45px;z-index:1000}.map-mode-button:hover{box-shadow:0 4px 14px #00000080;transform:scale(1.07)}.map-mode-thumb{display:block;flex:1 1;object-fit:cover;vertical-align:top;width:100%}.map-mode-label{background:#0000009e;color:#fff;display:block;font-size:10px;font-weight:700;letter-spacing:.3px;line-height:1;padding:3px 0;text-align:center;text-transform:uppercase;width:100%}.floating-button{bottom:30px}.app-title-top-left{color:#6b21a8;font-size:20px;font-weight:700;left:50px;position:absolute;top:20px;z-index:1000}.app-title-top-left h4{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0}@media (max-width:1023px){.app-title-top-left{display:none}}.search-button-inner{align-items:center;background-color:#6b21a8;background-color:var(--primary-color);border:none;border-radius:50%;box-shadow:0 2px 6px #0000004d;cursor:pointer;display:flex;height:56px;justify-content:center;width:56px}.modal-overlay,.route-overlay,.search-overlay{align-items:flex-end;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.modal,.route-modal,.search-modal{background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;max-height:80vh;max-width:800px;overflow:hidden;padding:20px;width:100%}.modal{max-height:70vh;max-width:500px}.modal-header,.route-header,.search-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.app-title{color:#6b21a8;color:var(--primary-color);font-size:24px;font-weight:700;margin:0}.route-name{margin:0}.modal-title{color:#1f2937;color:var(--text-color);font-size:20px;font-weight:700;margin:0}.header-buttons{gap:10px}.close-button{background:none;padding:8px}.clear-history-button{background:none;border:1px solid #6b21a8;border:1px solid var(--primary-color);border-radius:8px;color:#6b21a8;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:background-color .2s ease,color .2s ease}.clear-history-button:hover{background:#6b21a8;background:var(--primary-color);color:#fff}.new-search-button{background-color:#6b21a8;background-color:var(--primary-color);border-radius:50%;padding:12px}.auth-form{width:100%}.auth-title{color:#1f2937;color:var(--text-color);font-size:22px;font-weight:800;letter-spacing:-.3px;margin-bottom:24px;text-align:center}.auth-name-row{display:flex;gap:10px;margin-bottom:0}.auth-name-row .auth-input-container{flex:1 1;min-width:0}.auth-input-container{align-items:center;background-color:#f3f4f6;border:1.5px solid #0000;border-radius:12px;display:flex;margin-bottom:12px;padding:12px 15px;transition:border-color .2s ease,box-shadow .2s ease}.auth-input-container:focus-within{background-color:#fff;border-color:#8b5cf6;border-color:var(--primary-light);box-shadow:0 0 0 3px #6b21a814}.auth-input-field{background:#0000;border:none;color:#1f2937;color:var(--text-color);flex:1 1;font-size:16px;margin-left:10px;min-width:0;outline:none}.auth-input-field::placeholder,.input-clear-btn{color:#6b7280;color:var(--text-light)}.input-clear-btn{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:2px 4px;transition:background-color .15s,color .15s}.input-clear-btn:hover{background-color:#e5e7eb;color:#1f2937;color:var(--text-color)}.auth-button{background-color:#6b21a8;background-color:var(--primary-color);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;letter-spacing:.2px;margin:20px 0 10px;padding:14px;transition:background-color .2s ease,transform .1s ease;width:100%}.auth-button:hover{background-color:#581c87;background-color:var(--primary-dark);transform:translateY(-1px)}.auth-button:active{transform:translateY(0)}.auth-button:disabled{background-color:#6b7280;background-color:var(--text-light);cursor:not-allowed;transform:none}.auth-switch{background:none;border:none;color:#6b21a8;color:var(--primary-color);cursor:pointer;font-size:13px;font-weight:600;padding:6px 0;text-align:center;transition:opacity .15s;width:100%}.auth-switch:hover{opacity:.75}.input-row{align-items:center;display:flex;gap:8px;margin-bottom:16px}.input-container{background-color:#f3f4f6;border:1.5px solid #0000;border-radius:12px;min-height:50px;padding:12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input-container:focus-within{background-color:#fff;border-color:#8b5cf6;border-color:var(--primary-light);box-shadow:0 0 0 3px #6b21a814}.input{font-size:16px;margin-left:8px;min-width:0}.swap-button{background-color:#f3f4f6;border:1.5px solid #e5e7eb;border:1.5px solid var(--border);border-radius:20px;height:40px;transition:background-color .2s ease,transform .2s ease;width:40px}.swap-button:hover{background-color:#e5e7eb}.search-button{background-color:#6b21a8;background-color:var(--primary-color);border-radius:25px;gap:8px;margin-top:8px;padding:16px;transition:background-color .2s ease,transform .1s ease}.search-button:hover:not(:disabled){background-color:#581c87;background-color:var(--primary-dark);transform:translateY(-1px)}.search-button:active:not(:disabled){transform:translateY(0)}@media (max-width:768px){.input-row{flex-wrap:wrap;gap:8px}.input-container-start{flex:1 1 85%;margin-left:-10%;order:1;width:90%}.swap-button{margin-left:91%;margin-top:-60px;order:2}.input-container:not(.input-container-start){flex:1 1 100%;order:3;width:100%}.auth-name-row{flex-direction:row;gap:10px}}@media (max-width:360px){.auth-name-row{flex-direction:column;gap:0}}.auth-banner{background-color:#6b21a8;background-color:var(--primary-color);border-radius:8px;margin-bottom:16px;padding:12px}.auth-banner-text{flex:1 1;margin-left:8px}.auth-banner-button{background-color:#fff;border:none;border-radius:6px;color:#6b21a8;color:var(--primary-color);padding:6px 12px;transition:background-color .2s ease}.auth-banner-button:hover{background-color:#f3f4f6}.route-summary{background-color:#f8fafc;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:16px;padding:16px}.summary-item{align-items:center;display:flex;flex:1 1;flex-direction:column}.summary-value{font-size:14px}.stops-list{margin-top:16px}.stop-item{margin-bottom:16px}.stop-marker{margin-right:12px}.stop-dot{background-color:#6b21a8;background-color:var(--primary-color);border-radius:12px;height:24px;width:24px}.start-dot{background-color:#10b981;background-color:var(--success)}.end-dot{background-color:#ef4444;background-color:var(--error)}.stop-number{font-size:10px}.stop-line{background-color:#e5e7eb;margin-top:4px}.stop-info{border-bottom:1px solid #f3f4f6;padding-bottom:16px}.stop-name{display:block;font-size:14px;margin-bottom:4px}.stop-type{font-size:11px;font-weight:500}.user-info{border-bottom:1px solid #f3f4f6;flex-direction:column;margin-bottom:30px;padding-bottom:20px}.avatar,.user-info{align-items:center;display:flex}.avatar{background-color:#6b21a8;background-color:var(--primary-color);border-radius:40px;box-shadow:0 3px 5px #6b21a8d0;height:80px;justify-content:center;margin-bottom:16px;width:80px}.avatar-text{color:#fff;font-size:24px;font-weight:700}.user-name{color:#1f2937;color:var(--text-color);font-size:20px;font-weight:700;margin-bottom:4px;text-align:center}.user-email{color:#6b7280;color:var(--text-light);font-size:14px;text-align:center}.sign-out-button{background-color:#ef4444;background-color:var(--error);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background-color .2s ease;width:100%}.sign-out-button:hover{background-color:#dc2626}.modal-content{max-height:50vh;overflow-y:auto}.floating-button{left:50%;transform:translateX(-50%)}@media (max-width:768px){.modal,.route-modal,.search-modal{border-radius:20px 20px 0 0;margin:0}.input-row{flex-direction:column;gap:12px}.swap-button{align-self:center;order:3}.route-summary{flex-direction:column;gap:12px}.profile-button{top:40px;z-index:100}.plus-button{top:100px;z-index:1}.floating-button{bottom:80px}.info-button{bottom:80px;right:20px}.map-mode-button{bottom:80px;left:20px}.clear-history-button{align-self:center;margin-left:20px}}.cedi-icon{display:inline-block;font-size:18px;line-height:1}.reconnect-toast{align-items:center;background:#000000bf;border-radius:999px;color:#fff;display:flex;font-size:13px;gap:8px;left:50%;padding:8px 14px;position:absolute;top:16px;transform:translateX(-50%);z-index:12000}.reconnect-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.suggestions-container{border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:8px;max-height:200px;overflow-y:auto}.suggestion-item{border-bottom:1px solid #f0f0f0;padding:12px}.suggestion-item:hover{background-color:#f8f9fa}.suggestion-item:last-child{border-bottom:none}.loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1002}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#6b21a8;border-top:4px solid var(--primary-color);height:40px;width:40px}.search-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.profile-options{padding:0 10px}.profile-option{box-shadow:0 5px 10px 1px #0000001a}.route-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.route-name{flex:1 1;font-size:18px;margin:0 12px 0 0}@media (max-width:768px){.floating-bottom-sheet{margin:20px;width:95%}.floating-bottom-sheet.search-sheet{max-height:400px}.floating-bottom-sheet.route-sheet{max-height:500px}}@media (max-width:480px){.floating-bottom-sheet{border-radius:16px}.floating-bottom-sheet-content{padding:16px}}.profile-option{transition:background-color .2s ease}.info-modal{max-width:500px}.info-section-title{font-size:18px}.info-section-title,.info-text{color:#1f2937;color:var(--text-color)}.feature-list{display:flex;flex-direction:column;gap:12px}.feature-item{gap:12px}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:#eff6ff;border-radius:8px;flex-shrink:0;height:32px;justify-content:center;width:32px}.feature-text{color:#1f2937;color:var(--text-color);font-size:14px}.contact-list{display:flex;flex-direction:column;gap:12px}.contact-item{align-items:center;background:#f8fafc;border-radius:8px;display:flex;gap:12px;padding:12px}.contact-text{color:#1f2937;color:var(--text-color);font-size:14px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{cursor:pointer;flex-direction:column;padding:16px;text-align:left}.history-route-name{color:#1f2937;color:var(--text-color);font-size:16px;font-weight:600;margin-bottom:4px}.history-date{color:#6b7280;color:var(--text-light);font-size:12px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-state-title{color:#1f2937;color:var(--text-color);font-size:18px;font-weight:600;margin:16px 0 8px}.empty-state-text{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.5}.route-options-container{margin-bottom:16px}.route-options-title{margin-bottom:8px}.route-option{background-color:#f3f4f6;border:none;border-radius:20px;padding:8px 16px}.route-option:hover{background-color:#e5e7eb}.route-option-selected{background-color:#6b21a8;background-color:var(--primary-color)}.route-option-subtext{font-size:10px}@media (max-width:768px){.bottom-sheet{border-radius:20px 20px 0 0;margin:0}.modal{margin:0}}.bottom-sheet-overlay{align-items:flex-end;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:#00000061;display:flex;inset:0;justify-content:center;position:fixed}.bottom-sheet{animation:sheetSlideUp .38s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -8px 32px #6b21a81a,0 -2px 8px #0000000f;display:flex;flex-direction:column;max-width:820px;overflow:hidden;width:100%;will-change:height}.bottom-sheet.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}@keyframes sheetSlideUp{0%{opacity:.7;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.sheet-drag-handle{align-items:center;background:#fff;border-radius:24px 24px 0 0;border-top:2px solid #6b21a814;cursor:grab;display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:10px 0 4px;touch-action:none}.bottom-sheet.is-dragging .sheet-drag-handle,.sheet-drag-handle:active{cursor:grabbing}.drag-pill{background:#d1d5db;border-radius:100px;height:5px;transition:background .2s ease,width .2s ease;width:44px}.bottom-sheet.is-dragging .drag-pill,.sheet-drag-handle:hover .drag-pill{background:#8b5cf6;background:var(--primary-light);width:56px}.bottom-sheet-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:0 20px 8px}.sheet-header{align-items:flex-start;border-bottom:1.5px solid #f1f5f9;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:14px;padding:12px 0 14px}.header-content{flex:1 1;min-width:0}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6b21a8 30%,#8b5cf6);background:linear-gradient(135deg,var(--primary-color) 30%,var(--primary-light));-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800;line-height:1.2;margin:0 0 2px}.app-subtitle{color:#6b7280;color:var(--text-light);font-size:13px;font-weight:500;margin:0}.route-name{color:#1f2937;color:var(--text-color);font-size:20px;font-weight:700;line-height:1.25;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-subtitle{color:#6b7280;color:var(--text-light);font-size:13px;font-weight:500;margin:0}.modal-overlay.non-blocking .modal{pointer-events:auto}.map-container{position:relative;z-index:1}.search-card{background:#f8fafc;border:1.5px solid #f1f5f9;border-radius:20px;box-shadow:0 2px 12px #6b21a80a;margin-bottom:18px;padding:20px}.input-container{align-items:center;background:#fff;border:2px solid #f1f5f9;border-radius:14px;box-shadow:0 1px 6px #0000000a;display:flex;flex:1 1;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease}.input-container:focus-within{border-color:#6b21a8;border-color:var(--primary-color);box-shadow:0 4px 14px #6b21a81f}.input-icon{align-items:center;display:flex;flex-shrink:0;margin-right:10px}.input{background:#0000;border:none;color:#1f2937;color:var(--text-color);flex:1 1;font-size:15px;font-weight:500;outline:none}.route-summary-cards{display:flex;gap:10px;margin-bottom:18px}.summary-card{background:#f8fafc;border:1.5px solid #f1f5f9;box-shadow:0 1px 6px #6b21a80a;flex:1 1;gap:10px;padding:12px 10px;transition:box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 14px #6b21a817}.summary-icon{background:#6b21a812;border-radius:10px;height:36px;width:36px}.summary-content{min-width:0}.summary-label{font-size:11px;font-weight:600;letter-spacing:.3px;margin-bottom:2px;text-transform:uppercase}.summary-value{font-size:15px;white-space:nowrap}.swipe-indicator{flex-shrink:0;padding:6px 0 4px}.swipe-indicator-button{background:#6b21a80f;border-radius:10px;color:#6b21a8;color:var(--primary-color);font-weight:600;gap:6px;justify-content:center;padding:8px 14px;transition:background .2s ease;width:100%}.swipe-indicator-button:hover{background:#6b21a81f}.status-indicator.connected{background:#10b981;background:var(--success);box-shadow:0 0 0 2px #10b98133}.status-indicator.disconnected{background:#9ca3af}.profile-options{margin-top:20px}.profile-option{align-items:center;background:#f8fafc;border:none;border-radius:12px;cursor:pointer;display:flex;margin-bottom:12px;padding:16px;transition:background .2s ease;width:100%}.profile-option:hover{background:#f1f5f9}.profile-option-text{color:#1f2937;color:var(--text-color);font-size:16px;font-weight:500;margin-left:12px}.sign-out-option{background:#fef2f2;justify-content:center;margin-top:20px}.sign-out-option:hover{background:#fee2e2}.sign-out-text{color:#ef4444;color:var(--error);font-size:16px;font-weight:600}.floating-button,.info-button,.plus-button,.profile-button{z-index:1000}.modal-overlay{z-index:1003}.bottom-sheet-overlay{z-index:1002}.loading-overlay{z-index:1005}@media (max-width:768px){.bottom-sheet{border-radius:20px 20px 0 0}.modal{margin:0}}.input::placeholder{color:#6b7280;color:var(--text-light);font-weight:400}.swap-button{align-items:center;background:#fff;border:2px solid #f1f5f9;border-radius:14px;box-shadow:0 2px 8px #0000000a;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s ease;width:44px}.swap-button:hover{border-color:#6b21a8;border-color:var(--primary-color);transform:rotate(180deg)}.suggestions-container{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 12px #00000014;margin-bottom:16px;overflow:hidden}.suggestion-item{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:background-color .2s ease;width:100%}.suggestion-item:hover{background:#f8fafc}.suggestion-item:not(:last-child){border-bottom:1px solid #f1f5f9}.suggestion-text{color:#1f2937;color:var(--text-color);font-size:14px;font-weight:500}.search-button{align-items:center;background:linear-gradient(135deg,#6b21a8,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border:none;border-radius:16px;box-shadow:0 4px 16px #6b21a84d;cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;padding:18px 24px;transition:all .3s ease;width:100%}.search-button:hover:not(:disabled){box-shadow:0 6px 20px #6b21a866;transform:translateY(-2px)}.search-button:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed;transform:none}.search-button-text{color:#fff;font-size:16px;font-weight:600}.route-summary-cards{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.summary-card{align-items:center;background:#fff;border:1px solid #f1f5f9;border-radius:16px;display:flex;gap:12px;padding:10px;transition:transform .2s ease}.summary-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.summary-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#ede9fe);border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.summary-content{display:flex;flex-direction:column}.summary-label{color:#6b7280;color:var(--text-light);font-size:12px;font-weight:500;margin-bottom:4px}.summary-value{color:#1f2937;color:var(--text-color);font-size:16px;font-weight:700}.route-options-container{margin-bottom:24px}.route-options-title{color:#1f2937;color:var(--text-color);font-size:16px;font-weight:600;margin-bottom:12px}.route-options{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.route-option{align-items:center;background:#fff;border:2px solid #f1f5f9;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;min-width:100px;padding:12px 16px;transition:all .2s ease;white-space:nowrap}.route-option:hover{border-color:#8b5cf6;border-color:var(--primary-light)}.route-option-selected{background:#6b21a8;background:var(--primary-color);border-color:#6b21a8;border-color:var(--primary-color);color:#fff}.route-option-text{font-size:14px;font-weight:600}.route-option-text-selected{color:#fff}.route-option-subtext{color:#6b7280;color:var(--text-light);font-size:11px;margin-top:2px}.route-option-selected .route-option-subtext{color:#fffc}.stops-list{margin-bottom:24px}.stops-title{gap:8px;justify-content:space-between;margin-bottom:12px}.stops-timeline{background:#fff;border:1px solid #f1f5f9;border-radius:20px;padding:20px}.stop-item{align-items:flex-start;display:flex;margin-bottom:20px}.stop-item:last-child{margin-bottom:0}.stop-marker{flex-direction:column;margin-right:16px}.stop-dot,.stop-marker{align-items:center;display:flex;position:relative}.stop-dot{background:#6b21a8;background:var(--primary-color);border-radius:50%;box-shadow:0 4px 8px #6b21a833;height:32px;justify-content:center;width:32px;z-index:2}.start-dot{background:#10b981;background:var(--success)}.end-dot{background:#ef4444;background:var(--error)}.stop-number{color:#fff;font-size:12px;font-weight:700}.stop-line{background:linear-gradient(180deg,#e5e7eb,#e5e7eb 50%,#0000 0);background-size:2px 8px;flex:1 1;margin-top:8px;width:2px}.stop-info{background:#f8fafc;border-left:4px solid #6b21a8;border-left:4px solid var(--primary-color);border-radius:12px;flex:1 1;padding:12px 16px}.stop-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:6px}.stop-name{color:#1f2937;color:var(--text-color);flex:1 1;font-size:15px;font-weight:600}.stop-fare{background:#ede9fe;border-radius:6px;color:#6b21a8;color:var(--primary-color);font-size:14px;font-weight:700;margin-left:8px;padding:4px 8px}.stop-distance{color:#6b7280;color:var(--text-light);display:block;font-size:13px;margin-bottom:4px}.stop-type{color:#6b21a8;color:var(--primary-color);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.route-actions{display:flex;gap:12px}.share-button{align-items:center;background:linear-gradient(135deg,#6b21a8,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .2s ease}.share-button:hover{box-shadow:0 4px 12px #6b21a84d;transform:translateY(-1px)}.auth-banner{align-items:center;background:linear-gradient(135deg,#6b21a8,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:16px;box-shadow:0 4px 12px #6b21a833;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px 20px}.auth-banner-content{align-items:center;display:flex;gap:10px}.auth-banner-text{color:#fff;font-size:14px;font-weight:500}.auth-banner-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.auth-banner-button:hover{background:#ffffff4d}.welcome-banner{background:linear-gradient(135deg,#10b981,#34d399);background:linear-gradient(135deg,var(--success),#34d399);border-radius:16px;box-shadow:0 4px 12px #10b98133;margin-bottom:20px;padding:16px 20px;text-align:center}.welcome-text{color:#fff;font-size:14px;font-weight:600}.quick-auth-section{align-items:center;background:#f8fafc;border-radius:16px;display:flex;gap:12px;justify-content:center;margin-top:20px;padding:20px}.quick-auth-text{color:#6b7280;color:var(--text-light);font-size:14px}.quick-auth-button{background:#0000;border:2px solid #6b21a8;border:2px solid var(--primary-color);border-radius:8px;color:#6b21a8;color:var(--primary-color);cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.quick-auth-button:hover{background:#6b21a8;background:var(--primary-color);color:#fff}.close-button{align-items:center;background:#f8fafc;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:8px;padding:10px;transition:all .2s ease}.close-button:hover{background:#f1f5f9;transform:scale(1.05)}.new-search-button{align-items:center;background:#6b21a8;background:var(--primary-color);border:none;border-radius:12px;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:10px;transition:all .2s ease}.new-search-button:hover{background:#581c87;background:var(--primary-dark);transform:scale(1.05)}@media (max-width:768px){.bottom-sheet{border-radius:24px 24px 0 0;margin:0}.bottom-sheet-content{padding:0 16px 16px}.search-card{padding:20px}.input-row{flex-direction:column;gap:12px}.swap-button{align-self:center;order:3;transform:rotate(90deg)}.swap-button:hover{transform:rotate(270deg)}.route-summary-cards{grid-template-columns:1fr}}.bottom-sheet-content::-webkit-scrollbar{width:6px}.bottom-sheet-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.bottom-sheet-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.bottom-sheet-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.info-button.info-button-dimmed{opacity:.3}.info-button.info-button-dimmed button{cursor:not-allowed}.route-actions{display:none}.info-button{transition:opacity .3s ease}.floating-button,.plus-button,.profile-button{opacity:1!important}.auth-forgot-password{background:none;border:none;color:#6b21a8;color:var(--primary-color);cursor:pointer;font-size:14px;margin:10px 0;text-align:center;text-decoration:underline;width:100%}.auth-forgot-password:disabled{cursor:not-allowed;opacity:.6}.forgot-password-panel{animation:fp-panel-in .22s ease;background-color:#f9f5ff;border:1.5px solid #8b5cf6;border:1.5px solid var(--primary-light);border-radius:12px;margin:4px 0 8px;padding:16px}@keyframes fp-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.forgot-password-label{color:#6b7280;color:var(--text-light);font-size:13px;margin-bottom:10px}.forgot-password-send-btn{background-color:#6b21a8;background-color:var(--primary-color);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-top:4px;padding:11px 0;transition:background-color .2s ease,transform .1s ease;width:100%}.forgot-password-send-btn:hover{background-color:#581c87;background-color:var(--primary-dark);transform:translateY(-1px)}.forgot-password-send-btn--disabled{background-color:#6b7280;background-color:var(--text-light);cursor:not-allowed;transform:none}.forgot-password-success{align-items:center;display:flex;flex-direction:column;gap:10px;text-align:center}.forgot-password-success-text{color:#1f2937;color:var(--text-color);font-size:13px;line-height:1.5}.forgot-password-done-btn{background-color:#10b981;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:9px 28px;transition:background-color .2s ease}.forgot-password-done-btn:hover{background-color:#059669}.info-grid{grid-gap:20px;gap:20px;grid-template-columns:1fr;margin:20px 0}@media (min-width:768px){.info-grid{grid-template-columns:1fr 1fr}}.info-column{display:flex;flex-direction:column;gap:20px}.info-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px}.info-text{font-size:14px;line-height:1.6}.info-item{flex-direction:column;gap:4px}.info-label{font-size:13px;font-weight:500}.info-value{font-size:15px}.info-grid-small{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:480px){.info-grid-small{grid-template-columns:1fr 1fr}}.amenity-tag{align-items:center;display:inline-flex;padding:6px 12px}.amenity-tag:nth-child(2n){background-color:#f0f9ff;color:#0c4a6e}.amenity-tag:nth-child(3n){background-color:#dbeafe;color:#1e40af}.info-empty{color:#9ca3af;font-size:14px;font-style:italic}.route-info .sheet-header .header-content h2{color:#6b21a8}@media (max-width:480px){.info-section{padding:12px}.info-section-title{font-size:15px}.info-text{font-size:13px}.info-value{font-size:14px}.input-container{width:100%}.input-container-start{margin-left:-15%;width:85%}.swap-button{margin-left:85%;margin-top:-60px}}.no-route-info{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.no-info-icon{margin-bottom:20px;opacity:.5}.no-info-title{color:#374151;font-size:18px;font-weight:600;margin-bottom:8px}.no-info-text{color:#6b7280;font-size:15px;line-height:1.5;margin-bottom:8px}.no-info-subtext{color:#9ca3af;font-size:13px;font-style:italic}.info-empty-state{color:#9ca3af;font-style:italic;padding:8px 0}.route-details,.route-info{transition:transform .3s ease}.route-details.slide-left{transform:translateX(-100%)}.route-info.slide-right{transform:translateX(100%)}.info-toggle-button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.info-toggle-button:hover{background-color:#0000000d}.swipe-indicator{bottom:20px;display:flex;justify-content:center;left:0;position:absolute;right:0;z-index:10}.swipe-indicator-button{align-items:center;background:#3b82f6e6;border:none;border-radius:20px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:8px 16px;transition:background-color .2s}.swipe-indicator-button:hover{background:#3b82f6}.route-info-content{padding:16px}.info-section{margin-bottom:24px}.info-section-title{align-items:center;color:#374151;display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:12px}.info-text{color:#6b7280;line-height:1.5}.info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:8px 0}.info-label{color:#6b7280;font-size:14px}.info-value{color:#111827;font-weight:500}.amenities-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.amenity-tag{background-color:#e0f2fe;border-radius:16px;color:#0369a1;font-size:12px;font-weight:500;padding:4px 12px}.route-details,.route-info{height:100%;overflow-y:auto;position:relative}.sheet-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.header-buttons{align-items:center;display:flex;gap:8px}.refresh-button{align-items:center;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background-color .2s}.refresh-button:hover{background-color:#3b82f61a}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.refresh-button .spinning{animation:spin 1s linear infinite}.refresh-corner-button{align-items:center;background-color:#3b82f6e6;border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;cursor:pointer;display:flex;display:none;height:48px;justify-content:center;position:absolute;right:16px;top:80px;transition:all .2s;width:48px;z-index:1000}.refresh-corner-button:hover{background-color:#2563eb;transform:scale(1.05)}.refresh-corner-button:disabled{cursor:not-allowed;opacity:.7}.refresh-corner-button .spinning{animation:spin 1s linear infinite}.refresh-indicator{align-items:center;background-color:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;display:flex;font-size:12px;justify-content:space-between;margin:0 16px 16px;padding:8px 12px}.refresh-text{color:#3b82f6;font-weight:500}.refreshing-text{animation:pulse 1.5s ease-in-out infinite;color:#22c55e;font-weight:600}.info-grid,.route-options-container,.route-summary-cards,.stops-list{transition:opacity .3s ease}.route-details,.route-info{transition:all .3s ease}.realtime-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;display:flex;gap:6px;padding:4px 8px}.status-indicator{border-radius:50%;height:8px;transition:all .3s ease;width:8px}.status-indicator.connected{animation:pulse 2s infinite;background-color:#10b981;box-shadow:0 0 0 3px #10b98133}.status-indicator.disconnected{background-color:#ef4444}.status-text{color:#fff;font-size:12px;font-weight:500}.realtime-status-corner-indicator{padding:6px;right:155px}.realtime-status-corner,.realtime-status-corner-indicator{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid #ffffff1a;border-radius:16px;display:flex;gap:6px;position:absolute;top:25px;z-index:1000}.realtime-status-corner{padding:6px 10px;right:80px}.realtime-indicator{margin:0 16px 16px}.realtime-indicator,.realtime-update-indicator{align-items:center;background-color:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px}.realtime-update-indicator{margin:16px}.realtime-text{color:#3b82f6;font-weight:500}.update-time{color:#6b7280;font-size:11px;margin-left:auto}.realtime-active{animation:pulse 2s infinite;color:#10b981}.header-actions{align-items:center;display:flex;gap:8px}.loading-overlay{display:none}.container{height:100vh;position:relative;width:100%}.bottom-sheet,.floating-button,.info-button,.modal-overlay,.plus-button,.profile-button{animation:none!important;transition:opacity .3s ease,transform .3s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-button-disabled{cursor:not-allowed;opacity:.7}.route-details,.route-info,.search-section{transition:opacity .2s ease}#root,body{height:100vh;overflow:hidden;width:100vw}.fade-out,.slide-down{display:none}.realtime-badge{border-radius:12px;font-size:12px;gap:4px;padding:4px 8px}.realtime-badge,.realtime-badge-small{align-items:center;background:#22c55e1a;color:#22c55e;display:flex;font-weight:500}.realtime-badge-small{border-radius:8px;font-size:11px;gap:3px;padding:2px 6px}.realtime-active{color:#22c55e}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.typing-indicator{color:#6b7280;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.realtime-hint{align-items:center;background:#3b82f60d;border-radius:8px;color:#6b7280;display:flex;font-size:12px;gap:6px;margin-top:12px;padding:8px}.live-updates-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:16px;overflow:hidden}.live-updates-header{align-items:center;background:#f1f5f9;color:#334155;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 16px}.live-updates-list{max-height:120px;overflow-y:auto}.live-update-item{border-bottom:1px solid #e2e8f0;display:flex;font-size:12px;justify-content:space-between;padding:8px 16px}.live-update-item:last-child{border-bottom:none}.update-type{color:#475569;font-weight:500}.update-time{color:#94a3b8}.suggestions-header{align-items:center;color:#64748b;display:flex;font-size:12px;font-weight:500;justify-content:space-between;margin-bottom:8px}.history-info{align-items:center;background:#3b82f60d;border-radius:8px;color:#475569;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:12px}.history-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;margin-bottom:8px;padding:12px;transition:all .2s;width:100%}.history-item:hover{background:#f8fafc;border-color:#cbd5e1}.modal-header-right{align-items:center;display:flex;gap:8px}.recent-searches-title{font-size:16px;font-weight:600;margin-bottom:12px}.recent-searches-list{gap:8px}.recent-search-item{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:12px;transition:all .2s ease}.recent-search-item:hover{background:#f1f5f9;border-color:#8b5cf6;border-color:var(--primary-light)}.recent-search-text{flex:1 1;font-weight:500}.recent-search-date{font-size:12px}.download-app-modal{max-width:420px}.download-app-content{align-items:center;display:flex;flex-direction:column;padding:8px 0 16px;text-align:center}.download-app-icon{align-items:center;background:linear-gradient(135deg,#6b21a8,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:24px;box-shadow:0 8px 24px #6b21a84d;display:flex;height:80px;justify-content:center;margin-bottom:20px;width:80px}.download-app-heading{color:#1f2937;color:var(--text-color);font-size:20px;font-weight:700;margin:0 0 12px}.download-app-text{color:#6b7280;color:var(--text-light);font-size:14px;line-height:1.6;margin:0 0 28px;max-width:320px}.download-app-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.store-button{align-items:center;border-radius:14px;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.store-button:hover{box-shadow:0 6px 18px #0000002e;transform:translateY(-2px)}.store-button-ios{background:#000;color:#fff}.store-button-android{background:#6b21a8;background:var(--primary-color);color:#fff}.history-item{align-items:center;background:#f8fafc;border:none;border-radius:12px;display:flex;flex-direction:row;overflow:hidden;padding:0;transition:background-color .2s ease}.history-item:hover{background:#f1f5f9}.history-item-content{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:4px;padding:14px 16px;text-align:left}.history-item-content:hover{background:#0000}.history-delete-button{align-items:center;align-self:stretch;background:#0000;border:none;border-left:1px solid #e5e7eb;cursor:pointer;display:flex;flex-shrink:0;height:100%;justify-content:center;padding:0 12px;transition:background-color .2s ease;width:44px}.history-delete-button:hover{background:#fee2e2}@media (max-width:768px){.route-summary-cards{gap:6px;grid-template-columns:repeat(3,1fr)}.summary-card{padding:8px 6px}}.stops-title{align-items:center;display:flex;gap:10px;margin-bottom:16px}.stops-title-text{color:#1e293b;flex:1 1;font-size:15px;font-weight:700}.stops-title-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.stops-count-badge{background:#ede9fe;border-radius:20px;color:#6b21a8;font-size:11px;font-weight:700;padding:3px 10px}.report-inline-button,.stops-count-badge{align-items:center;display:inline-flex;white-space:nowrap}.report-inline-button{background:#e8e8e8;border:1px solid #232323;border-radius:20px;cursor:pointer;gap:4px;padding:4px 10px;transition:background .15s}.report-inline-button:hover{background:#d8d8d8}.report-inline-button span{color:#000;font-size:11px;font-weight:600}.stop-item-v2{align-items:stretch;display:flex;gap:12px;min-height:72px}.stop-item-v2--last .stop-card{margin-bottom:0}.stop-connector{flex-direction:column}.stop-connector,.stop-node{align-items:center;display:flex;flex-shrink:0;width:32px}.stop-node{border-radius:50%;box-shadow:0 2px 8px #00000026;height:32px;justify-content:center;z-index:1}.stop-node--start{background:linear-gradient(135deg,#10b981,#059669)}.stop-node--end{background:linear-gradient(135deg,#ef4444,#dc2626)}.stop-node--mid{background:linear-gradient(135deg,#6b21a8,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--primary-light))}.stop-node-num{color:#fff;font-size:11px;font-weight:700}.stop-connector-line{background:linear-gradient(180deg,#e5e7eb 0,#e5e7eb);border-radius:1px;flex:1 1;margin:4px 0;position:relative;width:2px}.stop-connector-line:after{background:repeating-linear-gradient(180deg,#8b5cf6 0,#8b5cf6 6px,#0000 0,#0000 12px);background:repeating-linear-gradient(to bottom,var(--primary-light) 0,var(--primary-light) 6px,#0000 6px,#0000 12px);border-radius:1px;content:"";inset:0;opacity:.4;position:absolute}.stop-card{background:#fafafa;border:1px solid #f1f5f9;border-radius:14px;flex:1 1;margin-bottom:8px;padding:12px 14px;transition:box-shadow .2s ease,border-color .2s ease}.stop-card:hover{border-color:#e0e7ff;box-shadow:0 4px 14px #00000012}.stop-card--start{background:linear-gradient(90deg,#10b9810a,#fafafa)}.stop-card--end{background:linear-gradient(90deg,#ef44440a,#fafafa)}.stop-card-top{gap:8px;justify-content:space-between;margin-bottom:5px}.stop-card-label,.stop-card-top{align-items:center;display:flex}.stop-tag{border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.stop-tag--start{background:#10b9811a;color:#059669}.stop-tag--end{background:#ef44441a;color:#dc2626}.stop-tag--mid{background:#6b21a814}.stop-fare-pill,.stop-tag--mid{color:#6b21a8;color:var(--primary-color)}.stop-fare-pill{align-items:center;background:#6b21a812;border-radius:20px;display:flex;font-size:13px;font-weight:700;gap:2px;padding:3px 10px;white-space:nowrap}.stop-fare-cedi{font-size:12px;font-weight:700}.stop-card-name{color:#1f2937;color:var(--text-color);display:block;font-size:15px;font-weight:650;line-height:1.3}.stop-card-meta{align-items:center;display:flex;gap:6px;margin-top:5px}.stop-meta-dot{background:#6b7280;background:var(--text-light);border-radius:50%;flex-shrink:0;height:4px;width:4px}.stop-card-distance{color:#6b7280;color:var(--text-light);font-size:12px;font-weight:500}.recent-searches{background:#fff;border:1px solid #f1f5f9;border-radius:18px;box-shadow:0 2px 10px #0000000a;margin-top:20px;overflow:hidden}.recent-searches-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:0 16px;transition:background-color .2s ease;width:100%}.recent-searches-header:hover{background:#f8fafc}.recent-searches-header-left{align-items:center;display:flex;gap:8px}.recent-searches-title{color:#1f2937;color:var(--text-color);font-size:14px;font-weight:700;margin-top:10px}.recent-searches-count{background:#6b21a814;border-radius:20px;color:#6b21a8;color:var(--primary-color);font-size:11px;font-weight:700;min-width:22px;padding:2px 8px;text-align:center}.recent-searches-list{border-top:1px solid #f1f5f9;display:flex;flex-direction:column}.recent-search-item{align-items:center;background:#fff;border:none;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:background-color .18s ease;width:100%}.recent-search-item:last-child{border-bottom:none}.recent-search-item:hover{background:#f8fafc}.recent-search-icon{align-items:center;background:#6b21a812;border-radius:10px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.recent-search-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.recent-search-text{color:#1f2937;color:var(--text-color);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-search-arrow{color:#6b21a8;color:var(--primary-color);font-weight:700}.recent-search-date{color:#6b7280;color:var(--text-light);font-size:11px;font-weight:500}.recent-search-chevron{flex-shrink:0;opacity:.4}.clear-history-button--red{align-items:center;background:none;border:1px solid #ef4444;border:1px solid var(--error);border-radius:8px;color:#ef4444;color:var(--error);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:7px 12px;transition:background-color .2s ease,color .2s ease}.clear-history-button--red:hover{background:#ef4444;background:var(--error);color:#fff}.route-swipe-wrapper{flex:1 1}.route-details,.route-swipe-wrapper{display:flex;flex-direction:column;min-height:0}.route-details{height:100%}.route-details-body{flex:1 1;min-height:0;overflow-y:auto;padding-bottom:20px}.route-info{display:flex;flex-direction:column;height:100%;min-height:0}.route-info .scroll-view{flex:1 1;min-height:0;overflow-y:auto}.search-section{display:flex;flex-direction:column;height:100%;min-height:0}.search-section .scroll-view{flex:1 1;min-height:0;overflow-y:auto}@media (max-width:480px){.route-name{font-size:15px!important;margin-bottom:2px}.route-subtitle{font-size:11px!important}.route-summary-cards{gap:5px}.summary-card{border-radius:12px;gap:6px;padding:8px 6px}.summary-icon{border-radius:9px;height:30px;width:30px}.summary-icon .cedi-icon,.summary-icon svg{font-size:14px!important;height:14px!important;width:14px!important}.summary-label{font-size:9px}.summary-value{font-size:12px}.new-search-button{padding:9px}}.contact-text-help{color:#1f2937;color:var(--text-color);text-decoration:none}.stop-connector-line--walk{background:#0000}.stop-connector-line--walk:after{background:repeating-linear-gradient(180deg,#10b981 0,#10b981 6px,#0000 0,#0000 12px);opacity:.85}.stop-walk-pill{align-items:center;background:#10b9811f;border:1px solid #10b98140;border-radius:20px;color:#059669;display:flex;font-size:12px;font-weight:700;gap:4px;letter-spacing:.2px;padding:3px 10px;white-space:nowrap}.composition-breadcrumb{align-items:center;background:linear-gradient(135deg,#a855f714,#6d21a80f);border:1px solid #a855f733;border-radius:12px;display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;padding:10px 14px}.crumb{border-radius:6px;font-size:12px;font-weight:600;padding:3px 8px;white-space:nowrap}.crumb--start{background:#10b981;color:#fff}.crumb--mid{background:#a855f726;border:1px solid #a855f74d;color:#a855f7}.crumb--end{background:#ef4444;color:#fff}.crumb-arrow{color:#a855f799;font-size:13px;font-weight:700}.stop-node--transfer{background:#a855f7!important;box-shadow:0 0 0 3px #a855f740}.stop-connector-line--transfer{background:#0000!important;border-left:2px dashed #a855f780!important}.stop-card--transfer{background:#a855f70a!important;border-left:3px solid #a855f7!important}.stop-tag--transfer{background:#a855f726;border:1px solid #a855f74d;border-radius:4px;color:#a855f7;font-size:10px;font-weight:600;padding:2px 6px}.stop-fare-pill--leg{background:#a855f71f!important;border:1px solid #a855f74d!important;color:#a855f7!important;font-weight:700}.transfer-marker{align-items:center!important;background:#a855f7!important;border:2px solid #a855f766!important;border-radius:50%!important;box-shadow:0 0 0 4px #a855f733!important;display:flex!important;height:22px!important;justify-content:center!important;width:22px!important}.map-container{border:none!important;display:block!important;height:100%!important;width:100%!important}.report-option{background:#f8fafc!important}.report-option:hover{background:#e2e2e2!important}.report-modal{max-height:85vh;overflow-y:auto}.report-modal-title-row{align-items:center;display:flex;gap:8px}.report-route-name{color:#64748b;font-size:13px;font-weight:600;overflow:hidden;padding:0 16px 4px;text-overflow:ellipsis;white-space:nowrap}.report-section-label{color:#334155;font-size:13px;font-weight:700;margin-bottom:10px;margin-top:4px}.report-reasons-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.report-chip{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:20px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:border-color .15s,background .15s,color .15s}.report-chip:hover{background:#f5f3ff;border-color:#7c3aed;color:#6b21a8}.report-chip-selected{background:#ede9fe;border-color:#6b21a8;color:#6b21a8;font-weight:700}.report-textarea{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;box-sizing:border-box;color:#1e293b;font-family:inherit;font-size:14px;line-height:1.5;padding:12px 14px;resize:none;transition:border-color .15s;width:100%}.report-textarea:focus{border-color:#6b21a8;outline:none}.report-char-count{color:#94a3b8;display:block;font-size:11px;margin-bottom:20px;margin-top:4px;text-align:right}.report-submit-button{background:#6b21a8;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px;transition:background .15s;width:100%}.report-submit-button:hover:not(:disabled){background:#7c3aed}.report-submit-disabled{background:#cbd5e1!important;cursor:not-allowed}.report-success{align-items:center;display:flex;flex-direction:column;gap:12px;padding:32px 24px;text-align:center}.report-success-icon{align-items:center;background:#d1fae5;border-radius:36px;display:flex;height:72px;justify-content:center;margin-bottom:8px;width:72px}.report-success-title{color:#1e293b;font-size:22px;font-weight:800;margin:0}.report-success-msg{color:#64748b;font-size:14px;line-height:1.6;margin:0 0 8px}.report-done-button{background:#6b21a8;border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:12px 40px;transition:background .15s}.report-done-button:hover{background:#7c3aed}.destination-icon{margin-left:-1px;margin-top:1px}