.bus_dynamics_page{min-height:100vh;background-color:#f8f9fa}.bus_dynamics_container{max-width:800px;margin:0 auto;padding:1rem}.route_header{background:white;padding:1rem;margin-bottom:1rem;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.route_meta{display:flex;gap:0.5rem;margin-bottom:0.5rem}.city_badge,.route_type_badge{font-size:0.9rem;background-color:#487eb0;color:#FFFFFF;padding:4px 8px;border-radius:4px;font-weight:500}.route_number{font-size:1.5rem;font-weight:600;color:#212529;margin:0 0 0.25rem}.route_direction{color:#6c757d;font-size:1rem;margin:0}.route_actions{display:flex;gap:0.75rem;margin-top:1rem}.action_button{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:4px;font-size:0.875rem;font-weight:500;text-decoration:none;transition:all 0.2s ease}.info_button{background-color:#e7f5ff;color:#1971c2;border:1px solid #a5d8ff}.info_button:hover{background-color:#d0ebff}.map_button{background-color:#e6fcf5;color:#087f5b;border:1px solid #96f2d7}.map_button:hover{background-color:#c3fae8}.route_tabs{background:white;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.tabs_header{display:flex;border-bottom:1px solid #e9ecef}.tab_button{flex:1;padding:0.75rem;border:none;color:#343a40;background:#dee2e6;font-size:0.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:all 0.2s ease}.tab_button:hover{color:#212529;background:#ced4da}.tab_button:active{color:#212529;background:#adb5bd}.tab_button.active{color:#0d6efd;background:none;font-weight:500}.tab_content{padding:0.5rem}.stops_list{display:flex;flex-direction:column}.stop_item{padding:0.75rem;border-bottom:1px solid #e9ecef}.stop_item:last-child{border-bottom:none}.stop_info{display:flex;justify-content:space-between;align-items:center;gap:1rem}.stop_name_section{flex:1;min-width:0}.stop_name{color:#212529;margin-bottom:0.25rem}.buses{display:flex;gap:0.25rem;flex-wrap:wrap}.bus_badge{padding:0.125rem 0.375rem;background:#e2eaf3;border-radius:4px;font-size:0.8125rem;color:#2c5282;display:inline-flex;align-items:center;gap:0.25rem;border:none;box-shadow:0 1px 3px rgba(44,82,130,0.1);transition:all 0.2s ease}.disability_icon{width:10px;height:10px}.time_badge{padding:0.6rem 0.4rem;border-radius:6px;font-size:0.9375rem;min-width:75px;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease}.time_text{min-width:3.3rem;letter-spacing:0.02em;font-size:1rem}.small_text{font-size:0.8rem}.normal_text{margin-right:0.2rem}.has_left{background-color:#7f7f7f;color:white}.is_coming{background:#f25f5c;color:white;box-shadow:0 2px 4px rgba(192,57,43,0.2)}.approach_in_3_min{background:#f25f5c;color:white;box-shadow:0 2px 4px rgba(192,57,43,0.2)}.approach_in_10_min{background:#fec601;color:#654f00;box-shadow:0 2px 4px rgba(241,196,15,0.2)}.still_far_away{background:#70c1b3;color:white;box-shadow:0 2px 4px rgba(119,166,182,0.2)}.next_departure_time{background:#ffffff;color:#4A7AAF;box-shadow:0 2px 4px rgba(189,195,199,0.2);border:1px solid #4A7AAF}.not_in_service{background-color:#7c9097;color:white;border-radius:0.3rem}.traffic_control{background-color:#3b5864;color:white;border-radius:0.3rem}.last_bus_passed{background-color:#7c9097;color:white;border-radius:0.3rem}.not_operating_today{background-color:#3b5864;color:white;border-radius:0.3rem}.others{background-color:#7f7f7f;color:white;border-radius:0.3rem}.default_time_badge{background-color:#adb5bd;color:#fff;border-radius:0.3rem}@media (max-width:768px){.bus_dynamics_container{padding:0.5rem}.stop_info{gap:0.5rem}}