/* v1.9.86 — regras de celular migradas para mobile.css (arquivo unico, corte 650px). */
/* v1.9.58–v1.9.60 — faixa compacta e uniforme da Agenda e fila. */
#page-queue .queue-mode-bar { padding:12px 14px; }
#page-queue .queue-mode-copy span { font-size:11px; }
#page-queue .queue-mode-count { min-width:82px; }

#page-queue .queue-item {
  align-items:center;
  grid-template-columns:66px minmax(410px,1.45fr) minmax(290px,1fr) 150px minmax(380px,1.15fr);
  column-gap:12px;
  row-gap:8px;
  padding:11px 12px;
}

#page-queue .queue-item > * { min-width:0; }

/* Ao filtrar um único profissional, o badge já aparece no cabeçalho da fila.
   A coluna duplicada some e o espaço é redistribuído entre os dados do card. */
#page-queue .queue-item.queue-single-provider {
  grid-template-columns:66px minmax(410px,1.45fr) 150px minmax(380px,1.15fr);
}

/* Cliente, autoria e acompanhantes formam uma única área, sem caixas internas. */
#page-queue .queue-client {
  display:grid;
  align-content:center;
  gap:7px;
  min-width:0;
}

#page-queue .queue-name { align-items:center; min-height:0; }

#page-queue .queue-person-meta,
#page-queue .queue-person-meta.has-companions {
  display:grid;
  grid-template-columns:minmax(145px,.88fr) minmax(170px,1.12fr);
  align-items:start;
  gap:14px;
  min-width:0;
  margin:0;
  padding-top:7px;
  border-top:1px solid var(--border);
}

#page-queue .queue-person-meta .queue-created-by {
  display:block;
  width:auto;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

#page-queue .queue-created-copy { gap:0; }
#page-queue .queue-created-label { font-size:8px; line-height:1.2; }
#page-queue .queue-created-name,
#page-queue .queue-companion-name,
#page-queue .queue-companion-empty { font-size:11px; line-height:1.25; }
#page-queue .queue-created-date { font-size:8.5px; line-height:1.2; }
#page-queue .queue-companion-empty { display:block; margin-top:1px; color:var(--muted); font-weight:750; }
#page-queue .queue-companions-card.is-empty { background:transparent; }
#page-queue .queue-companions-list { gap:0; margin-top:1px; }
#page-queue .queue-companions-count { margin-top:2px; font-size:8.5px; line-height:1.2; }

/* Responsável no padrão compacto original da Agenda e fila. A faixa lateral
   agora é a própria borda esquerda, garantindo cantos iguais em todas as cores. */
#page-queue .queue-lawyer { display:block; min-width:0; }
#page-queue .queue-responsible-card {
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}

#page-queue .queue-responsible-card > .lawyer-badge {
  width:100%;
  min-height:0;
  padding:8px 11px;
  border:2px solid var(--lawyer-color) !important;
  border-left-width:6px !important;
  border-radius:12px !important;
  box-shadow:none !important;
  overflow:hidden;
}

#page-queue .queue-responsible-card.is-rank { display:flex; align-items:center; min-height:58px; padding:8px 10px; }

#page-queue .queue-responsible-card .lawyer-badge-avatar { width:34px; height:34px; }
#page-queue .queue-responsible-card .lawyer-badge-label { font-size:8px; }
#page-queue .queue-responsible-card .lawyer-badge-name { font-size:14px; }

/* Horário, data e situação mantêm a coluna, sem caixa externa. */
#page-queue .queue-schedule {
  display:block;
  min-width:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}

#page-queue .queue-schedule .queue-time {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  padding:4px 8px 6px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center;
}

