/* OMNI Responsivo — camada global (carrega por último em TODAS as telas).
   Regras aditivas e conservadoras: nada aqui redesenha tela; só evita corte, estouro lateral e zoom indesejado.
   O que não dá para prever por CSS é resolvido em runtime por /assets/js/omni-responsive.js */

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,video,iframe,embed,object{max-width:100%}
img,video{height:auto}
pre,code,kbd,samp{overflow-wrap:anywhere}
pre{white-space:pre-wrap}
th,td{overflow-wrap:break-word}

/* filhos de flex/grid podem encolher (evita o "estouro" por conteúdo comprido) */
.panel,.card,.section,.field,.data-row,.kpi,
[class*="grid"]>*,[class*="-row"]>*{min-width:0}

/* tabela dentro de contêiner rolável (envelopada automaticamente pelo JS) */
.omni-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;position:relative}
.omni-table-scroll>table{margin:0}
.omni-table-scroll::-webkit-scrollbar{height:6px}
.omni-table-scroll::-webkit-scrollbar-thumb{background:rgba(127,127,127,.4);border-radius:6px}

/* caixas de diálogo nunca passam da tela */
[role="dialog"]{max-width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;-webkit-overflow-scrolling:touch}

/* ===== celular e tablet ===== */
@media(max-width:900px){
  /* campos com 16px: evita o zoom automático do iPhone ao tocar no campo */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),
  select,textarea{font-size:16px}
  /* blocos de ações quebram linha em vez de estourar */
  .actions,.btn-row,.toolbar,.page-actions,.head-actions,.c-actions{flex-wrap:wrap}
  /* títulos longos */
  h1,h2,h3{overflow-wrap:anywhere}
  /* barras horizontais de atalhos rolam com o dedo */
  .tabs,.pn-tools,.pn-tabs,.omni-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:640px){
  /* grades com colunas fixas definidas inline passam a se adaptar à largura */
  [style*="grid-template-columns"]{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important}
}

@media print{.omni-table-scroll{overflow:visible}}

/* logo da empresa escuro sobre o tema escuro: fundo claro suave para nao "apagar" no topo */
html[data-theme="dark"] .topbar-logo-link .topbar-logo,
html[data-theme="dark"] img.topbar-logo{background:rgba(255,255,255,.93);border-radius:9px;padding:3px 9px;box-sizing:border-box}
