
/* ================================================================
   MONITORAMENTO DNA B LISTA — v2.7
   Namespace: .ua-* .grupo-* .consultor-* .kpi-bar .mon-badge .mon-stf-badge .mon-aging
   Fonte canônica: b-lista-agrupada-final.html linhas 268-733
   ================================================================ */

/* ================================================================
   SEGMENTED AMS/N2
   ================================================================ */
.seg-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.seg-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); }
.segmented {
  display: inline-flex; background: var(--surface-sunken);
  border: 1px solid var(--border-subtle); border-radius: 8px;
  padding: 3px; gap: 2px;
}
.seg-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 6px; border: none;
  background: transparent; color: var(--text-muted);
  font-size: 13px; font-weight: 600; cursor: pointer;
  white-space: nowrap; font-family: var(--font-sans);
}
.seg-btn:hover:not(.active) { background: var(--surface-hover); color: var(--text-secondary); }
.seg-btn.active { background: var(--accent-brand); color: #fff; box-shadow: 0 1px 4px rgba(29,78,216,.4); }
.seg-btn:focus-visible { outline: 2px solid var(--accent-brand-text); outline-offset: 2px; }
.seg-counter { font-size: 10px; opacity: .8; }
.badge-soon {
  font-size: 9px; font-weight: 700; text-transform: uppercase;
  padding: 1px 6px; border-radius: 10px;
  background: var(--surface-hover); color: var(--text-muted);
  border: 1px solid var(--border-subtle);
}

/* ================================================================
   SDM CHIP (header da página)
   ================================================================ */
.sdm-chip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 8px; background: var(--surface-sunken);
  border: 1px solid var(--border-subtle); border-radius: 4px;
  font-size: 11px; color: var(--text-muted);
}
.sdm-chip strong { color: var(--text-secondary); }

/* ================================================================
   BANNER STICKY "SEM ATRIBUIÇÃO"
   [C3] Transição de estado alerta → completo via .banner-completo
   ================================================================ */
.ua-sticky {
  /* Matias R9 2026-05-21: removido position:sticky — banner ESTÁTICO. */
  display: flex; align-items: center; gap: 10px;
  padding: 9px 14px;
  background: rgba(231,76,60,.12); border-bottom: 2px solid rgba(231,76,60,.5);
  flex-wrap: wrap;
}
[data-theme="light"] .ua-sticky {
  background: rgba(153,27,27,.08); border-bottom-color: rgba(153,27,27,.35);
}

/* [C3] Estado banner-completo — todos atribuídos */
.ua-sticky.banner-completo {
  background: var(--success-banner-bg, rgba(46,204,113,.12)) !important;
  border-bottom-color: var(--success-banner-brd, rgba(46,204,113,.50)) !important;
}

/* [C3] Chip de alerta — oculto quando completo */
.ua-sticky.banner-completo .ua-chip-danger { display: none; }

/* [C3] Chip de sucesso — visível apenas quando completo */
.ua-chip-success {
  display: none;
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  padding: 3px 8px; border-radius: 3px;
  background: var(--state-success); color: #fff; white-space: nowrap;
}
.ua-sticky.banner-completo .ua-chip-success { display: inline-flex; align-items: center; gap: 4px; }

.ua-chip-danger {
  font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  padding: 3px 8px; border-radius: 3px;
  background: var(--state-danger); color: #fff; white-space: nowrap;
}

/* [C3] Counter com aria-live */
.ua-count-inline {
  font-size: 18px; font-weight: 800; color: var(--state-danger);
  font-variant-numeric: tabular-nums;
}
.ua-sticky.banner-completo .ua-count-inline { color: var(--state-success); }

/* [C3] Texto da mensagem */
.ua-msg { font-size: 13px; font-weight: 600; color: var(--state-danger); flex: 1; min-width: 100px; }
.ua-sticky.banner-completo .ua-msg { color: var(--state-success); }

/* Grupo de botões no banner */
.ua-actions { display: flex; align-items: center; gap: 6px; flex-shrink: 0; flex-wrap: wrap; }

.ua-toggle-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; background: var(--state-danger); color: #fff;
  border: none; border-radius: 3px; font-size: 11px; font-weight: 700;
  cursor: pointer; font-family: var(--font-sans);
  text-decoration: none;
}
.ua-toggle-btn:hover { opacity: .88; }
.ua-toggle-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* [C3] Botão ver chamados — verde quando completo */
.ua-sticky.banner-completo .ua-toggle-btn { background: var(--state-success); }

