/* Lockerbie RailOS v5.0.35 - public mobile responsiveness layer */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,canvas{max-width:100%}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px}
  .wrap,.container,.page,.shell,.content,.main{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:12px!important;padding-right:12px!important}
  .head,.header,.top,.toolbar,.hero-head,.page-head{max-width:100%}
  h1{font-size:clamp(1.75rem,9vw,2.7rem)!important;line-height:1.02!important;overflow-wrap:anywhere}
  h2{overflow-wrap:anywhere}
  .sub,.subtitle,.muted,p{overflow-wrap:anywhere}
  .grid,.cards,.stats-grid,.summary,.metrics,.metric-grid,.content-grid,.two-col,.three-col,.four-col{grid-template-columns:1fr!important}
  .hero{grid-template-columns:1fr!important}
  .actions,.public-header-actions,.nav-actions,.controls{width:100%;gap:8px!important}
  .actions a,.actions button,.public-header-actions a,.nav-actions a,.controls button,.button,button{min-height:44px;max-width:100%;white-space:normal;text-align:center}
  input,select,textarea{font-size:16px!important;min-height:44px}
  .card,.tile,.panel,.summary-card{max-width:100%;min-width:0!important}
  .tile{min-height:0!important;padding:15px!important}
  .tile .icon{font-size:1.65rem!important}.tile h2{margin-top:9px!important}
  .table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:0!important;width:100%!important;font-size:.82rem}
  th,td{padding:8px 7px!important;white-space:normal!important;overflow-wrap:anywhere}
  .row{min-width:0;flex-wrap:wrap}
  .photo{width:100%;max-width:100%}
  #mbHomeButton{min-width:42px;min-height:42px;justify-content:center}
}
@media(max-width:520px){
  .wrap,.container,.page,.shell,.content,.main{padding-left:9px!important;padding-right:9px!important}
  .card,.panel,.summary-card{padding:12px!important;border-radius:12px!important}
  .metric strong,.big{font-size:clamp(1.5rem,10vw,2.25rem)!important}
  th,td{font-size:.76rem;padding:7px 5px!important}
}
/* Public View Centre */
@media(max-width:700px){
  .public-tile-group{padding:10px!important;border-radius:14px!important}
  .public-tile-group-head{padding-bottom:9px!important;margin-bottom:10px!important}
  .public-header-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .public-header-actions a{justify-content:center!important;padding:10px 8px!important}
  .notice{padding:12px!important}
  .summary{gap:8px!important}
}
/* Live-map and wide display pages: preserve the diagram, but make it pan/scale safely on phones. */
@media(max-width:760px){
  .map-shell,.map-wrap,.track-map,.diagram-wrap,.board-wrap,.board-shell{max-width:100vw!important;overflow:auto!important;-webkit-overflow-scrolling:touch}
  svg{height:auto}
}
