/* Constrain flex items, not the viewport: retain access to wide route data. */
#app { min-width:0; max-width:100%; }
.page { width:100%; max-width:100%; }
.page-body,.page-content,.main-content-wrapper { min-width:0; }
.details-main.row > .col-main,.details-main.row > .col-aside-details {
 min-width:0; max-width:100%;
}
.routes-view,.neighbors-view { min-width:0; max-width:100%; overflow-x:auto; }
.table-routes td { overflow-wrap:normal; word-break:normal; }
/* Configured columns: flags, network, next hop, AS path. Preserve complete IPs. */
.table-routes td:nth-child(3) { white-space:nowrap; }
.table-routes td:nth-child(4) { min-width:180px; max-width:360px; }
.card-related-peers { min-width:0; overflow-x:auto; }
.card-related-peers .related-peers-rs-peer { table-layout:fixed; }
.card-related-peers .related-peers-rs-peer td { overflow-wrap:anywhere; }
.pagination { max-width:100%; display:flex; flex-wrap:wrap; justify-content:center; }
@media(max-width:1199px) {
 .details-main.row > .col-main,.details-main.row > .col-aside-details { width:100%; float:none; }
}
@media(max-width:767px) {
 .page-sidebar .routeservers-list .routeserver-id {
  min-height:44px; display:flex; align-items:center;
 }
 .pagination > li > a,.pagination > li > span { min-width:44px; min-height:44px; }
 .modal-dialog .modal-body { overflow-y:auto; }
 .modal-dialog .modal-footer { display:flex; justify-content:flex-end; flex-wrap:wrap; }
}