/* [A4] Botão expandir/retrair todas — ghost outline */
.btn-expand-all {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px;
  background: transparent;
  color: var(--text-primary);
  border: 1px solid var(--border-default);
  border-radius: 3px; font-size: 11px; font-weight: 700;
  cursor: pointer; font-family: var(--font-sans);
  white-space: nowrap;
  text-decoration: none;
}
[data-theme="dark"] .btn-expand-all { color: var(--text-secondary); border-color: rgba(255,255,255,.2); }
.btn-expand-all:hover { background: var(--surface-hover); border-color: var(--border-strong); }
.btn-expand-all:focus-visible { outline: 2px solid var(--accent-brand-text); outline-offset: 2px; }

/* ================================================================
   [C2] ESPAÇAMENTO 32px ENTRE BANNER E CONTEÚDO (--space-8)
   ================================================================ */
.ua-gap { height: 0; }  /* gap banner→KPI vem do :has(.kpi-bar) (Matias 14/06: 8px) */

/* ================================================================
   SEÇÃO "SEM ATRIBUIÇÃO" — drawer expansível
   ================================================================ */
.ua-section {
  background: rgba(231,76,60,.06); border: 1px solid rgba(231,76,60,.25);
  border-top: none; border-radius: 0 0 var(--radius-md, 8px) var(--radius-md, 8px);
  overflow: hidden;
  animation: uaSlideDown 200ms ease-out;
}
[data-theme="light"] .ua-section { background: rgba(153,27,27,.05); border-color: rgba(153,27,27,.20); }
@keyframes uaSlideDown {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ua-section.hidden { display: none; }

/* Cabeçalho da lista sem-atribuição */
.ua-list-header {
  display: flex; align-items: center; gap: 0;
  padding: 6px 14px;
  background: rgba(231,76,60,.04);
  border-bottom: 1px solid rgba(231,76,60,.2);
}
.ua-list-header span {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: var(--text-muted);
}
.ua-list-header span:nth-child(1) { flex: 0 0 100px; }
.ua-list-header span:nth-child(2) { flex: 0 0 90px; }
.ua-list-header span:nth-child(3) { flex: 0 0 60px; }
.ua-list-header span:nth-child(4) { flex: 0 0 50px; }
.ua-list-header span:nth-child(5) { flex: 0 0 100px; }
.ua-list-header span:nth-child(6) { flex: 1; }
.ua-list-header span:nth-child(7) { flex: 0 0 90px; text-align: right; }

/* Lista de chamados sem atribuição */
.ua-chamados-list {
  display: flex; flex-direction: column;
  gap: 0;
}

/* Item individual */
.ua-chamado-item {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  border-bottom: 1px solid rgba(231,76,60,.14);
  font-size: 12px;
  transition: background-color 200ms ease;
}
.ua-chamado-item:last-child { border-bottom: none; }
.ua-chamado-item:hover:not(.atribuido) { background: rgba(231,76,60,.04); }

/* Borda lateral por tipo */
.ua-chamado-item.tipo-inc { border-left: 2px solid #E67E22; padding-left: 12px; }
.ua-chamado-item.tipo-sol { border-left: 2px solid #3498DB; padding-left: 12px; }
.ua-chamado-item.tipo-evo { border-left: 2px solid var(--state-success); padding-left: 12px; }

/* [C3] Linha atribuída — fica verde */
.ua-chamado-item.atribuido {
  background: var(--success-bg-subtle, rgba(46,204,113,.08));
  border-left-color: var(--state-success);
}
.ua-chamado-item.atribuido:hover { background: var(--success-bg-subtle, rgba(46,204,113,.08)); }

.ua-cham-num {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  color: var(--text-secondary); font-size: 11px; font-weight: 700;
  flex: 0 0 100px;
}
.ua-chamado-item.atribuido .ua-cham-num { color: var(--state-success); }

.ua-cham-tags { display: flex; align-items: center; gap: 3px; flex: 0 0 310px; flex-wrap: nowrap; }
.ua-cham-resumo {
  flex: 1; color: var(--text-primary);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ua-chamado-item.atribuido .ua-cham-resumo { color: var(--text-muted); }
.ua-cham-acao { flex: 0 0 auto; display: flex; justify-content: flex-end; }

/* ================================================================
   BADGES COMPARTILHADOS
   Namespace: .mon-badge .mon-stf-badge .mon-aging (prefixo .mon- evita colisão cross-tela)
   ================================================================ */
.mon-badge {
  font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 2px;
  text-transform: uppercase; letter-spacing: .04em;
  border: 1px solid transparent; white-space: nowrap;
}
.mon-badge-inc { background: rgba(230,126,34,.2); color: #E67E22; border-color: rgba(230,126,34,.4); }
.mon-badge-sol { background: rgba(52,152,219,.2);  color: #3498DB; border-color: rgba(52,152,219,.4); }
.mon-badge-evo { background: rgba(46,204,113,.2);  color: var(--state-success); border-color: rgba(46,204,113,.4); }
[data-theme="light"] .mon-badge-inc { color: #9A3412; background: rgba(230,126,34,.12); }
[data-theme="light"] .mon-badge-sol { color: #1E3A8A; background: rgba(52,152,219,.12); }
[data-theme="light"] .mon-badge-evo { color: var(--state-success); background: rgba(46,204,113,.12); }
/* frente de atendimento (AMS/N2) — indicador por chamado (Matias 14/06) */
.mon-badge-frente { background: rgba(29,78,216,.18); color: var(--accent-brand-text, #4D9FFF); border-color: rgba(29,78,216,.45); }
[data-theme="light"] .mon-badge-frente { color: #1D4ED8; background: rgba(29,78,216,.12); }

.mon-stf-badge {
  font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 2px;
  letter-spacing: .03em; border: 1px solid transparent;
}
.mon-stf-stf  { background: rgba(52,152,219,.15); color: #3498DB; border-color: rgba(52,152,219,.35); }
.mon-stf-saeb { background: rgba(217,160,32,.15); color: #D9A020; border-color: rgba(217,160,32,.35); }
.mon-stf-rslv { background: rgba(46,204,113,.15); color: var(--state-success); border-color: rgba(46,204,113,.35); }
[data-theme="light"] .mon-stf-stf  { color: #1E3A8A; background: rgba(52,152,219,.10); }
[data-theme="light"] .mon-stf-saeb { color: #92400E; background: rgba(217,160,32,.10); }
[data-theme="light"] .mon-stf-rslv { color: var(--state-success); background: rgba(46,204,113,.10); }

.mon-aging {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  font-size: 10px; font-weight: 700; padding: 1px 5px; border-radius: 2px;
}
.mon-aging-01 { color: var(--state-success); background: rgba(46,204,113,.1); }
.mon-aging-02 { color: var(--state-warning); background: rgba(217,160,32,.1); }
.mon-aging-03 { color: #E67E22;              background: rgba(230,126,34,.1); }
.mon-aging-05 { color: var(--state-danger);  background: rgba(231,76,60,.12); }

/* Load pill — 3 hex mantidos hardcoded (Story 1.7 backlog: tokenize load-{normal,alta,sobrecarga}) */
.load-pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 26px; height: 20px; border-radius: 3px;
  font-size: 11px; font-weight: 800; color: #fff;
  font-variant-numeric: tabular-nums;
}
.load-livre      { background: var(--border-strong); color: var(--text-muted); }
.load-normal     { background: #2563EB; }   /* Story 1.7 backlog: tokenize */
.load-alta       { background: #D97706; }   /* Story 1.7 backlog: tokenize */
.load-sobrecarga { background: #B91C1C; }   /* Story 1.7 backlog: tokenize */

/* ================================================================
   BOTÃO ATRIBUIR — toggle, APENAS no banner .ua-section
   ================================================================ */
.btn-atribuir {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-default);
  border-radius: 3px; font-size: 11px; font-weight: 700;
  cursor: pointer; font-family: var(--font-sans);
  white-space: nowrap;
  text-decoration: none;
  transition:
    background-color 200ms ease,
    color            200ms ease,
    border-color     200ms ease,
    box-shadow       200ms ease !important;
}
.btn-atribuir:hover:not(.atribuido) {
  border-color: var(--state-danger);
  color: var(--state-danger);
}
.btn-atribuir:focus-visible {
  outline: 2px solid var(--accent-brand-text); outline-offset: 2px;
}
/* ── Story 2.15 (Item 4 Onda 3): 4 estados visuais do botão Atribuir ──
   Estado 0 (default): sem classe extra — cinza neutro
   Estado 1 (em-atribuicao): âmbar — em andamento
   Estado 2 (atribuido): verde -- concluído
   Estado 3 (confirmado): azul-brand -- verificado
   Cycle via clique: ?p=mon&atribuir={id} → _processar_atribuir_query_param */

/* Estado 1 — Em Atribuição (âmbar) */
.btn-atribuir.em-atribuicao {
  background: rgba(217,160,32,.12);
  border-color: var(--state-warning);
  color: var(--state-warning);
}
.btn-atribuir.em-atribuicao:hover { opacity: .88; }

/* Estado 2 — Atribuído (verde) */
.btn-atribuir.atribuido {
  background: var(--state-success);
  border-color: var(--state-success);
  color: #fff;
  box-shadow: 0 0 0 2px rgba(46,204,113,.25);
}
.btn-atribuir.atribuido:hover { opacity: .88; }

/* Estado 3 — Confirmado (azul-brand) */
.btn-atribuir.confirmado {
  background: var(--accent-brand);
  border-color: var(--accent-brand);
  color: #fff;
  box-shadow: 0 0 0 2px rgba(29,78,216,.25);
}
.btn-atribuir.confirmado:hover { opacity: .88; }

/* Item row: estados adicionais */
.ua-chamado-item.em-atribuicao {
  background: rgba(217,160,32,.04);
}
.ua-chamado-item.em-atribuicao .ua-cham-num { color: var(--state-warning); }
.ua-chamado-item.confirmado {
  background: rgba(29,78,216,.06);
}
.ua-chamado-item.confirmado .ua-cham-num { color: var(--accent-brand-text); }

@media (prefers-reduced-motion: reduce) {
  .btn-atribuir { transition: none !important; }
}

/* ================================================================
   [T104] CASCADE VERDE BANNER-COMPLETO — 11 seletores ~
   CRÍTICO D-01 (KB §1 + Forge stress #12):
   .ua-sticky e .ua-section DEVEM ser irmãos no mesmo DOM pai.
   Combinador ~ NÃO cruza stElementContainer separados.
   ================================================================ */

/* Fundo do drawer — verde sutil */
.ua-sticky.banner-completo ~ .ua-section {
  background: var(--success-bg-subtle, rgba(46,204,113,.08));
  border-color: var(--success-banner-brd, rgba(46,204,113,.50));
}
[data-theme="light"] .ua-sticky.banner-completo ~ .ua-section {
  background: var(--success-bg-subtle, rgba(20,83,45,.06));
  border-color: var(--success-banner-brd, rgba(20,83,45,.40));
}

/* Header de colunas — verde 10% */
.ua-sticky.banner-completo ~ .ua-section .ua-list-header {
  background: rgba(46,204,113,.10);
  border-bottom-color: rgba(46,204,113,.25);
}
[data-theme="light"] .ua-sticky.banner-completo ~ .ua-section .ua-list-header {
  background: rgba(20,83,45,.09);
  border-bottom-color: rgba(20,83,45,.22);
}

/* Texto dos headers — verde */
.ua-sticky.banner-completo ~ .ua-section .ua-list-header span {
  color: var(--state-success);
  opacity: .85;
}

/* Wrapper da lista — transparente */
.ua-sticky.banner-completo ~ .ua-section .ua-chamados-list {
  background: transparent;
}

/* Bordas entre linhas — verde sutil */
.ua-sticky.banner-completo ~ .ua-section .ua-chamado-item {
  border-bottom-color: rgba(46,204,113,.18);
}
[data-theme="light"] .ua-sticky.banner-completo ~ .ua-section .ua-chamado-item {
  border-bottom-color: rgba(20,83,45,.15);
}

/* Borda lateral de tipo — unificada para verde */
.ua-sticky.banner-completo ~ .ua-section .ua-chamado-item:not(.atribuido).tipo-inc,
.ua-sticky.banner-completo ~ .ua-section .ua-chamado-item:not(.atribuido).tipo-sol,
.ua-sticky.banner-completo ~ .ua-section .ua-chamado-item:not(.atribuido).tipo-evo {
  border-left-color: var(--state-success);
}

/* ================================================================
   KPI BAR (AD-ORQUESTRADOR — incluída nesta Story)
   Replicado byte-identical de prototipo linhas 944-953
   ================================================================ */
.kpi-bar { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
.kpi-card {
  flex: 1; min-width: 90px; padding: 10px 12px;
  background: var(--surface-raised); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 8px); box-shadow: var(--shadow-card);
}
.kpi-val { font-size: 20px; font-weight: 800; color: var(--text-primary); font-variant-numeric: tabular-nums; line-height: 1.1; }
.kpi-lbl { font-size: 10px; color: var(--text-muted); margin-top: 2px; }
.kpi-card.danger  .kpi-val { color: var(--state-danger); }
.kpi-card.ok      .kpi-val { color: var(--state-success); }
.kpi-card.warning .kpi-val { color: var(--state-warning); }
.kpi-card.info    .kpi-val { color: var(--state-info); }

/* ================================================================
   GRUPO SECTION — <details> expansível
   ================================================================ */
.grupo-section { margin-bottom: 6px; }
.grupo-section > details {
  background: var(--surface-raised); border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md, 8px); overflow: hidden; box-shadow: var(--shadow-card);
}
.grupo-summary {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; cursor: pointer; list-style: none; user-select: none;
}
.grupo-summary::-webkit-details-marker { display: none; }
.grupo-summary::marker { content: ''; }
.grupo-summary:hover { background: var(--surface-hover); }
details[open] .grupo-summary { border-bottom: 1px solid var(--border-subtle); background: var(--surface-sunken); }
.grupo-accent { width: 12px; height: 12px; border-radius: 2px; flex-shrink: 0; }
.grupo-name { font-size: 13px; font-weight: 700; color: var(--text-primary); flex: 1; }
.grupo-stats { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.grupo-stat { font-size: 11px; color: var(--text-muted); display: flex; align-items: center; gap: 3px; }
.grupo-stat.has-items { color: var(--accent-brand-text); }
.grupo-stat.free      { color: var(--state-success); }
.grupo-stat.danger    { color: var(--state-danger); }
.caret { font-size: 13px; color: var(--text-muted); transition: transform 200ms ease; }
details[open] > summary .caret,
details[open] > .grupo-summary .caret { transform: rotate(90deg); }
.tipo-pills { display: flex; gap: 3px; }
.tipo-pill { font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 10px; }
.tipo-pill-inc { background: rgba(230,126,34,.15); color: #E67E22; }
.tipo-pill-sol { background: rgba(52,152,219,.15); color: #3498DB; }
.tipo-pill-evo { background: rgba(46,204,113,.15); color: var(--state-success); }
[data-theme="light"] .tipo-pill-inc { color: #9A3412; }
[data-theme="light"] .tipo-pill-sol { color: #1E3A8A; }
[data-theme="light"] .tipo-pill-evo { color: var(--state-success); }

/* ================================================================
   CONSULTOR LINHA — dentro do grupo expandido
   ================================================================ */
.consultor-row { border-bottom: 1px solid var(--border-subtle); }
.consultor-row:last-child { border-bottom: none; }

/* [A3] Card completo — todos chamados atribuídos */
.consultor-row.card-completo > details {
  background: var(--success-bg-subtle, rgba(46,204,113,.08));
  border-left: 3px solid var(--success-border, rgba(46,204,113,.45));
  transition: background-color 200ms ease, border-color 200ms ease;
}
.card-completo-indicator {
  display: none;
  align-items: center; gap: 4px;
  font-size: 10px; font-weight: 700; color: var(--state-success);
  flex-shrink: 0;
}
.card-completo-indicator i { font-size: 13px; }
.consultor-row.card-completo .card-completo-indicator { display: inline-flex; }

.consultor-summary {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 14px 8px 28px; cursor: pointer; list-style: none; user-select: none;
}
.consultor-summary::-webkit-details-marker { display: none; }
.consultor-summary:hover { background: var(--surface-hover); }
details[open] > .consultor-summary {
  background: rgba(29,78,216,.07);
  border-left: 3px solid var(--accent-brand);
  padding-left: 25px;
}
.consultor-name {
  flex: 1; font-size: 13px; color: var(--text-primary);
  font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.consultor-name small { font-size: 10px; color: var(--text-muted); font-weight: 400; }
.caret-sm { font-size: 11px; color: var(--text-muted); transition: transform 200ms ease; }
details[open] > .consultor-summary .caret-sm { transform: rotate(90deg); }
.load-bar-wrap { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.load-bar { width: 64px; height: 4px; background: var(--border-subtle); border-radius: 2px; overflow: hidden; }
.load-bar-fill { height: 100%; border-radius: 2px; }
.fill-livre      { background: var(--border-strong); width: 0%; }
.fill-normal     { background: #2563EB; }   /* Story 1.7 backlog: tokenize */
.fill-alta       { background: #D97706; }   /* Story 1.7 backlog: tokenize */
.fill-sobrecarga { background: #B91C1C; }   /* Story 1.7 backlog: tokenize */

/* ================================================================
   CHAMADOS DO CONSULTOR — [C1] SEM botão Atribuir
   ================================================================ */
.chamados-list {
  padding: 4px 14px 8px 42px;
  background: var(--surface-sunken);
}
.chamado-item {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 0; border-bottom: 1px solid var(--border-subtle);
  font-size: 12px;
}
.chamado-item:last-child { border-bottom: none; }
.chamado-item.tipo-inc { border-left: 2px solid #E67E22; padding-left: 6px; margin-left: -8px; }
.chamado-item.tipo-evo { border-left: 2px solid var(--state-success); padding-left: 6px; margin-left: -8px; }
.chamado-item.tipo-sol { border-left: 2px solid #3498DB; padding-left: 6px; margin-left: -8px; }
.cham-num {
  font-family: ui-monospace, 'SF Mono', Menlo, monospace;
  color: var(--text-secondary); font-size: 11px;
  flex-shrink: 0; min-width: 80px;
}
.cham-resumo { flex: 1; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cham-tags { display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: nowrap; }
/* tipo + status atual em TEXTO (Matias 14/06: menos tags, mais texto) */
.cham-meta { font-size: 11px; color: var(--text-secondary); white-space: nowrap; }
/* nº clicável (link CA SDM) + botão Ver ao fim do chamado (Matias 14/06) */
.cham-link { color: var(--accent-brand-text, #4D9FFF) !important; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.cham-link:hover { opacity: .8; }
[data-theme="light"] .cham-link { color: #1D4ED8 !important; }
.cham-ver {
  display: inline-flex; align-items: center; gap: 4px; flex-shrink: 0;
  font-size: 10px; font-weight: 700; padding: 2px 8px; border-radius: 6px;
  border: 1px solid var(--border-default); background: var(--surface-base);
  color: var(--text-secondary); text-decoration: none; cursor: pointer; white-space: nowrap;
}
.cham-ver:hover { border-color: var(--accent-brand); color: var(--text-primary); }

/* Consultor disponível */
.consultor-livre {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 14px 7px 28px;
  border-bottom: 1px solid var(--border-subtle);
  opacity: .65;
}
.consultor-livre:last-child { border-bottom: none; }
.livre-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--state-success); flex-shrink: 0; }
.livre-name { flex: 1; font-size: 13px; color: var(--text-muted); }
.livre-label { font-size: 10px; color: var(--state-success); font-weight: 600; }

/* ================================================================
   N2 EMPTY STATE
   ================================================================ */
.n2-empty {
  padding: 48px 24px; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.n2-icon { font-size: 48px; color: var(--text-disabled); }
.n2-title { font-size: 16px; font-weight: 700; color: var(--text-secondary); }
.n2-sub { font-size: 13px; color: var(--text-muted); max-width: 360px; }
.n2-chips { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.n2-chip {
  padding: 4px 12px; border-radius: 12px;
  border: 1px dashed var(--border-default); color: var(--text-disabled); font-size: 11px;
}
.n2-cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; background: var(--accent-brand); color: #fff;
  border: none; border-radius: var(--radius-base, 4px);
  font-size: 13px; font-weight: 600; cursor: pointer;
  font-family: var(--font-sans); text-decoration: none;
}
.n2-cta:hover { opacity: .9; }

/* ================================================================
   STATUS FILTER (STF / SAEB / Resolvidos)
   Posicionado acima do banner sticky, abaixo do segmented AMS/N2
   ================================================================ */
.status-filter-row {
  display: flex; align-items: center; gap: 4px;
  margin-bottom: 10px; flex-wrap: wrap;
}
.status-pill {
  display: inline-flex; align-items: center;
  padding: 4px 14px; border-radius: 16px;
  font-size: 12px; font-weight: 600; cursor: pointer;
  border: 1px solid var(--border-default);
  background: transparent; color: var(--text-muted);
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
  white-space: nowrap; font-family: var(--font-sans);
}
.status-pill:hover:not(.active) {
  background: var(--surface-hover); color: var(--text-secondary);
  border-color: var(--border-strong);
}
.status-pill.active {
  background: var(--accent-brand); color: #fff;
  border-color: var(--accent-brand);
  box-shadow: 0 1px 4px rgba(29,78,216,.3);
}
.status-pill:focus-visible { outline: 2px solid var(--accent-brand-text); outline-offset: 2px; }
[data-theme="light"] .status-pill { border-color: var(--border-default); }

/* ================================================================
   WRAPPER PRINCIPAL (.mon-wrapper)
   ================================================================ */
.mon-wrapper {
  display: flex; flex-direction: column;
}

/* ================================================================
   PATCH a11y 2.7 — Echo audit 2026-05-07
   SC 1.4.3 (contraste) / 2.4.11 (focus-visible) / 4.1.2 (name/role)
   Tokens: #B91C1C (load-sobrecarga backlog), #92400E (--state-warning light),
           var(--text-primary), var(--accent-brand-text)
   ================================================================ */

/* BLOCK-1 + BLOCK-2 — texto dark-mode contraste insuficiente */
[data-theme="dark"] .ua-msg          { color: var(--text-primary); }
[data-theme="dark"] .ua-count-inline { color: var(--text-primary); }

/* BLOCK-3 + chip-danger dark — fundo vermelho contraste insuficiente */
[data-theme="dark"] .ua-toggle-btn   { background: #B91C1C; }
[data-theme="dark"] .ua-chip-danger  { background: #B91C1C; }

/* BLOCK-4 chip-success dark — texto escuro sobre verde claro */
[data-theme="dark"] .ua-chip-success { color: #111C28; }

/* BLOCK-5 + MEDIUM-2 — aging light insuficiente (usa #92400E = --state-warning light) */
[data-theme="light"] .mon-aging-02 { color: #92400E; }
[data-theme="light"] .mon-aging-03 { color: #92400E; }

/* HIGH-2 — n2-cta foco teclado (SC 2.4.11) */
.n2-cta:focus-visible { outline: 2px solid var(--accent-brand-text); outline-offset: 2px; }

/* MEDIUM-1 — summary foco teclado (SC 2.4.11) */
.grupo-summary:focus-visible,
.consultor-summary:focus-visible { outline: 2px solid var(--accent-brand-text); outline-offset: 2px; }

/* ================================================================
   PATCH a11y 2.7.1 — Echo audit Gate 2 — 2026-05-09
   SC 1.4.3 (contraste texto) / SC 1.4.11 (contraste UI non-text)
   BLOCKERs resolvidos:
     BLOCK-G1: mon-badge-inc dark 4.27:1 → #F8A869 = 6.25:1 PASS
     BLOCK-G2: mon-badge-sol dark 3.84:1 → #60B8FF = 5.65:1 PASS
     BLOCK-G3: mon-stf-stf dark  4.18:1 → #4D9FFF = 4.84:1 PASS
     BLOCK-G4: load-pill.alta bg #D97706 (3.19:1) → #B45309 (5.02:1) PASS
     BLOCK-G5: consultor-summary[open] border dark 2.29:1 → #4D9FFF 5.63:1 PASS
   ================================================================ */

/* BLOCK-G1 — badge Inc dark: #E67E22 (4.27:1 FAIL) → #F8A869 (6.25:1 PASS) */
[data-theme="dark"] .mon-badge-inc { color: #F8A869; }

/* BLOCK-G2 — badge Sol dark: #3498DB (3.84:1 FAIL) → #60B8FF (5.65:1 PASS) */
[data-theme="dark"] .mon-badge-sol { color: #60B8FF; }

/* BLOCK-G3 — stf-badge STF dark: #3498DB (4.18:1 FAIL) → #4D9FFF (4.84:1 PASS) */
[data-theme="dark"] .mon-stf-stf { color: #4D9FFF; }

/* BLOCK-G4 — load-pill alta: bg #D97706 branco (3.19:1 FAIL) → #B45309 (5.02:1 PASS) */
.load-alta { background: #B45309; }

/* BLOCK-G5 — consultor-summary[open] border dark: #1D4ED8 / blended bg (2.29:1 FAIL SC 1.4.11)
   Usa accent-brand-text = #4D9FFF que rende 5.63:1 sobre o bg blended */
[data-theme="dark"] details[open] > .consultor-summary {
  border-left-color: #4D9FFF;
}