#page-queue .queue-schedule .queue-time > .queue-time-primary { display:flex; align-items:center; justify-content:center; min-height:21px; font-size:18px; font-weight:950; line-height:1.05; font-variant-numeric:tabular-nums; }
#page-queue .queue-schedule .queue-time .queue-meta { margin-top:2px; font-size:9px; }
#page-queue .queue-schedule .queue-status {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:0;
  padding:6px 8px 0;
  border-top:1px solid var(--border);
  text-align:center;
}
#page-queue .queue-schedule .queue-status-jump,
#page-queue .queue-schedule .status-pill { width:100%; }
#page-queue .queue-schedule .queue-status-jump { display:flex; justify-content:center; }
#page-queue .queue-schedule .status-pill {
  justify-content:center;
  min-height:26px;
  padding:5px 7px;
}

/* v1.9.69 — as cores originais dos status ocupam o card inteiro, mas autoria
   e acompanhantes permanecem como textos na grade, sem caixas próprias. */
#page-queue .queue-item.queue-present .queue-created-by,
#page-queue .queue-item.queue-called .queue-created-by,
#page-queue .queue-item.queue-call-viewed .queue-created-by,
#page-queue .queue-item.queue-in-service .queue-created-by,
#page-queue .queue-item.queue-completed .queue-created-by,
#page-queue .queue-item.queue-rescheduled .queue-created-by,
#page-queue .queue-item.queue-missed .queue-created-by,
#page-queue .queue-item.queue-withdrawn .queue-created-by {
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* Ações preservam a ordem original em duas linhas. */
#page-queue .queue-actions {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-content:center;
  gap:6px;
  min-width:0;
}

#page-queue .queue-actions .btn-sm,
#page-queue .queue-actions .call-viewed-badge {
  width:100%;
  min-width:0;
  min-height:34px;
  margin:0;
  padding:7px 8px;
  white-space:normal;
}

/* v2.0.20.23 — contorno no próprio formato dos botões da fila. A variável
   fica no card inteiro para funcionar também quando um único responsável
   está selecionado e a coluna com o nome dele fica oculta. */
#page-queue .queue-actions .btn-sm {
  border:1.5px solid var(--lawyer-color, var(--primary));
  border-color:color-mix(in srgb,var(--lawyer-color,var(--primary)) 72%,var(--border));
  box-shadow:none;
}

#page-queue .queue-actions .btn-sm:hover {
  border-color:var(--lawyer-color,var(--primary));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--lawyer-color,var(--primary)) 14%,transparent);
}

/* v2.0.20.35 — "Liberar entrada" permanece em uma única linha.
   Nos layouts em grade ele ocupa duas colunas para não esmagar o texto. */
@media (min-width:651px) {
  #page-queue .queue-actions .queue-action-wide {
    grid-column:span 2;
    white-space:nowrap;
  }
}

@media (max-width:1400px) and (min-width:1281px) {
  #page-queue .queue-item {
    grid-template-columns:58px minmax(350px,1.28fr) minmax(245px,.88fr) 142px minmax(350px,1.12fr);
    gap:10px;
  }
  #page-queue .queue-item.queue-single-provider {
    grid-template-columns:58px minmax(350px,1.28fr) 142px minmax(350px,1.12fr);
  }
}

@media (max-width:1280px) and (min-width:921px) {
  #page-queue .queue-item {
    grid-template-columns:58px minmax(340px,1fr) 142px minmax(350px,1fr);
    gap:10px;
  }
  #page-queue .queue-item.queue-single-provider {
    grid-template-columns:58px minmax(340px,1fr) 142px minmax(350px,1fr);
  }
  #page-queue .queue-item .queue-lawyer { display:none; }
  #page-queue .queue-lawyer-mobile { display:block; margin-top:1px; }
  #page-queue .queue-lawyer-mobile .lawyer-badge { width:100%; }
}

@media (max-width:920px) and (min-width:651px) {
  #page-queue .queue-item { grid-template-columns:54px minmax(280px,1fr) minmax(300px,.9fr); }
  #page-queue .queue-item.queue-single-provider { grid-template-columns:54px minmax(280px,1fr) minmax(300px,.9fr); }
  #page-queue .queue-item .queue-lawyer,
  #page-queue .queue-schedule { display:none; }
  #page-queue .queue-lawyer-mobile { display:block; }
  #page-queue .queue-actions { grid-template-columns:repeat(2,minmax(100px,1fr)); }
}
