/* Flux CRM 5.4.1 · modais em viewport total, rolagem completa e user-metrics refinado */

html{scrollbar-gutter:stable}
html.flux-any-modal-open,
body.flux-any-modal-open,
body.flux-crud-modal-open,
body.crm-modal-open,
body.modal-open,
body.field-help-open{overflow:hidden!important}

/* Todo overlay deve cobrir também o menu lateral e nunca herdar largura/margem da página. */
body[data-theme="crm-premium"] :is(
  .flux-crud-modal,
  .flux-modal,
  .flux-system-modal,
  .crm-drilldown-modal,
  .field-help-modal,
  .modal-backdrop
){
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  box-sizing:border-box!important;
  isolation:isolate!important;
  z-index:60000!important;
}
body[data-theme="crm-premium"] .crm-drilldown-modal{z-index:65000!important}
body[data-theme="crm-premium"] .flux-system-modal{z-index:66000!important}

/* Estrutura comum: cabeçalho e rodapé fixos, miolo com rolagem até o último campo. */
body[data-theme="crm-premium"] :is(
  .flux-crud-modal-dialog,
  .flux-modal-dialog,
  .flux-system-modal-dialog,
  .crm-drilldown-dialog,
  .modal-card,
  .field-help-dialog
){
  position:relative!important;
  inset:auto!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100dvh - 32px)!important;
  margin:auto!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}

body[data-theme="crm-premium"] :is(
  .flux-crud-modal-body,
  .flux-modal-content,
  .flux-modal-dialog>form,
  .flux-system-modal-body,
  .crm-drilldown-content
){
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges!important;
  -webkit-overflow-scrolling:touch!important;
}
body[data-theme="crm-premium"] :is(.flux-crud-modal-body,.flux-modal-content,.flux-modal-dialog>form,.flux-system-modal-body){
  padding-bottom:max(32px,env(safe-area-inset-bottom))!important;
}

