/* Responsividade geral — portal pesquisa.devloopz.com.br */

html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

/* Tabelas largas: rolagem horizontal no celular */
.table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

.table-scroll table {
    min-width: 520px;
}

/* Grade do painel de gênero (relatórios) */
.genero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    padding: 0 20px 20px;
}

@media (max-width: 768px) {
    .genero-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 0 16px 16px;
    }
}

/* Botões e links confortáveis no toque (mín. ~44px) */
@media (max-width: 768px) {
    .btn-touch,
    .btn-header,
    .btn-filter,
    .btn-export,
    .btn-pdf,
    .btn-primary,
    .btn-secondary {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    input[type="email"],
    input[type="password"],
    input[type="date"],
    input[type="text"],
    select,
    textarea {
        font-size: 16px !important; /* evita zoom automático no iOS */
    }
}

/* Safe area (iPhone com notch) */
@supports (padding: max(0px)) {
    body {
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }

    header {
        padding-left: max(16px, env(safe-area-inset-left));
        padding-right: max(16px, env(safe-area-inset-right));
    }
}
