/*
 * centralization.css
 * Proveniência: extraído de apps/analytics-rh/pages/_internal/styles/_centralization.py
 * Decisão R-D29 2026-05-24 (Matias). R-2 CSS pipeline 2026-05-25.
 * Owner: design-multicamadas (@dm-frontend-engineer Forge)
 * Audit: Nyx + Forge + Matias 2026-05-24
 *
 * FONTE ÚNICA de centralização 1200px cross-tela.
 * Para alterar o max-width global do app, editar APENAS AQUI.
 * Não duplicar em *_visual.py nem em módulos parciais.
 */

/* ================================================================
   CENTRALIZAÇÃO 1200px CROSS-TELA — R-D29 2026-05-24 Matias
   FONTE ÚNICA. Para alterar o max-width global do app, editar AQUI.
   Não duplicar este bloco em *_visual.py nem em módulos parciais.
   ================================================================ */

/* Telas com span marker (:has() + combinador ~) — Painel BI, Geral, Consulta, Atendimento */
[data-testid="stElementContainer"]:has(.arh-pbi-main-content),
[data-testid="stElementContainer"]:has(.arh-pbi-main-content) ~ [data-testid="stElementContainer"],
[data-testid="stElementContainer"]:has(.arh-pbi-main-content) ~ [data-testid="stLayoutWrapper"],
[data-testid="stElementContainer"]:has(.arh-gv-main-content),
[data-testid="stElementContainer"]:has(.arh-gv-main-content) ~ [data-testid="stElementContainer"],
[data-testid="stElementContainer"]:has(.arh-gv-main-content) ~ [data-testid="stLayoutWrapper"],
[data-testid="stElementContainer"]:has(.arh-cns-main-content),
[data-testid="stElementContainer"]:has(.arh-cns-main-content) ~ [data-testid="stElementContainer"],
[data-testid="stElementContainer"]:has(.arh-cns-main-content) ~ [data-testid="stLayoutWrapper"],
[data-testid="stElementContainer"]:has(.arh-atd-main-content),
[data-testid="stElementContainer"]:has(.arh-atd-main-content) ~ [data-testid="stElementContainer"],
[data-testid="stElementContainer"]:has(.arh-atd-main-content) ~ [data-testid="stLayoutWrapper"] {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* FIX-4 (DIV-2 Lupa R-5 2026-05-25): 760px V-01 Matias 17/05 Story 2.9.
   Proto canônico: b-tabs-horizontais.html L290 max-width:760px (lock Story 2.9).
   R-D29 1200px aplica-se a outras telas, não Configurações — exceção análoga a
   .st-key-arh_dir_main (DEC-R-4.7 FIX-2 900px). Rastreio: 09-lupa-gate-r5-configuracoes.md DIV-2.
   Matias confirmou "decisão técnica tomada" 2026-05-25. */
.st-key-arh_cfg_main {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* DEC-R-4.7 FIX-2: 900px lock V-01 17/05 cf. memória feedback_impl_fiel_extrair_do_prototipo.
   R-D29 1200px aplica-se a outras telas, não Direcionamento.
   Proto canônico: dora-hibernacao.html L214 max-width:900px (lock Story 2.8, Matias 2026-05-06).
   Direcionamento é exceção explícita ao padrão cross-tela 1200px. */
.st-key-arh_dir_main {
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* FIX-1 R-5.9: container Monitoramento 1200px — Lupa audit Bug 2 + Bug 3.
   Rastreio: 11-lupa-audit-shell-integration.md — seletor :has(.arh-atd-main-content)
   era órfão (marcador nunca emitido). .st-key-arh_mon_main é o seletor primário
   confiável (alinhado com .st-key-arh_dir_main e .st-key-arh_cfg_main).
   1200px: KPI bar 7-cols + tabela Fila — wider que dir (900) e cfg (760).
   Resolve Bug 3 (KPIs 100% viewport) como efeito colateral.
   Proto canônico: b-lista-agrupada-final.html (V-01 Matias 2026-05-06 Story 2.7). */
.st-key-arh_mon_main {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* FIX-3 R-5.9: garantir que container delimitado não quebre position:sticky
   no banner .ua-sticky dentro de Monitoramento.
   Rastreio: 11-lupa-audit-shell-integration.md Bug 4 — computed_position:static
   causado por ancestor com overflow restritivo (Streamlit Emotion pode injetar
   overflow:auto em stMainBlockContainer ancestral).
   overflow:visible permite que elementos sticky funcionem corretamente
   mesmo com max-width definido. */
.st-key-arh_mon_main {
  overflow: visible !important;
}

/* Chamados Encerrados (Roadmap → registro de saída, modelo Consulta) — Matias 2026-06-20.
   1200px = MESMA medida da Consulta (Matias pediu centralização idêntica). A tela renderiza
   dentro do rm_layout (full-width, respiro 20px), por isso usa st.container(key=arh_enc_main)
   como marcador — análogo a .st-key-arh_mon_main. */
.st-key-arh_enc_main {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* ================================================================
   RESPONSIVIDADE — monitores largos ≥1680px ocupam mais (Matias 2026-06-29).
   ADITIVO: só sobe o max-width nas telas de DADOS em telas grandes; o
   comportamento validado ≤1680 (1200px) fica INALTERADO. Apenas WIDTH —
   ZERO mudança de altura (restrição Matias: não mexer em dimensionamento
   vertical). Locks V-01 760 (cfg) / 900 (dir) NÃO recebem override; Atendimento
   (Fila/Grupos/Gerenciar) AGORA equalizado a 1250 (Matias 2026-06-29). Reusa os
   MESMOS seletores existentes (não cria novos).
   ================================================================ */
@media (min-width: 1680px) {
  /* Consulta + Chamados Encerrados → 1440px */
  [data-testid="stElementContainer"]:has(.arh-cns-main-content),
  [data-testid="stElementContainer"]:has(.arh-cns-main-content) ~ [data-testid="stElementContainer"],
  [data-testid="stElementContainer"]:has(.arh-cns-main-content) ~ [data-testid="stLayoutWrapper"],
  .st-key-arh_enc_main {
    max-width: 1300px;
  }
  /* Painel BI → 1380px */
  [data-testid="stElementContainer"]:has(.arh-pbi-main-content),
  [data-testid="stElementContainer"]:has(.arh-pbi-main-content) ~ [data-testid="stElementContainer"],
  [data-testid="stElementContainer"]:has(.arh-pbi-main-content) ~ [data-testid="stLayoutWrapper"] {
    max-width: 1250px;
  }
  /* Geral → 1300px */
  [data-testid="stElementContainer"]:has(.arh-gv-main-content),
  [data-testid="stElementContainer"]:has(.arh-gv-main-content) ~ [data-testid="stElementContainer"],
  [data-testid="stElementContainer"]:has(.arh-gv-main-content) ~ [data-testid="stLayoutWrapper"] {
    max-width: 1250px;
  }
  /* Atendimento — Fila/Grupos/Gerenciar → 1250px: equaliza com Geral/BI (Matias 2026-06-29).
     O marker .arh-atd-main-content é emitido nas 3 sub-views (monitoramento.py:1230),
     então uma só regra cobre as três. Antes ficava 1200 (base) por não estar no E1. */
  [data-testid="stElementContainer"]:has(.arh-atd-main-content),
  [data-testid="stElementContainer"]:has(.arh-atd-main-content) ~ [data-testid="stElementContainer"],
  [data-testid="stElementContainer"]:has(.arh-atd-main-content) ~ [data-testid="stLayoutWrapper"] {
    max-width: 1250px;
  }
}
