/* Camada responsiva final: celular, tablet/iPad, desktop e ultrawide. */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
.shell, .main, .content, .pagina, .card, .form-row, .item { min-width:0; }
.main { width:100%; }
.content { width:100%; }
.pagina.ativa { width:100%; max-width:1920px; margin-inline:auto; }
img, svg, canvas, video { max-width:100%; }
input, select, textarea, button { max-width:100%; }
.form-row > *, .item > *, [class*="-grid"] > * { min-width:0; }
.card, .item, .modal, [class*="-card"] { overflow-wrap:anywhere; }
.stats-grid { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr)); }
/* Telas muito grandes: conteúdo legível sem caixas infinitamente esticadas. */
@media (min-width:1921px) {
  .content { padding-inline:clamp(28px,4vw,84px); }
  .pagina.ativa { max-width:1920px; }
}

/* Tablet grande, iPad em paisagem e notebooks compactos. */
@media (min-width:901px) and (max-width:1366px) {
  :root { --tablet-control-height:34px; }
  .content { padding:14px 14px 24px!important; overflow-x:hidden!important; }
  .page-title { font-size:clamp(16px,1.8vw,21px); }
  .page-sub, .item-detalhe { font-size:11px; }
  .card { padding:13px!important; }
  .btn { min-height:34px; padding:7px 10px; font-size:11px; }
  .btn-sm { min-height:32px; padding:6px 9px; font-size:10px; }

  .topbar {
    display:grid!important;
    grid-template-columns:minmax(390px,1fr) minmax(220px,260px) auto;
    align-items:center!important;
    gap:8px!important;
    padding:9px 10px!important;
    height:auto!important;
  }
  .topbar-main {
    display:grid!important;
    grid-template-columns:40px minmax(135px,1fr) minmax(135px,1fr) auto;
    align-items:center!important;
    gap:7px!important;
    width:100%;
  }
  .mobile-menu-btn { display:inline-flex!important; width:38px!important; min-width:38px!important; height:38px!important; }
  #topbarTitleWrap { display:none!important; }
  .topbar-clock, .topbar-business-day {
    width:100%!important; min-width:0!important; min-height:38px!important;
    padding:5px 8px!important; border-radius:9px!important;
  }
  .topbar-info-label { font-size:8px!important; }
  .topbar-clock-time, .topbar-business-day-date { font-size:18px!important; }
  #topbarVersionBadge { padding:4px 7px!important; font-size:9px!important; }
  .topbar-store { width:100%!important; min-width:0!important; max-width:none!important; min-height:40px!important; padding:6px 10px!important; }
  .topbar-store-name, .topbar-user-name { font-size:13px!important; }
  .topbar-user-label { font-size:8px!important; }
  .topbar-actions { min-width:0!important; gap:6px!important; }
  #topbarUserInfo { width:124px!important; min-width:110px!important; max-width:124px!important; min-height:38px!important; }
  .topbar-actions .notification-btn { width:38px!important; min-width:38px!important; height:38px!important; padding:8px!important; }
  .topbar-actions > .btn-red { min-height:38px!important; padding:7px 10px!important; }

  .contas-pagar-page-head, .recebiveis-page-head,
  [class*="-page-head"] { display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:10px!important; }
  .contas-pagar-page-actions, .recebiveis-page-actions,
  [class*="-page-actions"] { display:flex!important; flex-wrap:wrap!important; margin-left:auto; gap:7px!important; }

  #financeiro_contasapagar .contas-pagar-filtros-unificados {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important; width:100%!important;
  }
  #financeiro_contasapagar .contas-pagar-busca { grid-column:span 2; }
  #financeiro_contasapagar .contas-pagar-criterio { grid-column:span 2; }
  #financeiro_contasapagar .contas-pagar-fornecedor { grid-column:span 2; }
  #financeiro_contasapagar .contas-pagar-filtros-unificados > * {
    width:100%!important; min-width:0!important; max-width:none!important;
  }
  #financeiro_contasapagar .contas-pagar-filtros-unificados input,
  #financeiro_contasapagar .contas-pagar-filtros-unificados select,
  #financeiro_contasapagar .contas-pagar-filtros-unificados button {
    width:100%!important; min-width:0!important; height:var(--tablet-control-height)!important;
    min-height:var(--tablet-control-height)!important; padding:5px 8px!important; font-size:10px!important;
  }
  #acoesSelecaoContasAPagarFinanceiro {
    display:grid!important; grid-template-columns:1fr auto minmax(180px,.45fr)!important;
    align-items:center!important; gap:8px!important;
  }
  #acoesSelecaoContasAPagarFinanceiro > * { min-width:0!important; max-width:100%!important; }

  .relatorio-financeiro-filtros, .tarefas-filtro-grid, .ponto-ajustes-filtros,
  .atendimento-filtros, #financeiro_recebiveis .financeiro-filtros-flex,
  #financeiro_recebiveis .recebiveis-provisionados-filtros {
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
    gap:8px!important;
  }
  .date-filter-standard { grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important; }
  .dashboard-prod-grid { grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important; }
  .stats-grid { grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important; }

  .form-row input, .form-row select, .form-row textarea {
    min-width:0!important; max-width:100%!important; font-size:11px;
  }
  .modal, [class*="-modal-card"], [class*="-sheet"] { max-width:calc(100vw - 28px)!important; }
}

