.select2-results__option[role=group] .select2-results__group{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;color:#333;font-weight:700;padding:8px 12px}.select2-results__option .fas{color:#6c757d;margin-right:8px}.select2-results__option[aria-selected=true]{background-color:#0172c6!important;color:#fff!important}.select2-results__option[data-type=address]{background-color:#f8f9fa}.select2-results__option[data-type=stop]{background-color:#fff}.zone-item{display:inline-block;margin:4px 8px 4px 0}.zone-badge{background-color:#e9ecef;border-radius:16px;color:#495057;display:inline-block;font-size:14px;font-weight:500;padding:4px 12px}.route-item{align-items:center;background-color:#f8f9fa;border-radius:6px;display:flex;margin-bottom:8px;padding:8px}.route-item .line-number{margin-right:12px;min-width:40px;text-align:center}.route-name{color:#495057;font-size:14px}.stop-info{min-width:200px;text-align:center}.stop-info strong{color:#333;font-size:16px}.stop-info small{color:#6c757d;font-size:12px}.loading-addresses,.loading-stops{color:#6c757d;font-style:italic;padding:12px;text-align:center}@media (max-width:768px){.route-item{padding:6px}.zone-badge{font-size:12px;padding:3px 8px}.stop-info{min-width:150px}}.marker-bounce{animation:bounce .6s ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.table-realtime .line{background-color:var(--bgcolor,#417dbd);border-radius:4px;color:var(--textcolor,#fff);display:inline-block;font-size:12px;font-weight:700;min-width:30px;padding:4px 8px;text-align:center}.table-realtime .btn-refresh{background:transparent;border:1px solid #0172c6;border-radius:4px;color:#0172c6;padding:6px 12px;transition:all .3s ease}.table-realtime .btn-refresh:hover{background-color:#0172c6;color:#fff}.table-realtime .btn-refresh:disabled{cursor:not-allowed;opacity:.6}.real-time-last-updated{color:#6c757d;font-size:11px}.spinner-border-sm{height:1rem;width:1rem}.text-success{color:#28a745!important}.text-warning{color:#ffc107!important}.text-danger{color:#dc3545!important}.text-info{color:#17a2b8!important}@media (max-width:768px){.table-realtime td,.table-realtime th{font-size:13px;padding:8px 4px}.table-realtime .line{font-size:11px;min-width:25px;padding:3px 6px}.btn-refresh span{display:none}}