/* Controle Pleno 0.2.73 — filtros globais, padrão Despesas Gerais. Apenas UI. */
:root{--cp-filter-border:#d8e5f6;--cp-filter-navy:#14355c;--cp-filter-muted:#7188aa}
.cp-unified-filters,
#view .cp-order-filter-toolbar,
#view .cp-category-toolbar,
#view .cp-list-toolbar,
#view .cp-stock-filter-toolbar,
.ad-review-filters,.ad-filter,.ad-dashboard-filter,
.provider-filter-panel,.cp-security-tools,.cp-master-directory-tools,
.cp-journey-filter-panel{background:#fff!important;border:1px solid var(--cp-filter-border)!important;border-radius:17px!important;padding:17px 20px!important;box-shadow:0 6px 22px rgba(27,69,123,.035);min-width:0;max-width:100%}
.cp-unified-filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.cp-unified-filter-head strong{font-size:14px;font-weight:800;letter-spacing:.025em;color:var(--cp-filter-navy)}
.cp-unified-filter-head .btn{min-height:40px;white-space:nowrap}
.cp-unified-filter-row{display:flex;flex-wrap:nowrap;align-items:end;gap:12px;max-width:100%;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:0 0 3px}
.cp-unified-field{display:flex;flex:1 0 155px;min-width:155px;max-width:100%;flex-direction:column;gap:8px;color:var(--cp-filter-muted);font-size:11px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}
.cp-unified-field>span{white-space:nowrap}
.cp-unified-field>select,.cp-unified-field>input{width:100%!important;max-width:none!important;height:48px;min-height:48px;min-width:0;box-sizing:border-box;padding:10px 13px;border-radius:12px;border:1px solid #d7e3f3;background:#fbfcff;color:#14355c;font-family:inherit;font-size:13px;font-weight:650;letter-spacing:normal;text-transform:none}
.cp-unified-field>select:focus,.cp-unified-field>input:focus{outline:0;border-color:#3679ed;box-shadow:0 0 0 3px rgba(54,121,237,.12)}
.cp-supply-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 4px;color:#6a7f9c;font-size:12px;font-weight:700}
.cp-supply-pagination>div{display:flex;align-items:center;gap:12px}
.cp-supply-pagination .btn{min-width:104px}
/* Pedidos: cabeçalho, busca, categoria, situação e limpar ficam na mesma linha */
#view .cp-order-filter-toolbar{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end!important;overflow-x:auto;gap:12px;margin:8px 0 10px!important;box-shadow:none}
#view .cp-order-filter-toolbar>label{display:flex;flex:1 1 0;min-width:165px;max-width:none;flex-direction:column;gap:7px;color:var(--cp-filter-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
#view .cp-order-filter-toolbar>.btn{flex:0 0 auto;height:47px}
#view .cp-order-filter-toolbar .field{height:46px;border-radius:11px;background:#fbfcff}
/* Filtragem de histórico e cadastro: o mesmo quadro e uma linha contínua. */
#view .cp-list-toolbar{display:flex!important;flex-wrap:nowrap!important;align-items:flex-end!important;gap:12px;overflow-x:auto}
#view .cp-list-toolbar>label,#view .cp-list-toolbar>.cp-list-custom-dates label{flex:1 1 180px;min-width:155px;display:flex;flex-direction:column;gap:8px}
#view .cp-list-toolbar>.btn{flex:0 0 auto;min-height:46px}
#view .cp-list-toolbar .cp-list-custom-dates{display:flex;flex:0 0 auto;align-items:end;flex-wrap:nowrap;gap:12px}
#view .cp-list-toolbar .cp-list-summary{flex:0 0 auto;margin-left:auto;white-space:nowrap;padding-bottom:13px}
#view .cp-stock-filter-toolbar{display:flex!important;flex-wrap:nowrap!important;gap:12px;align-items:center;overflow-x:auto}
#view .cp-stock-filter-toolbar>input,#view .cp-stock-filter-toolbar>select{flex:1 1 180px!important;width:auto!important;max-width:none!important;min-width:145px!important;min-height:46px}
#view .cp-stock-filter-toolbar>.cp-stock-filter-totals{flex:0 0 auto;white-space:nowrap}
#view .cp-category-toolbar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:12px;align-items:end}
#view .cp-category-toolbar>label{flex:1 0 170px;min-width:170px}
#view .cp-category-toolbar .subtle{flex:0 0 auto;white-space:nowrap}
/* Avalia Direto: campos e botões sem empilhar. Um único botão Limpar filtros. */
.ad-review-filters,.ad-filter,.ad-dashboard-filter,.ad-p-filter{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:flex-end!important;gap:12px!important;overflow-x:auto;scrollbar-width:thin}
.ad-review-filters>label,.ad-filter>label,.ad-dashboard-filter>label,.ad-p-filter>label{display:flex;flex:1 0 150px;min-width:150px;flex-direction:column;gap:7px;white-space:nowrap;font-size:11px;font-weight:800;color:var(--cp-filter-muted)}
.ad-review-filters input,.ad-review-filters select,.ad-filter input,.ad-filter select,.ad-dashboard-filter input,.ad-dashboard-filter select{height:45px!important;max-width:100%;border:1px solid var(--cp-filter-border)!important;border-radius:11px!important;background:#fbfcff}
.ad-review-filters button[id^="clear"],.ad-filter button[id^="clear"],.ad-dashboard-filter button[id^="clear"],.ad-p-filter button[id^="clear"]{flex:0 0 auto;min-height:45px!important}
#ad-p-no-op{display:none}
#reviewFilter,#clientApply,#staffApply,#applyPrizeFilters,#applyReport,#cpGastosDashboardApply{display:none!important}
.ad-p-custom-dates{display:flex;align-items:end;flex-wrap:nowrap;gap:10px;min-width:285px}
.ad-p-filter .ad-p-filter-select{flex:0 0 190px;min-width:160px}
/* Gastos: preserva a aparência da referência e impede quebra em linhas. */
.provider-filter-panel .expense-filters,.provider-filter-panel .pro-toolbar,
.cp-journey-filters{display:flex!important;flex-wrap:nowrap!important;align-items:end!important;gap:12px;overflow-x:auto;scrollbar-width:thin}
.provider-filter-panel .expense-filters>.filter-field,.provider-filter-panel .pro-toolbar>.filter-field,
.provider-filter-panel .pro-toolbar>.searchbox{flex:1 0 145px;min-width:145px;max-width:none}
.provider-filter-panel .pro-toolbar>select,.provider-filter-panel .pro-toolbar>input{flex:1 0 145px;min-width:145px;max-width:none}
.cp-gastos-custom-range{display:flex!important;flex-wrap:nowrap!important;align-items:end;gap:12px}
.cp-gastos-custom-range.hidden{display:none!important}
/* Administração e outros filtros do painel Master. */
.cp-security-tools,.cp-master-directory-tools,.cp-ai-company-tools{display:flex!important;flex-wrap:nowrap!important;align-items:end;gap:12px;overflow-x:auto}
.cp-security-tools>label,.cp-master-directory-tools>label,.cp-ai-company-tools>select,.cp-ai-company-tools>input{flex:1 0 165px;min-width:165px}
.cp-security-tools .cp-security-buttons{display:flex!important;flex-wrap:nowrap!important;flex:0 0 auto;gap:8px}
.cp-security-tools select,.cp-master-directory-tools input,.cp-master-directory-tools select,.cp-ai-company-tools input,.cp-ai-company-tools select{min-height:46px;border:1px solid var(--cp-filter-border);border-radius:11px;background:#fbfcff}
@media(max-width:920px){.cp-unified-filters,#view .cp-order-filter-toolbar,#view .cp-list-toolbar,.provider-filter-panel,.ad-review-filters{padding:12px!important}.cp-unified-field{flex:0 0 175px}.cp-unified-filter-row{padding-bottom:6px}.cp-supply-pagination{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cp-unified-filter-head strong{font-size:13px}.cp-unified-filter-head .btn{font-size:12px}.cp-supply-pagination>div{width:100%;justify-content:space-between;gap:4px}.cp-supply-pagination .btn{min-width:82px;padding:8px}.ad-p-filter .ad-p-filter-select{flex:0 0 145px}}
/* Rótulos de filtros originalmente sem label e filtros de estoque. */
.cp-auto-field,#view .cp-stock-filter-field{display:flex!important;flex:1 0 165px;min-width:165px;flex-direction:column;gap:7px;align-items:stretch;color:var(--cp-filter-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.cp-auto-field select,.cp-auto-field input,#view .cp-stock-filter-field input,#view .cp-stock-filter-field select{width:100%!important;min-height:46px;max-width:none!important;box-sizing:border-box}
.cp-auto-field>.searchbox{width:100%;max-width:100%}
.cp-stock-filter-field>.cp-stock-category-select{max-width:none!important;width:100%!important}
/* Demais filtros de Gastos que não usam o painel de despesas. */
.freelancer-filters,.history-filters,.payment-filters,.report-filterbar,.cp-journey-filter-panel{background:#fff!important;border:1px solid var(--cp-filter-border)!important;border-radius:17px!important;padding:17px 20px!important;box-shadow:0 6px 22px rgba(27,69,123,.035);max-width:100%;min-width:0}
.freelancer-filters,.history-filters,.payment-filters,.report-filterbar,.cp-journey-filter-grid{display:flex!important;align-items:end!important;flex-wrap:nowrap!important;overflow-x:auto;gap:12px;scrollbar-width:thin}
.freelancer-filters>.clear-filters,.history-filters>button,.payment-filters>button,.report-filterbar>button{flex:0 0 auto;white-space:nowrap}
.cp-journey-filter-grid>.filter-field,.report-filterbar>.filter-field{flex:1 0 155px;min-width:155px}
/* Período personalizado junto do seletor de dashboard, sem segunda linha. */
.cp-gastos-dashboard-controls{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:12px;overflow-x:auto;max-width:100%}
.cp-gastos-custom-range:not(.hidden){display:flex!important;align-items:end;flex-wrap:nowrap;flex:0 0 auto}
.cp-gastos-custom-range>label{min-width:125px;display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:800;color:var(--cp-filter-muted)}
.cp-gastos-custom-range input{min-height:44px;border:1px solid var(--cp-filter-border);border-radius:10px}
.cp-master-directory-tools .cp-unified-clear,.cp-ai-company-tools .cp-unified-clear{flex:0 0 auto;align-self:end;min-height:46px;white-space:nowrap;border:1px solid var(--cp-filter-border);border-radius:11px;background:#fff;color:#17416b;font-weight:750}
/* Filtros de diagnósticos e acompanhamento financeiro no Painel Master. */
.cp-diag-filters,.cp-ai-monitor-filter{display:flex!important;align-items:end!important;flex-wrap:nowrap!important;overflow-x:auto;gap:12px;max-width:100%;background:#fff;border:1px solid var(--cp-filter-border);border-radius:17px;padding:16px}
.cp-diag-filters>label,.cp-ai-monitor-filter>label,.cp-diag-filters>select,.cp-ai-monitor-filter>select{min-width:155px;flex:1 0 155px}
.cp-diag-filters select,.cp-diag-filters input,.cp-ai-monitor-filter select,.cp-ai-monitor-filter input{min-height:44px;border:1px solid var(--cp-filter-border);border-radius:10px;background:#fbfcff}


/* v0.2.81 — alinhamento dos filtros no desktop e padrão mobile sem rolagem horizontal.
   Referência: Controle de Gastos > Pagamentos > Pendentes. */
#view .cp-stock-filter-toolbar,
#view .cp-category-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1.2fr) minmax(220px,.95fr) auto auto;
  align-items:end!important;
  gap:12px!important;
  overflow:visible!important;
}
#view .cp-stock-filter-toolbar>label,
#view .cp-category-toolbar>label,
#view .cp-list-toolbar>label,
#view .cp-order-filter-toolbar>label,
.cp-unified-field,
.cp-auto-field,
#view .cp-stock-filter-field{
  min-width:0!important;
  max-width:none!important;
}
#view .cp-stock-filter-toolbar .cp-stock-filter-field,
#view .cp-category-toolbar>label{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
#view .cp-stock-filter-toolbar .cp-stock-filter-field input,
#view .cp-stock-filter-toolbar .cp-stock-filter-field select,
#view .cp-category-toolbar>label input,
#view .cp-category-toolbar>label select,
#view .cp-list-toolbar>label input,
#view .cp-list-toolbar>label select,
#view .cp-order-filter-toolbar>label input,
#view .cp-order-filter-toolbar>label select,
.cp-unified-field>input,
.cp-unified-field>select,
.cp-auto-field input,
.cp-auto-field select{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  max-height:46px!important;
}
#view .cp-stock-filter-toolbar>.btn,
#view .cp-category-toolbar>.btn{
  height:46px!important;
  min-height:46px!important;
  align-self:end!important;
}
#view .cp-stock-filter-toolbar>.cp-stock-filter-totals,
#view .cp-category-toolbar>.subtle{
  align-self:end!important;
  justify-self:end!important;
  padding-bottom:12px!important;
  text-align:right!important;
  white-space:nowrap!important;
}

/* Todos os filtros no mobile seguem o modelo de Pagamentos > Pendentes:
   card único, grade responsiva e sem rolagem horizontal. */
@media(max-width:680px){
  .cp-unified-filter-row,
  #view .cp-order-filter-toolbar,
  #view .cp-list-toolbar,
  #view .cp-stock-filter-toolbar,
  #view .cp-category-toolbar,
  .provider-filter-panel .expense-filters,
  .provider-filter-panel .pro-toolbar,
  .cp-journey-filters,
  .freelancer-filters,
  .history-filters,
  .payment-filters,
  .report-filterbar,
  .cp-journey-filter-grid,
  .ad-review-filters,
  .ad-filter,
  .ad-dashboard-filter,
  .ad-p-filter,
  .cp-security-tools,
  .cp-master-directory-tools,
  .cp-ai-company-tools,
  .cp-diag-filters,
  .cp-ai-monitor-filter,
  .cp-gastos-dashboard-controls{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:end!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .cp-unified-field,
  .cp-auto-field,
  #view .cp-stock-filter-field,
  #view .cp-order-filter-toolbar>label,
  #view .cp-list-toolbar>label,
  #view .cp-category-toolbar>label,
  .provider-filter-panel .expense-filters>.filter-field,
  .provider-filter-panel .pro-toolbar>.filter-field,
  .provider-filter-panel .pro-toolbar>.searchbox,
  .freelancer-filters>.filter-field,
  .history-filters>.filter-field,
  .payment-filters>.filter-field,
  .report-filterbar>.filter-field,
  .cp-journey-filter-grid>.filter-field,
  .ad-review-filters>label,
  .ad-filter>label,
  .ad-dashboard-filter>label,
  .ad-p-filter>label,
  .cp-security-tools>label,
  .cp-master-directory-tools>label,
  .cp-ai-company-tools input,
  .cp-ai-company-tools select,
  .cp-diag-filters>label,
  .cp-ai-monitor-filter>label{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    flex:none!important;
  }
  .provider-filter-panel .searchbox,
  .freelancer-filters .searchbox,
  #expensePeopleView .searchbox,
  #expenseRecordsView .provider-filter-panel .searchbox,
  #view .cp-stock-filter-toolbar .cp-stock-filter-totals,
  #view .cp-category-toolbar .subtle,
  #view .cp-list-toolbar .cp-list-summary,
  .cp-supply-pagination,
  .cp-security-tools .cp-security-buttons,
  .cp-gastos-custom-range,
  .ad-p-custom-dates,
  #view .cp-list-toolbar .cp-list-custom-dates{
    grid-column:1 / -1!important;
    width:100%!important;
    white-space:normal!important;
    margin-left:0!important;
    justify-self:stretch!important;
  }
  .provider-filter-panel .searchbox,
  .freelancer-filters .searchbox,
  #expensePeopleView .searchbox,
  #expenseRecordsView .provider-filter-panel .searchbox{
    display:flex!important;
    align-items:center!important;
  }
  .cp-unified-filters,
  #view .cp-order-filter-toolbar,
  #view .cp-list-toolbar,
  #view .cp-stock-filter-toolbar,
  #view .cp-category-toolbar,
  .provider-filter-panel,
  .freelancer-filters,
  .history-filters,
  .payment-filters,
  .report-filterbar,
  .cp-journey-filter-panel,
  .ad-review-filters,
  .ad-filter,
  .ad-dashboard-filter,
  .ad-p-filter,
  .cp-security-tools,
  .cp-master-directory-tools,
  .cp-ai-company-tools,
  .cp-diag-filters,
  .cp-ai-monitor-filter{
    padding:12px!important;
  }
  .cp-unified-filters [type="button"],
  #view .cp-order-filter-toolbar>.btn,
  #view .cp-list-toolbar>.btn,
  #view .cp-stock-filter-toolbar>.btn,
  #view .cp-category-toolbar>.btn,
  .provider-filter-panel button,
  .freelancer-filters>button,
  .history-filters>button,
  .payment-filters>button,
  .report-filterbar>button,
  .cp-security-tools .cp-security-buttons,
  .cp-master-directory-tools .cp-unified-clear,
  .cp-ai-company-tools .cp-unified-clear,
  .cp-diag-filters>button,
  .cp-ai-monitor-filter>button{
    grid-column:1 / -1!important;
    width:100%!important;
    min-height:42px!important;
    justify-self:stretch!important;
  }
  .cp-gastos-dashboard-controls>*,
  .cp-security-tools .cp-security-buttons>*{
    min-width:0!important;
    width:100%!important;
  }
}
@media(max-width:420px){
  .cp-unified-filter-row,
  #view .cp-order-filter-toolbar,
  #view .cp-list-toolbar,
  #view .cp-stock-filter-toolbar,
  #view .cp-category-toolbar,
  .provider-filter-panel .expense-filters,
  .provider-filter-panel .pro-toolbar,
  .cp-journey-filters,
  .freelancer-filters,
  .history-filters,
  .payment-filters,
  .report-filterbar,
  .cp-journey-filter-grid,
  .ad-review-filters,
  .ad-filter,
  .ad-dashboard-filter,
  .ad-p-filter,
  .cp-security-tools,
  .cp-master-directory-tools,
  .cp-ai-company-tools,
  .cp-diag-filters,
  .cp-ai-monitor-filter,
  .cp-gastos-dashboard-controls{
    grid-template-columns:1fr!important;
  }
}


/* v0.2.82 — correção específica do desktop em Despesas Gerais > Prestadores e fornecedores. */
#expensePeopleView .provider-filter-panel .expense-filters,
#expensePeopleView .provider-filter-panel .pro-toolbar{
  display:grid!important;
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(170px,1fr))!important;
  align-items:end!important;
  gap:12px!important;
  overflow:visible!important;
}
#expensePeopleView .provider-filter-panel .expense-filters>.cp-auto-field,
#expensePeopleView .provider-filter-panel .pro-toolbar>.cp-auto-field,
#expensePeopleView .provider-filter-panel .expense-filters>.searchbox,
#expensePeopleView .provider-filter-panel .expense-filters>select,
#expensePeopleView .provider-filter-panel .pro-toolbar>.searchbox,
#expensePeopleView .provider-filter-panel .pro-toolbar>select{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
#expensePeopleView .provider-filter-panel .expense-filters>.cp-auto-field input,
#expensePeopleView .provider-filter-panel .expense-filters>.cp-auto-field select,
#expensePeopleView .provider-filter-panel .pro-toolbar>.cp-auto-field input,
#expensePeopleView .provider-filter-panel .pro-toolbar>.cp-auto-field select{
  height:46px!important;
  min-height:46px!important;
}
@media(max-width:980px){
  #expensePeopleView .provider-filter-panel .expense-filters,
  #expensePeopleView .provider-filter-panel .pro-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  #expensePeopleView .provider-filter-panel .expense-filters,
  #expensePeopleView .provider-filter-panel .pro-toolbar{grid-template-columns:1fr!important}
}


/* v0.2.83 — Corrige a altura do campo Buscar prestador no desktop.
   A regra genérica .provider-filter-panel .searchbox define flex-basis:250px;
   dentro de .cp-auto-field (flex-direction:column), isso vira ALTURA,
   forçando uma linha com 271px e desalinhando os três selects. */
@media (min-width:681px){
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field{
    align-self:end!important;
    min-height:0!important;
  }
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field > .searchbox{
    flex:0 0 46px!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    width:100%!important;
  }
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field > .searchbox > input{
    min-width:0!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
  }
}


/* v0.2.84 — corrige os campos de busca de Despesas Gerais no mobile.
   - Lançamentos: remove o flex-basis indevido de 42px que encolhia o campo.
   - Prestadores/fornecedores: alinha o bloco e normaliza placeholder/tipografia. */
@media(max-width:680px){
  #expenseRecordsView .provider-filter-panel .expense-filters .filter-field .searchbox,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field > .searchbox,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .searchbox{
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:46px!important;
    min-height:46px!important;
    max-height:46px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 14px!important;
    gap:0!important;
    border:1px solid var(--cp-filter-border)!important;
    border-radius:12px!important;
    background:#fbfcff!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
  }
  #expenseRecordsView .provider-filter-panel .expense-filters .filter-field .searchbox input,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field > .searchbox > input,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .searchbox > input{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    height:44px!important;
    max-height:44px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:16px!important;
    font-weight:600!important;
    color:#14355c!important;
  }
  #expenseRecordsView .provider-filter-panel .expense-filters .filter-field .searchbox input::placeholder,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field > .searchbox > input::placeholder,
  #expensePeopleView .provider-filter-panel .pro-toolbar > .searchbox > input::placeholder{
    color:#6f84a2!important;
    font-weight:600!important;
    opacity:1!important;
  }
  #expensePeopleView .provider-filter-panel .pro-toolbar > .cp-auto-field{
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
  }
}
