/**
 * Responsividade - SGAD
 * Ajustes para diferentes tamanhos de tela
 */

/* Main sem padding na página de login (full viewport) */
main.main-login {
    min-height: 100dvh;
    min-height: 100vh;
    display: flex;
    align-items: stretch;
    padding: 0 !important;
    margin: 0 !important;
}

/* ===== PÁGINA DE LOGIN - Mobile First ===== */
.login-page {
    width: 100%;
}
@media (max-width: 991px) {
    .login-page {
        padding: 1rem env(safe-area-inset-right) 1rem env(safe-area-inset-left);
        padding-top: calc(1rem + env(safe-area-inset-top));
        padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    }
}

.login-page .login-container {
    width: 100%;
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Ícone responsivo - menor em telas pequenas */
.login-icon {
    font-size: 3.5rem;
}

/* Inputs com 16px mínimo para evitar zoom no iOS */
.login-page .form-control {
    font-size: 16px;
    min-height: 44px; /* Área de toque adequada */
}

.login-page .btn {
    min-height: 44px;
    font-size: 1rem;
}

/* Tablet e acima */
@media (min-width: 576px) {
    .login-page .login-container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    .login-icon {
        font-size: 4rem;
    }
}

@media (min-width: 768px) {
    .login-page .login-container {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .login-icon {
        font-size: 4.5rem;
    }
}

@media (min-width: 992px) {
    .login-icon {
        font-size: 5rem;
    }
}

/* ===== PÁGINA DO DESENVOLVEDOR - Mobile ===== */
.pagina-desenvolvedor .dev-page-title {
    font-size: 1.5rem !important;
}

/* Formulário de filtros: botões com área de toque adequada e quebra de linha */
.pagina-desenvolvedor .dev-form-buttons {
    min-height: 44px;
}
.pagina-desenvolvedor .dev-form-buttons .btn {
    min-height: 44px;
    font-size: 16px; /* evita zoom no iOS ao focar */
}
@media (max-width: 767px) {
    .pagina-desenvolvedor .dev-form-buttons {
        flex-direction: column;
        align-items: stretch !important;
    }
    .pagina-desenvolvedor .dev-form-buttons .btn,
    .pagina-desenvolvedor .dev-form-buttons .btn-link {
        width: 100%;
        margin: 0 !important;
    }
}

/* Inputs date/select: 16px para evitar zoom no iOS */
.pagina-desenvolvedor .card-body .form-control,
.pagina-desenvolvedor .card-body .form-select {
    font-size: 16px;
}
@media (max-width: 767px) {
    .pagina-desenvolvedor .card-body .form-control,
    .pagina-desenvolvedor .card-body .form-select {
        min-height: 44px;
    }
}

/* Gráficos: altura reduzida no mobile e container scrollável */
.pagina-desenvolvedor .dev-chart-body {
    min-height: 240px;
    position: relative;
}
.pagina-desenvolvedor .dev-chart-body-main {
    min-height: 260px;
}
@media (max-width: 767px) {
    .pagina-desenvolvedor .dev-chart-body {
        min-height: 220px;
    }
    .pagina-desenvolvedor .dev-chart-body-main {
        min-height: 240px;
    }
    /* Permite scroll horizontal no gráfico quando há muitos dias */
    .pagina-desenvolvedor .dev-chart-card .card-body {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .pagina-desenvolvedor .dev-chart-card canvas {
        min-width: 280px;
    }
}

/* Tabela de tarefas: scroll horizontal e células legíveis no mobile */
.pagina-desenvolvedor .dev-tarefas-table-wrap {
    -webkit-overflow-scrolling: touch;
    margin-left: -0.5rem;
    margin-right: -0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
@media (max-width: 767px) {
    .pagina-desenvolvedor .dev-tarefas-table {
        font-size: 0.9rem;
    }
    .pagina-desenvolvedor .dev-tarefas-table th,
    .pagina-desenvolvedor .dev-tarefas-table td {
        padding: 0.5rem 0.35rem;
        white-space: nowrap;
    }
    .pagina-desenvolvedor .dev-tarefas-table td:first-child {
        white-space: normal;
        max-width: 140px;
        min-width: 120px;
    }
    /* Botões de ação em coluna: permitir quebra para não estourar */
    .pagina-desenvolvedor .dev-tarefas-table .btn-group {
        gap: 0.25rem;
    }
    .pagina-desenvolvedor .dev-tarefas-table .btn-group .btn {
        padding: 0.35rem 0.5rem;
        font-size: 0.85rem;
    }
}

/* ===== AJUSTES GLOBAIS - TELAS (EXCETO TICKET/TAREFA) ===== */
@media (max-width: 991px) {
    /* Garante respiro lateral em quase todas as páginas */
    #main-content.container-fluid {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    /* Evita cards "quebrando" o layout em largura fixa */
    .card {
        width: 100%;
        max-width: 100%;
    }

    .card-header,
    .card-body,
    .card-footer {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    /* Inputs e selects com área de toque confortável em mobile */
    .form-control,
    .form-select,
    .btn {
        min-height: 44px;
    }

    /* Evita zoom automático no iOS ao focar campos */
    .form-control,
    .form-select,
    .input-group-text {
        font-size: 16px;
    }

    /* Grupos de botões não estouram horizontalmente */
    .btn-group,
    .btn-group-vertical {
        flex-wrap: wrap;
        gap: 0.35rem;
    }

    /* Navbar colapsada com melhor leitura e toque */
    #sgadMainNav .navbar-nav .nav-link {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    #sgadMainNav .dropdown-menu {
        max-width: min(94vw, 420px);
        max-height: 68vh;
        overflow-y: auto;
    }
}

@media (max-width: 767px) {
    /* Empilha filtros e ações em formulários horizontais */
    .row.g-3 > [class*="col-"],
    .row.g-2 > [class*="col-"] {
        width: 100%;
    }

    /* Pills e abas com rolagem horizontal quando necessário */
    .nav-pills,
    .nav-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.2rem;
    }

    .nav-pills .nav-link,
    .nav-tabs .nav-link {
        white-space: nowrap;
    }

    /* Modais em tela pequena mais utilizáveis */
    .modal .modal-dialog {
        margin: 0.5rem;
    }

    .modal .modal-body {
        max-height: calc(100dvh - 10rem);
        overflow-y: auto;
    }
}