/* Cadastro em modal: usa praticamente toda a altura sem cortar abas, campos ou botões. */
body[data-theme="crm-premium"] .flux-crud-modal{
  display:grid!important;
  place-items:center!important;
  padding:16px!important;
  overflow:hidden!important;
}
body[data-theme="crm-premium"] .flux-crud-modal:not(.is-open){display:grid!important}
body[data-theme="crm-premium"] .flux-crud-modal-dialog{
  width:min(1240px,calc(100vw - 32px))!important;
  height:min(940px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
}
body[data-theme="crm-premium"] .flux-crud-modal-body{
  align-content:start!important;
  padding:18px 18px 38px!important;
}
body[data-theme="crm-premium"] .flux-crud-modal-panel{
  min-height:min-content!important;
  overflow:visible!important;
}
body[data-theme="crm-premium"] .flux-crud-modal-panel :is(.form-grid,.cols,.grid-2,form,fieldset){
  min-width:0!important;
  max-width:100%!important;
}
body[data-theme="crm-premium"] .flux-crud-modal-panel :is(.table-wrap,[class*="table-wrap"],pre,.code-sample){
  max-width:100%!important;
  overflow:auto!important;
}

/* Modais legados e de sistema. */
body[data-theme="crm-premium"] .flux-modal,
body[data-theme="crm-premium"] .flux-system-modal{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
  overflow:hidden!important;
}
body[data-theme="crm-premium"] .flux-modal-dialog{
  width:min(980px,calc(100vw - 32px))!important;
  height:auto!important;
  max-height:calc(100dvh - 32px)!important;
}
body[data-theme="crm-premium"] .flux-modal-wide{width:min(1180px,calc(100vw - 32px))!important}
body[data-theme="crm-premium"] .flux-modal-dialog>form,
body[data-theme="crm-premium"] .flux-modal-content{flex:1 1 auto!important}
body[data-theme="crm-premium"] .flux-system-modal-dialog{
  width:min(680px,calc(100vw - 32px))!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
body[data-theme="crm-premium"] .modal-backdrop{
  align-items:center!important;
  justify-content:center!important;
  padding:16px!important;
  overflow:auto!important;
}
body[data-theme="crm-premium"] .modal-backdrop>.modal-card{
  width:min(980px,calc(100vw - 32px))!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable!important;
}
body[data-theme="crm-premium"] .field-help-modal{padding:16px!important;overflow:auto!important}
body[data-theme="crm-premium"] .field-help-dialog{overflow-y:auto!important}

/* user-metrics: modal independente da página e do menu, claro e com a tabela usando a altura disponível. */
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-modal{
  display:grid!important;
  place-items:center!important;
  padding:16px!important;
  overflow:hidden!important;
  background:rgba(13,30,52,.46)!important;
  backdrop-filter:blur(9px)!important;
  -webkit-backdrop-filter:blur(9px)!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-backdrop{
  position:absolute!important;
  inset:0!important;
  background:transparent!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-dialog{
  width:min(1320px,calc(100vw - 32px))!important;
  height:min(920px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  border:1px solid #d9e3ee!important;
  border-radius:22px!important;
  background:#ffffff!important;
  background-image:none!important;
  color:#1b2a3d!important;
  box-shadow:0 32px 100px rgba(10,31,58,.25),0 8px 28px rgba(10,31,58,.10)!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-dialog>header{
  position:relative!important;
  z-index:3!important;
  padding:18px 20px!important;
  border-bottom:1px solid #e2e9f1!important;
  background:#f8fafc!important;
  background-image:none!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-dialog>header small{color:#2776c7!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-dialog>header h2{color:#16263b!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-dialog>header p{color:#66758a!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-close{
  border:1px solid #d7e1ec!important;
  background:#fff!important;
  color:#4c5e74!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-close:hover{
  border-color:#a9c8eb!important;
  background:#edf5ff!important;
  color:#176fc8!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-content{
  display:grid!important;
  padding:16px 18px 20px!important;
  overflow:hidden!important;
  background:#f5f8fc!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-content>[data-drill-result]:not([hidden]){
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(190px,1fr) auto!important;
  gap:0!important;
  overflow:hidden!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-summary article{
  border-color:#dce5ef!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:0 3px 12px rgba(18,43,70,.05)!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-summary small{color:#66758a!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-summary strong{color:#172033!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-toolbar label span,
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-toolbar>span,
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-pagination span{color:#65758a!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-table-wrap{
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  overflow:auto!important;
  border-color:#dbe4ee!important;
  background:#fff!important;
  scrollbar-gutter:stable both-edges!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-table-wrap th{
  top:0!important;
  background:#f0f4f8!important;
  color:#53657b!important;
  border-bottom:1px solid #dbe4ee!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-table-wrap td{
  border-color:#e8edf3!important;
  background:#fff!important;
  color:#263449!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-table-wrap tbody tr:hover td{background:#f6f9fc!important}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-pagination{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  padding:13px 0 0!important;
  background:#f5f8fc!important;
}
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-loading,
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-error,
body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-empty{color:#66758a!important}

@media(max-width:760px){
  body[data-theme="crm-premium"] :is(.flux-crud-modal,.flux-modal,.flux-system-modal,.crm-drilldown-modal,.field-help-modal,.modal-backdrop){padding:0!important}
  body[data-theme="crm-premium"] :is(.flux-crud-modal-dialog,.flux-modal-dialog,.flux-system-modal-dialog,.crm-drilldown-dialog,.modal-card,.field-help-dialog){
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
  }
  body[data-theme="crm-premium"] .flux-crud-modal-body{padding:10px 10px 34px!important}
  body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-content{padding:10px!important;overflow:auto!important}
  body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-content>[data-drill-result]:not([hidden]){
    display:block!important;
    overflow:visible!important;
  }
  body[data-theme="crm-premium"][data-route="user-metrics"] .crm-drilldown-table-wrap{
    height:auto!important;
    min-height:260px!important;
    max-height:55dvh!important;
  }
}

/* 5.4.3: respeita o atributo hidden no detalhamento de métricas. */
.crm-drilldown-loading[hidden],
.crm-drilldown-error[hidden],
[data-drill-result][hidden]{display:none!important}
