/* Orizon Gestão V6.3.63 · contenção responsiva global
   Mantém o documento dentro da viewport e reserva rolagem horizontal
   somente para estruturas densas que realmente precisam dela. */

html,body{max-width:100%}
body{overflow-x:hidden}

/* Todo item de grid/flex precisa poder encolher antes de provocar overflow. */
:where(
  .shell,#app,main,.view,.admin-shell,.accounting-portal-body,
  .landing-shell,.landing-left,.landing-right,.access-tab-panel,
  .card,.admin-card,.chart-card,.surface-card,.settings-card,
  .module-identity,.dashboard-hero,.executive-hero,.context-banner,
  .modal-card,.dialog-card,.og-dialog-card,.admin-form,
  .report-cover,.report-dashboard,.report-detail,.report-visual-card,
  .module-intelligence,.privacy-page,.privacy-card,.privacy-hero
){min-width:0;max-width:100%;box-sizing:border-box}

:where(
  .grid,.grid2,.grid3,.grid4,.form-grid,.report-filters,
  .management-report-filters,.financial-kpis,.report-kpis,
  .result-kpis,.farm-flow-kpis,.farm-status-strip,.admin-grid,
  .charts,.statement-grid,.ofx-grid,.filters,.portal-filters,
  .issuer-customer,.payment-layout,.issuance-layout,.risk-grid,
  .profile-choice,.fiscal-test-summary,.native-import-summary,
  .settings-status-strip,.purchase-kpi-strip,.asset-kpi-strip,
  .budget-kpi-strip,.report-analysis-grid,.module-intelligence-grid
)>*{min-width:0}

/* Controles nunca podem impor ao painel a largura do próprio rótulo. */
button,.primary,.secondary,.mini,.danger-outline,.mini-link,.whatsapp{
  min-width:0;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal
}
input,select,textarea{min-width:0;max-width:100%}

/* Textos longos, e-mails, documentos e descrições permanecem no cartão. */
:where(
  .card,.admin-card,.chart-card,.surface-card,.settings-card,
  .module-identity,.dashboard-hero,.context-banner,.modal-card,
  .dialog-card,.og-dialog-card,.report-cover,.report-visual-card,
  .module-intelligence,.privacy-card,.privacy-hero
) :where(h1,h2,h3,h4,p,small,b,strong,label,a,span){
  min-width:0;
  overflow-wrap:anywhere
}

img,video{max-width:100%;height:auto}
iframe{max-width:100%}

/* Rolagem horizontal é local e explícita para dados densos. */
:where(
  .table-wrap,.admin-table,.report-chart-scroll,.workspace-tab-scroll,
  .farm-tabs,.tabs,.admin-section-nav,.purchase-pipeline,
  .module-intelligence-actions,.module-intelligence-kpis
){
  max-width:100%;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch
}

/* Painéis estreitos se adaptam à própria largura, mesmo em monitor amplo/zoom. */
:where(
  .surface-card,.card,.admin-card,.chart-card,.settings-card,
  .modal-card,.dialog-card,.og-dialog-card,.report-visual-card,
  .module-intelligence
){container-type:inline-size}

@container (max-width:620px){
  :where(
    .grid2,.grid3,.grid4,.form-grid,.report-filters,
    .management-report-filters,.financial-kpis,.report-kpis,
    .result-kpis,.farm-flow-kpis,.farm-status-strip,.admin-grid,
    .charts,.statement-grid,.ofx-grid,.filters,.portal-filters,
    .issuer-customer,.payment-layout,.risk-grid,.profile-choice,
    .fiscal-test-summary,.native-import-summary,.settings-status-strip,
    .purchase-kpi-strip,.asset-kpi-strip,.budget-kpi-strip,
    .report-analysis-grid,.module-intelligence-grid
  ){grid-template-columns:minmax(0,1fr)!important}

  :where(.span2,.span3){grid-column:auto!important}
  :where(.page-header,.section-title,.admin-head,.admin-toolbar,.toolbar,.actions,.head-actions,.row){
    flex-wrap:wrap
  }
}

@media(max-width:900px){
  :where(.page-header,.section-title,.admin-head,.admin-toolbar,.toolbar,.actions,.head-actions,.row){
    min-width:0;
    max-width:100%;
    flex-wrap:wrap
  }
  .admin-table{display:block;width:100%;max-width:100%;overflow-x:auto}
}

@media(max-width:700px){
  :where(
    .grid2,.grid3,.grid4,.form-grid,.report-filters,
    .management-report-filters,.financial-kpis,.report-kpis,
    .result-kpis,.farm-flow-kpis,.farm-status-strip,.admin-grid,
    .charts,.statement-grid,.ofx-grid,.filters,.portal-filters,
    .issuer-customer,.payment-layout,.risk-grid,.profile-choice,
    .fiscal-test-summary,.native-import-summary,.settings-status-strip,
    .purchase-kpi-strip,.asset-kpi-strip,.budget-kpi-strip,
    .report-analysis-grid,.module-intelligence-grid
  ){grid-template-columns:minmax(0,1fr)!important}

  :where(.span2,.span3){grid-column:auto!important}

  :where(.page-header,.section-title,.admin-head,.admin-toolbar,.row){
    align-items:stretch;
    flex-direction:column
  }

  :where(.toolbar,.actions,.head-actions,.page-header-actions){
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:wrap;
    width:100%
  }

  :where(.toolbar,.actions,.head-actions,.page-header-actions)>:where(button,a,label){
    flex:1 1 150px
  }
}

@media(max-width:420px){
  :where(.toolbar,.actions,.head-actions,.page-header-actions)>:where(button,a,label){
    flex-basis:100%;
    width:100%
  }
}
