
/* Correção responsiva mobile - SIGEducMunicipal */
html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
}

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

/* remove/evita bloco branco no topo em telas pequenas */
@media (max-width: 768px){
    body{
        width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        padding:0 !important;
        overflow-x:hidden !important;
        background:#eef5ff !important;
    }

    .gov-topbar,
    .gov-top-strip,
    .main-topbar,
    .app-header,
    header,
    .header,
    .topo,
    .topo-sistema{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
    }

    .gov-topbar,
    .gov-top-strip{
        min-height:28px !important;
        height:auto !important;
        padding:6px 8px !important;
        text-align:center !important;
        font-size:11px !important;
    }

    .app-header,
    .main-topbar,
    .header{
        padding:10px 8px !important;
        min-height:auto !important;
        height:auto !important;
    }

    .app-header img,
    .main-topbar img,
    .header img,
    .logo,
    .brand img{
        max-width:54px !important;
        max-height:54px !important;
        object-fit:contain !important;
    }

    .app-header h1,
    .main-topbar h1,
    .header h1,
    .brand h1,
    .sig-title strong{
        font-size:22px !important;
        line-height:1.05 !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.2 !important;
        white-space:normal !important;
        margin:2px 0 0 !important;
    }

    /* menu em rolagem horizontal controlada, sem criar faixa branca */
    nav,
    .nav,
    .navbar,
    .menu,
    .top-menu,
    .menu-principal,
    .barra-menu{
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        white-space:nowrap !important;
        padding:6px 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;
    }

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

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

    /* cards em uma coluna */
    .grid,
    .cards,
    .row,
    .dashboard-grid,
    .stats-grid,
    .kpi-grid,
    .painel-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
    }

    .card,
    .panel,
    .box,
    .widget,
    .dashboard-card,
    .kpi,
    .modulo-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;
    }

    /* hero do painel */
    .hero,
    .dashboard-hero,
    .painel-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,
    [class*="hero"] h1{
        font-size:28px !important;
        line-height:1.1 !important;
        word-break:break-word !important;
    }

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

    /* tabelas com rolagem interna */
    table{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        overflow-x:auto !important;
        white-space:nowrap !important;
    }

    /* imagens e elementos largos */
    img,
    video,
    canvas,
    iframe{
        max-width:100% !important;
        height:auto !important;
    }

    /* forms */
    form,
    fieldset{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    input,
    select,
    textarea,
    button{
        max-width:100% !important;
    }

    /* botão ajuda não cobrir conteúdo */
    .help,
    .help-button,
    .floating-help,
    [class*="help"]{
        right:10px !important;
        bottom:10px !important;
        z-index:50 !important;
    }
}

/* telas muito estreitas */
@media (max-width: 480px){
    .app-header h1,
    .main-topbar h1,
    .header h1,
    .brand h1,
    .sig-title strong{
        font-size:20px !important;
    }

    .hero h1,
    .dashboard-hero h1,
    .painel-hero h1,
    [class*="hero"] h1{
        font-size:25px !important;
    }

    nav a,
    .nav a,
    .navbar a,
    .menu a,
    .top-menu a,
    .menu-principal a{
        font-size:12px !important;
        padding:7px 10px !important;
    }
}

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