/* Camada responsiva global SGS. Mantém impressão e telas especiais intactas. */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
input,select,textarea,button{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
.wrap,.container,.content,.main,.panel,.card,.box,.form-box{max-width:100%}
.table-responsive,.table-wrap,.table-box{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}

@media(max-width:900px){
  .layout,.app,.admin-layout{grid-template-columns:1fr!important}
  .sidebar,.side,.admin-sidebar{position:static!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important}
  .main,.admin-main{min-width:0!important;width:100%!important}
  .grid,.form-grid,.cards,.kpis,.painel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .top,.topbar,.admin-topbar,.header{height:auto!important;min-height:0!important;flex-wrap:wrap!important}
  .content,.wrap,.container{padding-left:14px!important;padding-right:14px!important}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media(max-width:640px){
  body{font-size:15px}
  .grid,.form-grid,.cards,.kpis,.painel,.two,.meta,.steps{grid-template-columns:1fr!important}
  .top,.topbar,.admin-topbar,.header{align-items:flex-start!important;flex-direction:column!important;gap:10px!important;padding:12px!important}
  .top a,.topbar a,.admin-topbar a,.header a{margin-left:0!important}
  .actions,.top-actions,.buttons,.toolbar{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .actions .btn,.buttons .btn,.toolbar .btn{flex:1 1 150px;text-align:center}
  h1{font-size:clamp(1.45rem,7vw,2rem)}
  h2{font-size:clamp(1.2rem,6vw,1.55rem)}
  input,select,textarea,button,.btn{min-height:44px;font-size:16px}
  .box,.card,.panel{padding:13px!important;border-radius:12px!important}
  th,td{padding:8px!important;white-space:nowrap}
  .voltar-menu-global{right:8px!important;bottom:8px!important}
}

@media print{
  html,body{overflow:visible!important}
  table{display:table!important;overflow:visible!important}
  .no-print,.voltar-menu-global{display:none!important}
}
