
/* SIGEducMunicipal - Responsivo global mobile/tablet */
html,body{max-width:100%!important;overflow-x:hidden!important}
*{box-sizing:border-box!important}
img,video,iframe,canvas,svg{max-width:100%!important}
input,select,textarea,button{max-width:100%!important}

@media(max-width:1024px){
  .container,.content,.main,main,.page,.wrapper,.dashboard,.painel,.area-conteudo,.painel-conteudo{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;padding-left:14px!important;padding-right:14px!important
  }
  .dashboard-grid,.cards,.grid,.row,.kpi-grid,.painel-grid,.transporte-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:100%!important
  }
}

@media(max-width:768px){
  html,body{width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow-x:hidden!important;background:#eef5ff!important;font-size:15px!important}
  body>*{max-width:100%!important}

  header,.header,.topo,.topo-sistema,.app-header,.main-topbar,.gov-topbar,.gov-top-strip{
    width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:auto!important;overflow:hidden!important;padding:8px 10px!important
  }
  .gov-topbar,.gov-top-strip{font-size:11px!important;text-align:center!important;justify-content:center!important}
  .app-header,.main-topbar,.header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px!important}
  .app-header img,.main-topbar img,.header img,.logo,.brand img{max-width:54px!important;max-height:54px!important;object-fit:contain!important;flex:0 0 auto!important}
  .app-header h1,.main-topbar h1,.header h1,.brand h1,.sig-title strong,h1{
    font-size:24px!important;line-height:1.1!important;white-space:normal!important;word-break:break-word!important;margin:0!important
  }
  .app-header p,.main-topbar p,.header p,.brand p,.sig-title span{font-size:12px!important;line-height:1.25!important;white-space:normal!important;margin:2px 0 0!important}

  nav,.nav,.navbar,.menu,.top-menu,.menu-principal,.barra-menu{
    width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;padding:6px!important;border-radius:0!important;-webkit-overflow-scrolling:touch!important
  }
  nav ul,.nav ul,.navbar ul,.menu ul,.top-menu ul,.menu-principal ul{
    display:flex!important;flex-wrap:nowrap!important;gap:6px!important;width:max-content!important;min-width:100%!important;margin:0!important;padding:0!important;list-style:none!important
  }
  nav li,.nav li,.navbar li,.menu li,.top-menu li,.menu-principal li{flex:0 0 auto!important}
  nav a,.nav a,.navbar a,.menu a,.top-menu a,.menu-principal a{
    font-size:13px!important;padding:8px 12px!important;border-radius:999px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important
  }

  main,.main,.content,.container,.page,.wrapper,.dashboard,.dashboard-wrap,.area-conteudo,.painel-conteudo{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:10px 8px!important;overflow-x:hidden!important
  }

  .hero,.dashboard-hero,.painel-hero,.transporte-hero,[class*="hero"]{
    width:100%!important;max-width:100%!important;min-width:0!important;margin:8px 0 14px!important;padding:22px 18px!important;border-radius:20px!important;overflow:hidden!important
  }
  .hero h1,.dashboard-hero h1,.painel-hero h1,.transporte-hero h1,[class*="hero"] h1{font-size:27px!important;line-height:1.1!important;word-break:break-word!important}
  .hero p,.dashboard-hero p,.painel-hero p,.transporte-hero p,[class*="hero"] p{font-size:14px!important;line-height:1.35!important}

  .dashboard-grid,.cards,.grid,.row,.kpi-grid,.painel-grid,.painel-turmas-grid,.transporte-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important
  }
  .card,.panel,.box,.widget,.dashboard-card,.modulo-card,.turma-card,.transporte-card,div[class*="card"],div[class*="painel"],div[class*="box"]{
    width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;border-radius:18px!important;overflow:hidden!important
  }
  .dashboard-card,.modulo-card,.transporte-escolar-card{display:block!important;padding:18px!important}

  .tabs,.tab-buttons,.tab-nav,.acoes,.actions,.botoes,.btn-group,.transporte-actions{
    display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;overflow-x:auto!important
  }
  .tab-btn,.btn,button,input[type="submit"],input[type="button"],a.btn{
    min-height:42px!important;padding:10px 14px!important;white-space:normal!important;text-align:center!important
  }

  form,fieldset,.form,.formulario,.form-grid,.form-row,.linha-form,.campo,.form-group{
    width:100%!important;max-width:100%!important;min-width:0!important
  }
  .form-grid,.form-row,.linha-form{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  label{display:block!important;margin-bottom:5px!important;text-align:left!important}
  input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="time"],input[type="search"],input[type="tel"],input[type="url"],select,textarea{
    width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:42px!important;font-size:16px!important;padding:10px 12px!important
  }
  textarea{min-height:110px!important}

  .table-responsive,.tabela,.tabela-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;white-space:nowrap!important;-webkit-overflow-scrolling:touch!important}
  table th,table td{padding:10px 12px!important;font-size:13px!important}

  .login-restaurado .area-login,.area-login{display:grid!important;grid-template-columns:1fr!important;padding:0 14px 20px!important;gap:18px!important}
  .login-restaurado .imagem-login,.imagem-login{height:260px!important}
  .login-restaurado .lado-login,.lado-login{padding-top:10px!important;min-height:auto!important}
  .login-restaurado .caixa-login,.caixa-login{width:100%!important;max-width:390px!important;margin:0 auto!important}
  .login-restaurado .linha-login,.linha-login{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .login-restaurado .linha-login label,.linha-login label{text-align:left!important}

  footer,.footer,.rodape,.legal-footer{
    width:100%!important;max-width:100%!important;font-size:11px!important;line-height:1.35!important;padding:12px 8px!important;text-align:center!important
  }
  .help,.help-button,.floating-help,[class*="help"]{right:10px!important;bottom:10px!important;z-index:50!important}
}

@media(max-width:480px){
  .app-header h1,.main-topbar h1,.header h1,.brand h1,.sig-title strong,h1{font-size:21px!important}
  .hero h1,.dashboard-hero h1,.painel-hero h1,.transporte-hero h1,[class*="hero"] h1{font-size:24px!important}
  nav a,.nav a,.navbar a,.menu a,.top-menu a,.menu-principal a{font-size:12px!important;padding:7px 10px!important}
  .card,.panel,.box,.widget,.dashboard-card,.modulo-card,.turma-card,.transporte-card{padding:14px!important}
}

/* v415 busca aluno inteligente: estilos principais em estilo.css */