/* iPad 10/11 em paisagem e tablets com menos espaço útil: topbar em duas linhas. */
@media (min-width:901px) and (max-width:1180px) {
  .topbar { grid-template-columns:minmax(0,1fr) auto!important; }
  .topbar-main { grid-column:1/-1; }
  .topbar-store { grid-column:1; grid-row:2; }
  .topbar-actions { grid-column:2; grid-row:2; }
  #financeiro_contasapagar .contas-pagar-filtros-unificados { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #financeiro_contasapagar .contas-pagar-busca,
  #financeiro_contasapagar .contas-pagar-criterio,
  #financeiro_contasapagar .contas-pagar-fornecedor { grid-column:span 2; }
}

/* Celular e tablet estreito. Mantém duas colunas onde ajuda e uma onde precisa. */
@media (max-width:900px) {
  .pagina.ativa,
  .pagina.ativa > *,
  .pagina.ativa .card,
  .pagina.ativa .form-row,
  .pagina.ativa [class*="-grid"],
  .pagina.ativa [class*="-row"] {
    max-width:100%!important;
    min-width:0!important;
  }
  .pagina.ativa input:not([type="checkbox"]):not([type="radio"]),
  .pagina.ativa select,
  .pagina.ativa textarea {
    width:100%;
    min-width:0!important;
    max-width:100%!important;
  }
  .pagina.ativa button,
  .pagina.ativa .btn {
    min-width:0;
    max-width:100%;
  }
  .overlay .modal,
  .overlay [class*="-modal-card"],
  .overlay [class*="-sheet"] {
    width:min(100%,calc(100vw - 16px));
    min-width:0!important;
    max-width:calc(100vw - 16px)!important;
  }
  .overlay .modal-body,
  .overlay [class*="-sheet-body"] {
    min-width:0!important;
    max-width:100%!important;
  }
  .shell, .main, .topbar, .content, .pagina.ativa { width:100%!important; max-width:100%!important; min-width:0!important; }
  .content { overflow-x:hidden!important; }
  .topbar {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important; gap:7px!important; height:auto!important;
  }
  .topbar-main {
    display:grid!important; grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important; gap:6px!important; width:100%!important;
  }
  #topbarTitleWrap, #topbarVersionBadge { display:none!important; }
  .topbar-clock, .topbar-business-day {
    width:100%!important; min-width:0!important; max-width:none!important;
    min-height:42px!important; padding:5px 7px!important; align-items:center!important;
  }
  .topbar-info-label { font-size:7.5px!important; }
  .topbar-clock-time, .topbar-business-day-date { font-size:17px!important; }
  .topbar-store { width:100%!important; min-width:0!important; max-width:none!important; }
  .topbar-actions {
    display:grid!important; grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important; width:100%!important; min-width:0!important; gap:6px!important;
  }
  #topbarUserInfo { width:100%!important; min-width:0!important; max-width:none!important; }
  .topbar-actions .notification-btn { width:40px!important; min-width:40px!important; }
  .topbar-actions > .btn-red { width:auto!important; min-width:72px!important; }
  #financeiro_contasapagar, #financeiro_recebiveis, #tarefas, #checklists,
  #funcionarios, #perfis { width:100%!important; max-width:100%!important; padding-inline:0!important; }
  .card { max-width:100%!important; }
  .contas-pagar-page-head, .recebiveis-page-head, [class*="-page-head"] {
    display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:8px!important;
  }
  .contas-pagar-page-actions, .recebiveis-page-actions, [class*="-page-actions"] {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px!important; width:100%!important;
  }
  .contas-pagar-page-actions .btn, .recebiveis-page-actions .btn, [class*="-page-actions"] .btn { width:100%!important; }
  .relatorio-financeiro-filtros, .tarefas-filtro-grid, .ponto-ajustes-filtros,
  .atendimento-filtros { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .relatorio-financeiro-filtros > *, .tarefas-filtro-grid > *, .ponto-ajustes-filtros > * { min-width:0!important; width:100%!important; }
  table { max-width:100%; }
  .table-wrap, [class*="table-wrap"], [class*="-tabela-wrap"] { overflow-x:auto; -webkit-overflow-scrolling:touch; }

  /* Densidade móvel global: mantém ações e indicadores visíveis sem cartões gigantes. */
  .content { padding:8px 8px 18px!important; }
  .card, .stat-card { padding:9px!important; margin-bottom:8px!important; border-radius:9px!important; }
  .card-title { margin-bottom:7px!important; font-size:11px!important; }
  .btn, .btn-sm {
    min-height:32px!important; height:auto!important; padding:5px 8px!important;
    border-radius:7px!important; font-size:10.5px!important; line-height:1.15!important;
  }
  input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    min-height:34px!important; height:auto; padding:6px 8px!important; font-size:12px!important;
  }
  .stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important; margin-bottom:9px!important;
  }
  .stat-card { min-height:84px!important; }
  .stat-card .s-label { margin-bottom:4px!important; font-size:7.5px!important; letter-spacing:.55px!important; }
  .stat-card .s-value { font-size:clamp(18px,5.4vw,23px)!important; line-height:1.08!important; white-space:nowrap; }
  .stat-card .s-desc { margin-top:4px!important; font-size:8.5px!important; line-height:1.2!important; }

}

@media (max-width:560px) {
  .contas-pagar-page-actions, .recebiveis-page-actions, [class*="-page-actions"],
  .tarefas-filtro-grid, .ponto-ajustes-filtros,
  .atendimento-filtros { grid-template-columns:1fr!important; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .modal, [class*="-modal-card"], [class*="-sheet"] { max-width:calc(100vw - 16px)!important; }
}

/* Paisagem com pouca altura: reduz cabeçalho e preserva área de trabalho. */
@media (min-width:701px) and (max-height:850px) {
  .topbar { padding-block:7px!important; }
  .content { padding-top:10px!important; }
  .card { margin-bottom:10px; }
}
