
/* SIGEducMunicipal - correção estrutural mobile
   Remove largura de desktop, faixa branca lateral e ajusta cabeçalho/conteúdo no celular.
*/

html{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  margin:0 !important;
}

/* Remove largura fixa global de layouts antigos */
body,
#app,
#root,
#page,
#layout,
#container,
#wrapper,
.page,
.layout,
.wrapper,
.container,
.main,
.content,
.module-content,
.dashboard,
.dashboard-wrap{
  min-width:0 !important;
  max-width:100% !important;
}

@media (max-width: 768px){

  html, body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
    margin:0 !important;
    padding:0 !important;
    background:#eef5ff !important;
  }

  *{
    box-sizing:border-box !important;
  }

  img, video, canvas, iframe, svg{
    max-width:100% !important;
    height:auto !important;
  }

  /* O problema da faixa branca é causado por cabeçalho desktop com duas colunas.
     No celular, força tudo em uma coluna e remove áreas vazias/brancas. */
  .sig-header,
  .sigeduc-header,
  .app-header,
  .main-header,
  .main-topbar,
  .topo,
  .topo-sistema,
  .cabecalho,
  .cabecalho-sistema,
  .painel-institucional,
  .institucional,
  .brand,
  .brandbar,
  .brand-bar,
  header,
  .header{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:10px 12px !important;
    background:linear-gradient(135deg,#0b4fa8,#1d73d4) !important;
    color:#fff !important;
  }

  .sig-header *,
  .sigeduc-header *,
  .app-header *,
  .main-header *,
  .main-topbar *,
  .topo *,
  .topo-sistema *,
  .cabecalho *,
  .cabecalho-sistema *,
  .painel-institucional *,
  .institucional *,
  .brand *,
  .brandbar *,
  .brand-bar *,
  header *,
  .header *{
    max-width:100% !important;
    min-width:0 !important;
  }

  /* Classes/áreas que normalmente geram o branco lateral */
  .header-left,
  .header-right,
  .top-left,
  .top-right,
  .brand-left,
  .brand-right,
  .institution-left,
  .institution-right,
  .institucional-left,
  .institucional-right,
  .header-spacer,
  .top-spacer,
  .spacer,
  .empty,
  .blank,
  .area-branca,
  .white-area,
  .col-branca,
  .faixa-branca{
    width:auto !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* Se algum bloco do topo estiver realmente vazio, some */
  .header-left:empty,
  .header-right:empty,
  .top-left:empty,
  .top-right:empty,
  .brand-left:empty,
  .brand-right:empty,
  .institution-left:empty,
  .institution-right:empty,
  .institucional-left:empty,
  .institucional-right:empty,
  .header-spacer:empty,
  .top-spacer:empty,
  .spacer:empty,
  .empty:empty,
  .blank:empty,
  .area-branca:empty,
  .white-area:empty{
    display:none !important;
  }

  /* Remove background branco especificamente dentro do topo */
  header > div,
  .header > div,
  .app-header > div,
  .main-topbar > div,
  .topo > div,
  .topo-sistema > div,
  .cabecalho > div,
  .painel-institucional > div,
  .institucional > div,
  .brand > div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    background:transparent !important;
    overflow:hidden !important;
  }

  .gov-topbar,
  .gov-top-strip,
  .barra-brasil,
  .brasil-topo{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:28px !important;
    overflow:hidden !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    padding:6px 8px !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .logo-area,
  .brand-area,
  .avatar-area,
  .usuario-area,
  .perfil-area,
  .top-user,
  .user-box,
  .user-area,
  .profile-area{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    color:#fff !important;
    background:transparent !important;
  }

  header img,
  .header img,
  .app-header img,
  .main-topbar img,
  .topo img,
  .brand img,
  .logo-area img,
  .avatar-area img,
  .usuario-area img,
  .top-user img,
  .user-box img{
    max-width:48px !important;
    max-height:48px !important;
    object-fit:contain !important;
  }

  header h1,
  .header h1,
  .app-header h1,
  .main-topbar h1,
  .topo h1,
  .brand h1,
  .sig-title strong{
    font-size:20px !important;
    line-height:1.1 !important;
    margin:0 !important;
    color:#fff !important;
    white-space:normal !important;
    word-break:break-word !important;
  }

  header p,
  .header p,
  .app-header p,
  .main-topbar p,
  .topo p,
  .brand p,
  .sig-title span{
    font-size:12px !important;
    line-height:1.25 !important;
    margin:0 !important;
    color:#eaf3ff !important;
  }

  /* Menu em rolagem horizontal sem aumentar largura da página */
  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:8px 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;
    width:max-content !important;
    min-width:100% !important;
    gap:6px !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{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:8px 12px !important;
    font-size:13px !important;
    white-space:nowrap !important;
    border-radius:999px !important;
  }

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

  .breadcrumb,
  .breadcrumbs{
    width:100% !important;
    font-size:14px !important;
    padding:8px 0 !important;
    overflow-wrap:break-word !important;
  }

  .hero,
  .dashboard-hero,
  .painel-hero,
  .transporte-hero,
  [class*="hero"]{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:10px 0 14px !important;
    padding:22px 18px !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }

  .hero h1,
  .dashboard-hero h1,
  .painel-hero h1,
  .transporte-hero h1,
  [class*="hero"] h1{
    font-size:26px !important;
    line-height:1.08 !important;
    white-space:normal !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  .hero p,
  .dashboard-hero p,
  .painel-hero p,
  .transporte-hero p,
  [class*="hero"] p{
    font-size:14px !important;
    line-height:1.4 !important;
  }

  .dashboard-grid,
  .cards,
  .grid,
  .row,
  .kpi-grid,
  .painel-grid,
  .painel-turmas-grid,
  .transporte-grid,
  .lista-cards{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:100% !important;
    gap:12px !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:16px !important;
    padding:16px !important;
    overflow:hidden !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:10px !important;
  }

  label{
    display:block !important;
    text-align:left !important;
    margin-bottom:5px !important;
  }

  input,
  select,
  textarea{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:16px !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{
    min-height:42px !important;
    padding:10px 12px !important;
  }

  textarea{
    min-height:110px !important;
    padding:10px 12px !important;
  }

  .tabs,
  .tab-buttons,
  .tab-nav,
  .acoes,
  .actions,
  .botoes,
  .btn-group,
  .transporte-actions{
    width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    overflow-x:auto !important;
  }

  .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;
  }

  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;
  }

  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;
  }
}

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