/* Shared responsive safety net: preserve page-specific visual design while preventing overflow. */
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:clip}
img,video,canvas,svg,iframe{max-width:100%}
pre,code{max-width:100%;overflow:auto;overflow-wrap:anywhere}
input,textarea,select,button{max-width:100%}
textarea{overflow-wrap:anywhere}
table{max-width:100%;border-collapse:collapse}
:focus-visible{scroll-margin-block:1rem}
@media(max-width:760px){
  main,section,article,form{min-width:0}
  .topbar,.header,.page-header,.welcome-row,.section-heading{flex-wrap:wrap;gap:12px}
  .container,.shell,.main-content,.main-area{width:100%;max-width:100%;min-width:0}
  .card,.panel,.content-panel{min-width:0;overflow-wrap:anywhere}
  .grid,.stats-grid,.cards-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .table-wrap,.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .row-actions{flex-wrap:wrap}
  button,a{touch-action:manipulation}
}
@media(max-width:480px){
  .grid,.stats-grid,.cards-grid,.dashboard-grid{grid-template-columns:minmax(0,1fr)}
  .container,.shell{padding-left:12px;padding-right:12px}
  input,textarea,select,button{font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
