body:has([data-kanban-board]) .app-shell { min-height: 100dvh; overflow: visible; }
body:has([data-kanban-board]) .app-main { display: flex; min-height: 0; flex-direction: column; }
body:has([data-kanban-board]) .app-content { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: visible; }
.kanban-board { display: flex; gap: 16px; min-height: 0; flex: none; overflow-x: auto; padding-bottom: 14px; align-items: flex-start; }
.kanban-column { flex: 0 0 min(310px, 25vw); min-width: 280px; height: 100dvh; min-height: 0; display: flex; flex-direction: column; background: #1c1f24; border: 1px solid #343841; border-radius: 8px; }
.kanban-column-header { padding: 14px 16px; border-bottom: 1px solid #343841; display: flex; justify-content: space-between; align-items: flex-start; }
.kanban-column-header h2 { font-size: 12px; letter-spacing: .04em; margin: 0 0 4px; font-weight: 700; }
.kanban-column-header span { color: var(--app-muted); font-size: 12px; }
.kanban-column-body { flex: 1; overflow-y: auto; padding: 12px; min-height: 0; }
.kanban-card { padding: 0; margin-bottom: 10px; background: #292d34; border: 1px solid #3a3f48; border-radius: 6px; cursor: grab; }
.kanban-card-body { padding: 14px; border-radius: 6px 6px 0 0; cursor: pointer; outline: 0; }
.kanban-card-body:hover { background: rgba(255, 255, 255, .025); }
.kanban-card-body:focus-visible { box-shadow: inset 0 0 0 2px var(--app-accent); }
.kanban-card-footer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 14px; border-top: 1px solid #3a3f48; background: rgba(0, 0, 0, .08); border-radius: 0 0 6px 6px; cursor: default; }
.kanban-card-footer .card-actions { margin: 0; }
.kanban-card-footer .card-templates, .kanban-card-footer .card-browser, .kanban-card-footer .card-checklist { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin: 0; padding: 0; border: 0; }
.kanban-card-footer .card-browser-buttons, .kanban-card-footer .checklist-buttons { margin: 0; }
.kanban-card-footer .browser-usage, .kanban-card-footer .browser-error, .kanban-card-footer .checklist-date { flex-basis: 100%; }
/* Responsavel atribuido: destaque so no nome (.card-assignee); a borda verde agora indica "Qualificado" (2026-10-01). */
.kanban-card:active { cursor: grabbing; }
.kanban-card strong { font-size: 13px; line-height: 1.35; }
.card-actions { margin: -6px -6px 0 0; }
.card-menu-button { padding: 2px 4px; color: var(--app-muted); border: 0; }
.card-menu-button:hover, .card-menu-button:focus { color: #fff; background: #3a3f48; }
.card-menu-button .material-icons { font-size: 18px; }
.kanban-card small { display: block; margin-top: 10px; color: var(--app-muted); }
/* Login da conta abaixo do titulo quando o card ja tem ID da BM (titulo = ID da BM). */
.kanban-card .card-login { display: block; color: var(--app-muted); font-size: 12px; overflow-wrap: anywhere; }
.kanban-card .card-assignee { color: #7bd9a8; font-weight: 500; }
/* Indicadores de dados cadastrados (2026-10-07): cinza sem o dado, verde com o dado. */
.kanban-card .card-indicators { display: flex; gap: 6px; margin-top: 6px; }
.kanban-card .card-indicator { font-size: 17px; color: #5f6368; cursor: default; }
.kanban-card .card-indicator.is-on { color: #34c38f; }
.warming-indicator { display: flex; align-items: center; gap: 4px; margin-top: 10px; color: #ffb648; font-size: 12px; font-weight: 600; }
.warming-indicator .material-icons { font-size: 16px; }
.kanban-column.drag-over { border-color: var(--app-accent); background: #242743; }
.kanban-load-more { display: none; text-align: center; color: var(--app-muted); font-size: 12px; padding: 8px; }
@media (max-width: 900px) { .kanban-column { flex-basis: 300px; } }
@media (max-width: 600px) {
  body:has([data-kanban-board]) .app-shell { height: auto; min-height: 100dvh; overflow: visible; }
  body:has([data-kanban-board]) .app-main, body:has([data-kanban-board]) .app-content { display: block; }
  .kanban-board { height: auto; min-height: 0; }
}
.kanban-card .card-adspower { display: flex; align-items: center; gap: 4px; color: #8ab4ff; }
.kanban-card .card-adspower .material-icons { font-size: 14px; }
body .kanban-card.has-proxy-error { border-color: #ff5d68; box-shadow: inset 3px 0 0 #ff5d68; }
.kanban-card .card-proxy-error { margin-left: 4px; color: #ff7b84; font-weight: 700; }
/* Coluna RESERVADO: lote de disparo em montagem (desabilitada sem lote aberto). */
.kanban-column-reserved { border-color: #5057bd; }
.kanban-column-reserved.is-disabled { border-style: dashed; border-color: #40444d; }
.kanban-column-reserved.is-disabled .kanban-column-body { opacity: .45; }
.batch-empty-state { padding: 18px 16px; text-align: center; border-bottom: 1px solid #343841; }
.batch-empty-state p { margin: 0 0 10px; color: var(--app-muted); font-size: 13px; }
.batch-config-button { padding: 2px 6px; line-height: 1; }
.batch-config-button .material-icons { font-size: 18px; }
.kanban-column-header .batch-contacts { display: block; margin-top: 2px; }
.kanban-column-header .batch-contacts.is-over { color: #f0ad4e; font-weight: 600; }
/* Checklist do lote (etapa 4): um icone por item, colorido pelo resultado. */
.card-checklist { margin-top: 10px; padding-top: 8px; border-top: 1px solid #343841; }
.checklist-icons { display: flex; gap: 6px; }
.checklist-icon { font-size: 18px; color: #6c727f; cursor: help; }
.checklist-icon.is-ok { color: #4caf50; }
.checklist-icon.is-alerta { color: #f0ad4e; }
.checklist-icon.is-erro { color: #ff6b6b; }
.checklist-buttons { display: flex; gap: 6px; margin-top: 6px; }
.checklist-buttons .btn { padding: 1px 8px; font-size: 12px; }
.kanban-card small.checklist-date { margin-top: 4px; font-size: 11px; }
.kanban-column-header .batch-ready { display: block; margin-top: 2px; }
.batch-check-all { margin-top: 6px; padding: 1px 8px; font-size: 12px; }
/* BM em ATENCAO no envio (etapa 6). */
.attention-badge { display: inline-flex; align-items: center; gap: 3px; }
.attention-badge .material-icons { font-size: 14px; }
/* Templates da WABA (JOBS/2026-09-24_02): um icone por template, cor pelo status. */
.card-templates { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 8px; }
.card-templates .btn { padding: 1px 8px; font-size: 12px; }
.template-icons { display: flex; flex-wrap: wrap; gap: 3px; }
.template-icon { position: relative; display: inline-flex; cursor: help; }
.template-icon .material-icons { font-size: 18px; }
.tpl-gray { color: #6c727f; }
.tpl-blue { color: #53bdeb; }
.tpl-green { color: #4caf50; }
.tpl-yellow { color: #f0ad4e; }
.tpl-red { color: #ff6b6b; }
.template-dot { position: absolute; top: -1px; right: -2px; width: 7px; height: 7px; border-radius: 50%; background: #ff3b3b; box-shadow: 0 0 0 1px #1c1f24; }

