/**
 * Estilos para o módulo unificado de Gestão Financeira Interna.
 *
 * @version 19.3.0
 * - CORREÇÃO DE LAYOUT (Filtro de Datas): O container de filtros `.locamais-card-filters--inline` foi
 *   completamente refatorado com regras de Flexbox mais robustas, conforme especificação.
 *   - Utiliza `flex-wrap: nowrap` em desktop para garantir que os filtros permaneçam em uma única linha.
 *   - Adiciona `overflow-x: auto` como fallback para telas menores onde a quebra de linha não é desejada.
 *   - Define `flex-basis` e `flex-shrink` nos itens para um comportamento de layout previsível.
 * - ORGANIZAÇÃO: Estilos da tabela de "Tipos de Lançamento" e "Itens Associados" mantidos em seções separadas para clareza.
 */

/* ======================================================================== */
/* 1. LAYOUT GERAL E ABAS                                                   */
/* ======================================================================== */
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-header {
    align-items: center;
}
.locamais-tabs-nav { display: flex; border-bottom: 2px solid var(--lm-border, #E5E7EB); margin-bottom: 1.5rem; gap: 0; }
.locamais-tab-button { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 0.8rem 1.5rem !important; font-size: 0.95rem !important; font-weight: 500 !important; color: var(--lm-secondary, #64748B) !important; background-color: var(--lm-lighter, #F3F4F6) !important; border: 1px solid var(--lm-border, #E5E7EB) !important; border-bottom: none !important; cursor: pointer !important; transition: all 0.2s ease-in-out !important; margin-bottom: -2px !important; border-radius: 6px 6px 0 0 !important; position: relative !important; top: 2px; }
.locamais-tab-button:not(.is-active):hover { color: var(--lm-primary-dark, #2563EB) !important; background-color: #e9eff6 !important; transform: translateY(-2px); z-index: 1; }
.locamais-tab-button.is-active { color: var(--lm-primary, #0F172A) !important; font-weight: 600 !important; background-color: var(--lm-background-main, #FFFFFF) !important; border-top: 3px solid var(--lm-primary-dark, #2563EB) !important; border-left: 1px solid var(--lm-border, #E5E7EB) !important; border-right: 1px solid var(--lm-border, #E5E7EB) !important; border-bottom: 2px solid var(--lm-background-main, #FFFFFF) !important; top: 0; transform: translateY(0); z-index: 2; }
.locamais-tab-button .dashicons, .locamais-tab-button .fa-solid { font-size: 1.2em !important; color: inherit !important; }
.locamais-tab-content { display: none; }
.locamais-tab-content.is-active { display: block; animation: fadeIn 0.4s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* ======================================================================== */
/* 2. FILTROS DA ABA DE LANÇAMENTOS - ✅ LAYOUT CORRIGIDO                    */
/* ======================================================================== */
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters.locamais-card-filters--inline {
    display: flex;
    flex-wrap: wrap; /* ✅ PADRÃO OURO: permite quebra quando necessário */
    align-items: flex-end; /* Alinha pela base, como no design system */
    gap: 1.5rem;
    padding-top: 1.25rem;
    margin-top: 1rem;
    padding-bottom: 1.5rem;
    border-top: 1px solid var(--lm-border-light);
    overflow: visible; /* evita cortar dropdowns (TomSelect) */
    position: relative;
    z-index: 2;
}

/* Dropdown do TomSelect acima da tabela, com fundo sólido (UX enterprise) */
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .ts-dropdown {
    z-index: 9999;
    background: #ffffff;
    border: 1px solid var(--lm-border, #E5E7EB);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .ts-dropdown .option {
    background: #ffffff;
}

.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .locamais-form-control-item {
    flex: 1 1 160px;
    min-width: 0;
}

/* Larguras base para cada filtro, que o flexbox tentará respeitar */
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .filter-items-per-page { flex-basis: 110px; }
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .filter-unidade { flex-basis: 200px; min-width: 180px; }
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .filter-tipo { flex-basis: 220px; min-width: 180px; }
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .filter-status { flex-basis: 160px; min-width: 140px; }

/* Grupo de datas, que pode crescer e encolher */
.locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] .locamais-card-filters--inline .locamais-date-filter-group--inline {
    flex: 1 1 320px;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: nowrap;
    min-width: 240px;
}

.locamais-date-filter-group--inline input[type="date"] {
    width: 100%;
    min-width: 120px;
}

.locamais-date-filter-group--inline .date-separator {
    color: var(--lm-text-muted);
    padding-bottom: 0.5rem;
}

/* ======================================================================== */
/* 3. TABELA DA ABA DE LANÇAMENTOS                                          */
/* ======================================================================== */
#tab-content-lancamentos .locamais-data-table { table-layout: fixed; width: 100%; }
#tab-content-lancamentos .locamais-data-table td, #tab-content-lancamentos .locamais-data-table th { vertical-align: middle; padding: 0.75rem; word-break: break-word; white-space: normal; }
#tab-content-lancamentos .locamais-data-table th.col-icone, #tab-content-lancamentos .locamais-data-table td.col-icone { width: 8%; text-align: center; }
#tab-content-lancamentos .locamais-data-table th.col-descricao, #tab-content-lancamentos .locamais-data-table td.col-descricao { width: 32%; }
#tab-content-lancamentos .locamais-data-table th.col-status, #tab-content-lancamentos .locamais-data-table td.col-status { width: 12%; text-align: center; }
#tab-content-lancamentos .locamais-data-table th.col-valor, #tab-content-lancamentos .locamais-data-table td.col-valor { width: 13%; text-align: right; }
#tab-content-lancamentos .locamais-data-table th.col-data, #tab-content-lancamentos .locamais-data-table td.col-data { width: 12%; }
#tab-content-lancamentos .locamais-data-table th.col-acoes, #tab-content-lancamentos .locamais-data-table td.col-acoes { width: 23%; text-align: center; }
#tab-content-lancamentos .locamais-data-table td i { font-size: 1.25rem; color: var(--lm-secondary); }
#tab-content-lancamentos .locamais-data-table td i.fa-solid { font-size: 1.1rem; }
#tab-content-lancamentos .col-descricao .descricao-principal { display: block; font-weight: 600; color: var(--lm-dark); }
#tab-content-lancamentos .col-descricao .descricao-secundaria { display: block; font-size: 0.9em; color: var(--lm-text-muted); margin-top: 4px; }
#tab-content-lancamentos .locamais-data-table td.valor { font-weight: 600; text-align: right; }
#tab-content-lancamentos .locamais-data-table td.valor.entrada { color: var(--lm-success-text); }
#tab-content-lancamentos .locamais-data-table td.valor.saida { color: var(--lm-error-text); }

/* ======================================================================== */
/* 4. COMPONENTE: ITENS ASSOCIADOS (Separado para Manutenção)              */
/* ======================================================================== */
.associated-items-list { margin-top: 0.5rem; font-size: 0.75rem; color: var(--lm-text-muted, #6B7280); display: flex; flex-direction: column; gap: 0.4rem; }
.associated-item-row { display: flex; align-items: center; gap: 0.6rem; }
.associated-items-list .dashicons, .associated-items-list .fa-solid { color: var(--lm-primary-dark, #2563EB); font-size: 0.9em; width: 1.1em; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.associated-items-list .dashicons-admin-users { font-size: 1.2em; }
.associated-items-list .dashicons-media-text { font-size: 1.05em; }
.associated-items-list .fa-motorcycle { font-size: 1.0em; }
.badges-container { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.associated-item-badge { display: inline-flex; align-items: center; padding: 0.1rem 0.4rem; font-size: 0.65rem; font-weight: 500; line-height: 1.2; color: var(--lm-text, #374151); background-color: var(--lm-lighter, #F3F4F6); border: 1px solid var(--lm-border, #E5E7EB); border-radius: 0.2rem; white-space: nowrap; transition: none; }
.associated-item-badge:hover { background-color: var(--lm-lighter, #F3F4F6); cursor: default; }

/* ======================================================================== */
/* 5. TABELA DA ABA DE TIPOS DE LANÇAMENTO                                  */
/* ======================================================================== */
#tab-content-parametrizacoes .locamais-data-table { table-layout: fixed; width: 100%; }
#tab-content-parametrizacoes .locamais-data-table th,
#tab-content-parametrizacoes .locamais-data-table td { padding: 0.75rem 1rem; white-space: normal; word-break: break-word; }
#tab-content-parametrizacoes .locamais-data-table .col-icone { width: 10%; text-align: center; }
#tab-content-parametrizacoes .locamais-data-table .col-nome { width: 45%; }
#tab-content-parametrizacoes .locamais-data-table .col-valor { width: 15%; text-align: right; }
#tab-content-parametrizacoes .locamais-data-table .col-status { width: 15%; text-align: center; }
#tab-content-parametrizacoes .locamais-data-table .col-acoes { width: 15%; text-align: center; }

/* ======================================================================== */
/* 6. RESPONSIVIDADE GERAL                                                  */
/* ======================================================================== */
.locamais-tabs-mobile-nav { display: none; margin-bottom: 1.5rem; }
.locamais-tabs-mobile-nav .locamais-select { width: 100%; font-size: 1rem; font-weight: 500; padding: 0.75rem 1rem; }

@media screen and (max-width: 992px) {
    .locamais-card-filters--inline {
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap; /* No mobile, não queremos quebra de linha, queremos empilhamento */
    }
    .locamais-date-filter-group--inline { flex-direction: column; align-items: stretch; gap: 0.75rem; }
    .locamais-date-filter-group--inline .date-separator { text-align: center; padding: 0.5rem 0; }
}

@media screen and (max-width: 768px) {
    .locamais-tabs-nav { display: none !important; }
    .locamais-tabs-mobile-nav { display: block !important; }
    .locamais-portal-ui-wrapper[data-module="gerenciamento-lancamentos"] { padding: 15px 10px; }
    .locamais-data-table td.actions-column { white-space: normal; display: flex; flex-wrap: wrap; gap: 5px; justify-content: flex-end; }
}
