/*
 * Meu Palcco — correção global de scroll vertical em dispositivos touch
 * 2026-08-07
 *
 * Objetivo: permitir que o usuário inicie o scroll vertical mesmo quando o
 * primeiro toque acontece sobre inputs, selects, textareas, labels, fieldsets,
 * cards ou painéis de formulário. Horizontal scrolling continua disponível
 * apenas nas superfícies que realmente precisam dele.
 */
@media (max-width: 820px) {
    html,
    body,
    .app-shell,
    .main-area,
    .content {
        touch-action: pan-y pinch-zoom;
    }

    form,
    fieldset,
    .form-grid,
    .form-field,
    .panel,
    .card,
    .company-form,
    .company-form-tabs,
    .company-form-panel,
    .crm-event-edit-layout,
    .crm-edit-tabs,
    [data-crm-edit-tabs],
    .crm-edit-panel,
    [data-crm-edit-panel],
    .resource-form,
    .resource-form-tabs,
    .resource-form-panel,
    input,
    select,
    textarea,
    label {
        touch-action: pan-y pinch-zoom !important;
    }

    /* Elementos de clique continuam respondendo instantaneamente sem bloquear
       o gesto vertical iniciado nos campos ao redor. */
    button,
    .button,
    a,
    [role="button"] {
        touch-action: manipulation;
    }

    /* Superfícies horizontais devem aceitar também pan vertical, para que um
       movimento predominantemente vertical seja entregue ao scroll da página. */
    .crm-edit-tablist,
    .company-form-tablist,
    .event-edit-tablist,
    .resource-form-tablist,
    .multi-choice-list--compact,
    .kanban-board,
    .table-scroll,
    .responsive-table-wrapper {
        touch-action: pan-x pan-y pinch-zoom !important;
        -webkit-overflow-scrolling: touch;
    }


    /* Kanban: cards e alças de arraste não podem capturar o gesto vertical inteiro.
       pan-y mantém a página rolável; o gesto horizontal continua disponível ao DnD. */
    .kanban-card--compact,
    .kanban-card--compact[data-kanban-drag-surface="true"],
    .kanban-drag-handle {
        touch-action: pan-y pinch-zoom !important;
    }

    /* Modais com scroll próprio também devem aceitar o gesto iniciado sobre o card. */
    .modal,
    .modal-card,
    [role="dialog"] {
        touch-action: pan-y pinch-zoom !important;
    }

    /* Áreas que possuem scroll vertical próprio mantêm momentum no iOS. */
    .modal__body,
    .iframe-modal__frame,
    .finance-entry-form__body,
    .searchable-select__list,
    .provider-multiselect__list,
    .period-filter-popover,
    .calendar-modal__body {
        touch-action: pan-y pinch-zoom !important;
        -webkit-overflow-scrolling: touch;
    }
}
