/* /Components/ConsultaCnpj/AddHotPhoneDialog.razor.rz.scp.css */
/* Modal de Adicionar Contato HOT — estilos específicos.
   Os blocos genéricos (.modal-backdrop, .modal, .modal__head, .input, .btn)
   moram em wwwroot/css/app.css e seguem o padrão dos outros modais do app. */

.modal.modal--hotphone[b-1q19pzhi1h] {
    max-width: 520px;
}

.hotphone-hint[b-1q19pzhi1h] {
    margin: 0 0 16px;
    color: var(--color-text-muted, #64748b);
    font-size: 13px;
    line-height: 1.4;
}

/* Toggle Celular/Fixo — dois botões que parecem um pill segmentado.
   O container herda a largura do .field (que é flex column num grid de duas
   colunas), então os botões dividem o espaço meio-a-meio em vez de deixar
   um vão à direita do "Fixo". */
.hotphone-toggle[b-1q19pzhi1h] {
    display: flex;
    align-items: stretch;
    width: 100%;
    gap: 0;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    height: 38px;
}

.hotphone-toggle__opt[b-1q19pzhi1h] {
    appearance: none;
    border: none;
    background: transparent;
    padding: 0 14px;
    font-size: 13px;
    color: var(--color-text-muted, #64748b);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 0;
    min-width: 0;
    transition: background-color .12s ease, color .12s ease;
}

.hotphone-toggle__opt + .hotphone-toggle__opt[b-1q19pzhi1h] {
    border-left: 1px solid var(--color-border, #e2e8f0);
}

.hotphone-toggle__opt:hover:not(:disabled)[b-1q19pzhi1h] {
    background: var(--color-surface-hover, #f1f5f9);
    color: var(--color-text, #0f172a);
}

.hotphone-toggle__opt.is-active[b-1q19pzhi1h] {
    background: #fee2e2;
    color: #be123c;
    font-weight: 600;
}

.hotphone-toggle__opt:disabled[b-1q19pzhi1h] {
    opacity: .55;
    cursor: not-allowed;
}

.field-hint[b-1q19pzhi1h] {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: var(--color-text-muted, #64748b);
}
/* /Components/ConsultaCnpj/AgendamentoAssessorResumo.razor.rz.scp.css */
.aar[b-i0w4des42f] {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid #FCD34D;
    border-radius: 8px;
    background: #FFFBEB;
}

.aar__topo[b-i0w4des42f] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.aar__titulo[b-i0w4des42f] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #78350F;
}

.aar__btn[b-i0w4des42f] {
    padding: 6px 14px;
    font-size: 13px;
}

.aar__grid[b-i0w4des42f] {
    margin-top: 12px;
}

.aar__largo[b-i0w4des42f] {
    grid-column: 1 / -1;
}

.aar__texto[b-i0w4des42f] {
    white-space: pre-wrap;
}

.aar__info[b-i0w4des42f] {
    display: block;
    margin-top: 8px;
    color: #92400E;
    font-size: 11px;
}

@media print {
    .aar[b-i0w4des42f] { background: none; }
}
/* /Components/ConsultaCnpj/HeaderEmpresa.razor.rz.scp.css */
/* HeaderEmpresa — complementos ao app.css.
   Atalho de notas pessoais na barra de ações (item #32219). O ícone é o mesmo
   .btn-icon dos vizinhos; aqui só o realce de "já tem nota" e o contador. */

/* gap entre ícone e contador, e espaço pro badge não colar na borda. */
.cnpj-notes-btn[b-vgpjpqqqy8] {
    gap: 5px;
}

.cnpj-notes-btn--has[b-vgpjpqqqy8] {
    color: #1D4ED8;
    border-color: #BFDBFE;
    background: #EFF6FF;
}

.cnpj-notes-btn--has:hover:not(:disabled)[b-vgpjpqqqy8] {
    background: #DBEAFE;
    border-color: #93C5FD;
}

.cnpj-notes-btn__count[b-vgpjpqqqy8] {
    min-width: 16px;
    padding: 0 5px;
    border-radius: 999px;
    background: #2563EB;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}
/* /Components/Kanban/AgendamentoTerceiroCampos.razor.rz.scp.css */
.agt-campos[b-jvhve9z4gt] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Data e tipo dividem a primeira linha; grade, link/endereço e observação ocupam a largura. */
.agt-campos > .field:nth-child(n + 3)[b-jvhve9z4gt] {
    grid-column: 1 / -1;
}

.agt-slots[b-jvhve9z4gt] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
    gap: 6px;
}

.agt-slot[b-jvhve9z4gt] {
    padding: 6px 0;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    color: #334155;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.agt-slot:hover:not(:disabled)[b-jvhve9z4gt] { border-color: #93C5FD; background: #EFF6FF; }

.agt-slot.is-active[b-jvhve9z4gt] {
    border-color: #2563EB;
    background: #2563EB;
    color: #fff;
}

.agt-slot.is-busy[b-jvhve9z4gt] {
    color: #CBD5E1;
    text-decoration: line-through;
    background: #F8FAFC;
    cursor: not-allowed;
}

.agt-slot:disabled:not(.is-busy)[b-jvhve9z4gt] { opacity: .6; cursor: not-allowed; }

.agt-toggle[b-jvhve9z4gt] {
    display: inline-flex;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.agt-toggle__opt[b-jvhve9z4gt] {
    flex: 1;
    padding: 7px 14px;
    border: 0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.agt-toggle__opt + .agt-toggle__opt[b-jvhve9z4gt] { border-left: 1px solid #E2E8F0; }

.agt-toggle__opt.is-active[b-jvhve9z4gt] { background: #EFF6FF; color: #1D4ED8; font-weight: 600; }

.agt-toggle__opt:disabled[b-jvhve9z4gt] { opacity: .6; cursor: not-allowed; }

.agt-endereco[b-jvhve9z4gt] {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.agt-endereco__nome[b-jvhve9z4gt] { font-size: 13px; font-weight: 600; color: #1E293B; }
.agt-endereco__full[b-jvhve9z4gt] { font-size: 12px; color: #64748B; }

@media (max-width: 600px) {
    .agt-campos[b-jvhve9z4gt] { grid-template-columns: 1fr; }
}
/* /Components/Kanban/AgendamentoTerceiroForm.razor.rz.scp.css */
.agf-atendente[b-olvxepfk28] {
    margin-bottom: 16px;
}

.agf-aviso[b-olvxepfk28] {
    margin: 0;
    padding: 12px;
    border: 1px dashed #CBD5E1;
    border-radius: 8px;
    color: #64748B;
    font-size: 13px;
}

.agf-toggle[b-olvxepfk28] {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.agf-toggle__opt[b-olvxepfk28] {
    padding: 7px 14px;
    border: 0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.agf-toggle__opt + .agf-toggle__opt[b-olvxepfk28] { border-left: 1px solid #E2E8F0; }

.agf-toggle__opt.is-active[b-olvxepfk28] { background: #EFF6FF; color: #1D4ED8; font-weight: 600; }

.agf-toggle__opt:disabled[b-olvxepfk28] { opacity: .6; cursor: not-allowed; }

.agf-contato[b-olvxepfk28] {
    margin-top: 16px;
}

.agf-contato__lista[b-olvxepfk28] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.agf-contato__opt[b-olvxepfk28] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #334155;
}

.agf-contato__opt.is-active[b-olvxepfk28] { border-color: #2563EB; background: #EFF6FF; }

.agf-contato__nome[b-olvxepfk28] { flex: 1; font-weight: 500; }

.agf-contato__tel[b-olvxepfk28] {
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

.agf-contato__novo[b-olvxepfk28] {
    margin-top: 10px;
}
/* /Components/Kanban/LeadNotesModal.razor.rz.scp.css */
/* LeadNotesModal — complementos ao modal.css global (item #32219).
   Estrutura (modal, field, input, botões) vem do modal.css; aqui só o que é
   específico da escrita e da lista de notas. */

.modal--notes[b-fiqn1y66y1] {
    width: min(560px, 94vw);
}

.lead-notes__company[b-fiqn1y66y1] {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
}

.lead-notes__privacy[b-fiqn1y66y1] {
    margin: 0 0 14px;
    font-size: 12px;
    color: #64748B;
    line-height: 1.5;
}

.lead-notes__input[b-fiqn1y66y1] {
    min-height: 96px;
}

/* Contador do limite — alinhado à direita, logo abaixo do campo. */
.lead-notes__counter[b-fiqn1y66y1] {
    margin-top: 4px;
    font-size: 11px;
    color: #94A3B8;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.lead-notes__counter--warn[b-fiqn1y66y1] {
    color: #B45309;
    font-weight: 600;
}

.lead-notes__actions[b-fiqn1y66y1] {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.lead-notes__list-head[b-fiqn1y66y1] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 18px 0 8px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #64748B;
}

.lead-notes__list-count[b-fiqn1y66y1] {
    padding: 1px 8px;
    border-radius: 999px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: #1D4ED8;
    font-size: 11px;
}

/* Teto de altura: histórico longo rola dentro da modal, e o campo de escrita
   continua visível sem precisar rolar de volta. */
.lead-notes__list[b-fiqn1y66y1] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 320px;
    overflow-y: auto;
}

.lead-notes__item[b-fiqn1y66y1] {
    padding: 10px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
}

.lead-notes__when[b-fiqn1y66y1] {
    display: block;
    font-size: 11px;
    color: #94A3B8;
    margin-bottom: 4px;
}

/* pre-line preserva as quebras que o usuário digitou no textarea. */
.lead-notes__text[b-fiqn1y66y1] {
    margin: 0;
    font-size: 13px;
    color: #1E293B;
    line-height: 1.5;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.lead-notes__empty[b-fiqn1y66y1] {
    padding: 16px 12px;
    border: 1px dashed #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
    color: #94A3B8;
    font-size: 13px;
    text-align: center;
    line-height: 1.5;
}
/* /Components/Kanban/MailingStatusBar.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   MailingStatusBar — Barra empilhada da situação da mailing no Callix.
   Visual espelha o popover do portal Callix (Atendidos, Limite de tentativas,
   Bloqueados, Pendentes, Suspensos, Rechamadas, Pós-atendimento).
   Vive no topo da coluna "Em Prospecção" do KanbanGestor.
   ═══════════════════════════════════════════════════════════════════════════ */

.mstat[b-j421v6wlla] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 14px 10px;
    background: #fff;
    border-bottom: 1px solid #EEF0F3;
    cursor: default;
}

.mstat__head[b-j421v6wlla] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: #475569;
}

.mstat__label[b-j421v6wlla] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #334155;
}

.mstat__total[b-j421v6wlla] {
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

/* ── Barra empilhada ─────────────────────────────────────────────────────── */
.mstat__bar[b-j421v6wlla] {
    display: flex;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: #E2E8F0;
    overflow: hidden;
}

.mstat__seg[b-j421v6wlla] {
    height: 100%;
    transition: width .3s ease;
}

/* Cores — alinhadas com a paleta do portal Callix (verde/vermelho/cinza),
   complementadas com tons distintos pra os demais estados. */
.mstat__seg--done[b-j421v6wlla]       { background: #10B981; }  /* verde — Atendidos */
.mstat__seg--failed[b-j421v6wlla]     { background: #EF4444; }  /* vermelho — Limite de tentativas */
.mstat__seg--blocked[b-j421v6wlla]    { background: #1F2937; }  /* grafite — Bloqueados */
.mstat__seg--pending[b-j421v6wlla]    { background: #94A3B8; }  /* cinza médio — Pendentes */
.mstat__seg--suspended[b-j421v6wlla]  { background: #F59E0B; }  /* âmbar — Suspensos */
.mstat__seg--scheduled[b-j421v6wlla]  { background: #6366F1; }  /* indigo — Rechamadas */
.mstat__seg--aftercall[b-j421v6wlla]  { background: #06B6D4; }  /* ciano — Pós-atendimento */

/* ── Estado vazio (campanha existe mas sem contatos) ─────────────────────── */
.mstat--empty[b-j421v6wlla] {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.mstat__empty-msg[b-j421v6wlla] {
    font-size: 11px;
    color: #94A3B8;
    font-style: italic;
}

/* ── Tooltip — aparece no hover/focus, mesmo formato do popover do Callix ── */
.mstat__tip[b-j421v6wlla] {
    position: absolute;
    top: calc(100% + 6px);
    left: 14px;
    right: 14px;
    z-index: 5;
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
    font-size: 12px;
    color: #1F2937;
}

.mstat:hover .mstat__tip[b-j421v6wlla],
.mstat:focus-within .mstat__tip[b-j421v6wlla] {
    display: flex;
}

.mstat__tip-row[b-j421v6wlla] {
    display: grid;
    grid-template-columns: 10px 1fr auto;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}

.mstat__tip-row--zero[b-j421v6wlla] {
    color: #94A3B8;
}

.mstat__tip-dot[b-j421v6wlla] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
}

.mstat__tip-label[b-j421v6wlla] {
    font-weight: 600;
}

.mstat__tip-value[b-j421v6wlla] {
    font-variant-numeric: tabular-nums;
    color: #475569;
}

.mstat__tip-row--zero .mstat__tip-label[b-j421v6wlla],
.mstat__tip-row--zero .mstat__tip-value[b-j421v6wlla] {
    color: #94A3B8;
    font-weight: 500;
}

/* ── Rodapé: status operacional da campanha (enum Callix) ────────────────── */
.mstat__tip-status[b-j421v6wlla] {
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    line-height: 1.4;
}

.mstat__tip-status-label[b-j421v6wlla] {
    font-weight: 600;
    color: #334155;
}

.mstat__tip-status-value[b-j421v6wlla] {
    color: #1F2937;
}
/* /Components/Kanban/MailingStatusBarInline.razor.rz.scp.css */
/* MailingStatusBarInline — versão compacta da barra de mailing, usada
   em cards de listas (Meus Agentes, Gestores & Equipes). Visual idêntico
   ao da MailingStatusBar do Kanban, com paddings menores pra caber dentro
   de cards. */

.mstat-inline[b-iomuess1zc] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
    cursor: default;
}

.mstat-inline__head[b-iomuess1zc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: #475569;
}

.mstat-inline__label[b-iomuess1zc] {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #334155;
}

.mstat-inline__total[b-iomuess1zc] {
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

.mstat-inline__bar[b-iomuess1zc] {
    display: flex;
    width: 100%;
    height: 7px;
    border-radius: 999px;
    background: #E2E8F0;
    overflow: hidden;
}

.mstat-inline__seg[b-iomuess1zc] {
    height: 100%;
    transition: width .3s ease;
}

/* Mesma paleta da MailingStatusBar (Kanban) — visual consistente. */
.mstat-inline__seg--done[b-iomuess1zc]       { background: #10B981; }
.mstat-inline__seg--failed[b-iomuess1zc]     { background: #EF4444; }
.mstat-inline__seg--blocked[b-iomuess1zc]    { background: #1F2937; }
.mstat-inline__seg--pending[b-iomuess1zc]    { background: #94A3B8; }
.mstat-inline__seg--suspended[b-iomuess1zc]  { background: #F59E0B; }
.mstat-inline__seg--scheduled[b-iomuess1zc]  { background: #6366F1; }
.mstat-inline__seg--aftercall[b-iomuess1zc]  { background: #06B6D4; }

.mstat-inline--empty[b-iomuess1zc] {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.mstat-inline__empty-msg[b-iomuess1zc] {
    font-size: 11px;
    color: #94A3B8;
    font-style: italic;
}

/* Tooltip — popover similar ao da Callix.
   Largura é DESACOPLADA do card: `max-content` + min/max impedem que
   colunas estreitas do grid (~260px) espremam o tooltip e quebrem cada
   linha em duas (sintoma observado em "Gestores & Equipes" quando a
   barra ficava em coluna estreita). */
.mstat-inline__tip[b-iomuess1zc] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 5;
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
    font-size: 12px;
    color: #1F2937;
    width: max-content;
    min-width: 220px;
    max-width: min(280px, calc(100vw - 32px));
    /* Evita ficar atrás do scroll horizontal quando o tooltip ultrapassar
       a borda direita do card mas ainda couber no viewport. */
    white-space: normal;
}

.mstat-inline:hover .mstat-inline__tip[b-iomuess1zc],
.mstat-inline:focus-within .mstat-inline__tip[b-iomuess1zc] {
    display: flex;
}

.mstat-inline__tip-row[b-iomuess1zc] {
    display: grid;
    grid-template-columns: 10px 1fr auto;
    align-items: center;
    gap: 8px;
    line-height: 1.4;
}

.mstat-inline__tip-row--zero[b-iomuess1zc] {
    color: #94A3B8;
}

.mstat-inline__tip-dot[b-iomuess1zc] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
}

.mstat-inline__tip-label[b-iomuess1zc] {
    font-weight: 600;
}

.mstat-inline__tip-value[b-iomuess1zc] {
    font-variant-numeric: tabular-nums;
    color: #475569;
}

.mstat-inline__tip-row--zero .mstat-inline__tip-label[b-iomuess1zc],
.mstat-inline__tip-row--zero .mstat-inline__tip-value[b-iomuess1zc] {
    color: #94A3B8;
    font-weight: 500;
}

/* ── Rodapé: status operacional da campanha (enum Callix) ────────────────── */
.mstat-inline__tip-status[b-iomuess1zc] {
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid #E2E8F0;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    line-height: 1.4;
}

.mstat-inline__tip-status-label[b-iomuess1zc] {
    font-weight: 600;
    color: #334155;
}

.mstat-inline__tip-status-value[b-iomuess1zc] {
    color: #1F2937;
}
/* /Components/Kanban/MeusAgendamentosModal.razor.rz.scp.css */
.modal.mag-modal[b-obnp1apqt1] {
    width: min(980px, 100%);
}

.mag-voltar[b-obnp1apqt1] {
    margin-right: 6px;
    padding: 0 8px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    font-size: 16px;
    line-height: 22px;
    cursor: pointer;
}

.mag-topo[b-obnp1apqt1] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.mag-novo-busca[b-obnp1apqt1] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    margin-bottom: 16px;
}

.mag-novo-busca .field[b-obnp1apqt1] { flex: 1; }

.mag-novo-empresa[b-obnp1apqt1] {
    margin-bottom: 12px;
}

.mag-novo-empresa .input[b-obnp1apqt1] {
    background: #F8FAFC;
    color: #1E293B;
    text-overflow: ellipsis;
}

.mag-intro[b-obnp1apqt1] {
    margin: 0 0 14px;
    color: #64748B;
    font-size: 13px;
}

.mag-vazio[b-obnp1apqt1] {
    margin: 8px 0;
    color: #94A3B8;
    font-size: 13px;
}

/* ── Calendário ── */
.mag-cal__head[b-obnp1apqt1] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 10px;
}

.mag-cal__mes[b-obnp1apqt1] {
    min-width: 160px;
    text-align: center;
    font-weight: 600;
    color: #1E293B;
    text-transform: capitalize;
}

.mag-cal__nav[b-obnp1apqt1] {
    width: 28px;
    height: 28px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    cursor: pointer;
}

.mag-cal__grid[b-obnp1apqt1] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 4px;
}

.mag-cal__grid.is-loading[b-obnp1apqt1] { opacity: .5; }

.mag-cal__dow[b-obnp1apqt1] {
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    color: #94A3B8;
}

.mag-cal__day[b-obnp1apqt1] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    min-height: 64px;
    padding: 4px;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
}

.mag-cal__day.is-out[b-obnp1apqt1] { background: #F8FAFC; cursor: default; }
.mag-cal__day.is-out .mag-cal__num[b-obnp1apqt1] { color: #CBD5E1; }
.mag-cal__day.is-today .mag-cal__num[b-obnp1apqt1] { color: #2563EB; font-weight: 700; }
.mag-cal__day.has-items[b-obnp1apqt1] { border-color: #BFDBFE; }
.mag-cal__day.is-selected[b-obnp1apqt1] { border-color: #2563EB; box-shadow: 0 0 0 1px #2563EB inset; }

.mag-cal__num[b-obnp1apqt1] {
    font-size: 12px;
    color: #475569;
}

.mag-cal__pill[b-obnp1apqt1] {
    padding: 1px 4px;
    border-radius: 4px;
    background: #EFF6FF;
    color: #1D4ED8;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mag-cal__more[b-obnp1apqt1] {
    font-size: 10px;
    color: #64748B;
}

/* ── Lista do dia ── */
.mag-dia[b-obnp1apqt1] { margin-top: 16px; }

.mag-dia__titulo[b-obnp1apqt1] {
    margin: 0 0 8px;
    font-size: 13px;
    color: #1E293B;
    text-transform: capitalize;
}

.mag-item[b-obnp1apqt1] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-bottom: 6px;
    padding: 8px 10px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.mag-item:hover[b-obnp1apqt1] { border-color: #93C5FD; background: #F8FAFC; }

.mag-item__hora[b-obnp1apqt1] {
    font-weight: 700;
    color: #1D4ED8;
    font-variant-numeric: tabular-nums;
}

.mag-item__corpo[b-obnp1apqt1] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.mag-item__linha[b-obnp1apqt1] {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
}

.mag-item__cnpj[b-obnp1apqt1] {
    flex-shrink: 0;
    font-size: 12px;
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

.mag-item__empresa[b-obnp1apqt1] {
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mag-item__sub[b-obnp1apqt1] {
    font-size: 12px;
    color: #64748B;
}

/* Etapa do agendamento (stageId), nas cores da tela do ECAC. */
.mag-etapa[b-obnp1apqt1] {
    display: inline-block;
    align-self: flex-start;
    margin-top: 4px;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
}

.mag-etapa--agendado[b-obnp1apqt1]   { background: #5B21B6; }
.mag-etapa--perdido[b-obnp1apqt1]    { background: #991B1B; }
.mag-etapa--negociacao[b-obnp1apqt1] { background: #1D4ED8; }
.mag-etapa--fechado[b-obnp1apqt1]    { background: #15803D; }
.mag-etapa--neutra[b-obnp1apqt1]     { background: #64748B; }

.mag-tag[b-obnp1apqt1] {
    padding: 2px 8px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #475569;
    font-size: 11px;
    white-space: nowrap;
}

.mag-tag--pendente[b-obnp1apqt1] { background: #FEF3C7; color: #92400E; }
.mag-tag--concluido[b-obnp1apqt1] { background: #DCFCE7; color: #166534; }
.mag-tag--cancelado[b-obnp1apqt1] { background: #F1F5F9; color: #64748B; text-decoration: line-through; }

.mag-cal__pill--pendente[b-obnp1apqt1] { background: #FEF3C7; color: #92400E; }
.mag-cal__pill--concluido[b-obnp1apqt1] { background: #DCFCE7; color: #166534; }
.mag-cal__pill--cancelado[b-obnp1apqt1] { background: #F1F5F9; color: #94A3B8; text-decoration: line-through; }

/* ── Detalhe ── */
.mag-det__topo[b-obnp1apqt1] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.mag-det__empresa[b-obnp1apqt1] { font-size: 15px; font-weight: 600; color: #1E293B; }
.mag-det__cnpj[b-obnp1apqt1] { font-size: 12px; color: #64748B; }

.mag-det__tags[b-obnp1apqt1] { display: flex; flex-wrap: wrap; gap: 4px; align-content: flex-start; }

.mag-det__lista[b-obnp1apqt1] {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 6px 12px;
    margin: 0;
    font-size: 13px;
}

.mag-det__lista dt[b-obnp1apqt1] { color: #64748B; }
.mag-det__lista dd[b-obnp1apqt1] { margin: 0; color: #1E293B; word-break: break-word; }
.mag-det__texto[b-obnp1apqt1] { white-space: pre-wrap; }

.mag-det__secao[b-obnp1apqt1] {
    margin: 16px 0 8px;
    padding-top: 12px;
    border-top: 1px solid #EEF0F3;
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
}

.mag-det__acoes[b-obnp1apqt1] {
    display: flex;
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid #EEF0F3;
}

.mag-btn-perigo[b-obnp1apqt1] { color: #B91C1C; }

.mag-alerta[b-obnp1apqt1] {
    padding: 12px 14px;
    border: 1px solid #FECACA;
    border-radius: 8px;
    background: #FEF2F2;
    color: #7F1D1D;
    font-size: 13px;
}

.mag-alerta p[b-obnp1apqt1] { margin: 0 0 8px; }
.mag-alerta p:last-child[b-obnp1apqt1] { margin: 0; }

@media (max-width: 600px) {
    .mag-cal__day[b-obnp1apqt1] { min-height: 44px; }
    .mag-cal__pill[b-obnp1apqt1], .mag-cal__more[b-obnp1apqt1] { display: none; }
    .mag-cal__day.has-items .mag-cal__num[b-obnp1apqt1]::after { content: " •"; color: #2563EB; }
    .mag-det__lista[b-obnp1apqt1] { grid-template-columns: 1fr; }
    .mag-det__topo[b-obnp1apqt1] { flex-direction: column; }
}
/* /Components/Kanban/ProspectingRail.razor.rz.scp.css */
/* ═══════════════════════════════════════════════════════════════════════════
   ProspectingRail — Tokens da rampa roxa
   50:  #EEEDFE  |  100: #CECBF6  |  400: #7F77DD
   600: #534AB7  |  800: #3C3489  |  900: #26215C
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Wrapper externo — governa a transição de largura ───────────────────── */
.prail-wrapper[b-bahdm3z40g] {
    width: 44px;
    flex-shrink: 0;
    transition: width 200ms ease-out;
    position: relative;
}
.prail-wrapper--expanded[b-bahdm3z40g] {
    width: 300px;
}

/* ── Base do painel ─────────────────────────────────────────────────────── */
.prail[b-bahdm3z40g] {
    background: #EEEDFE;
    border: 0.5px solid #7F77DD;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
}

/* ════════════════════════════════════════════════════════════════════════════
   ESTADO RECOLHIDO
   ════════════════════════════════════════════════════════════════════════════ */
.prail--collapsed[b-bahdm3z40g] {
    width: 44px;
    min-height: 160px;
    align-items: center;
    justify-content: flex-start;
    padding: 14px 0;
    gap: 10px;
    cursor: pointer;
    background: #EEEDFE;
    border: 0.5px solid #7F77DD;
    border-radius: 8px;
    font: inherit;
    color: inherit;
    text-align: unset;
    transition: background 150ms ease-out;
}
.prail--collapsed:hover[b-bahdm3z40g]       { background: #CECBF6; }
.prail--collapsed:focus-visible[b-bahdm3z40g] {
    outline: 2px solid #7F77DD;
    outline-offset: 2px;
}

.prail__plus-circle[b-bahdm3z40g] {
    width: 28px;
    height: 28px;
    background: #7F77DD;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.prail__vertical-label[b-bahdm3z40g] {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #3C3489;
    user-select: none;
}

/* Badge numérico no estado recolhido */
.prail__badge[b-bahdm3z40g] {
    background: #7F77DD;
    color: white;
    font-size: 10px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 999px;
    min-width: 20px;
    text-align: center;
    line-height: 1.4;
}

/* ════════════════════════════════════════════════════════════════════════════
   ESTADO EXPANDIDO
   ════════════════════════════════════════════════════════════════════════════ */
.prail--expanded[b-bahdm3z40g] {
    width: 300px;
    height: 100%;
    padding: 12px;
    gap: 0;
    overflow: visible;
}

/* Fade-in do conteúdo com 50ms delay */
.prail--expanded > *[b-bahdm3z40g] {
    opacity: 0;
    transition: opacity 150ms ease-out 50ms;
}
.prail--content-visible > *[b-bahdm3z40g] { opacity: 1; }

/* ── Header ─────────────────────────────────────────────────────────────── */
.prail__header[b-bahdm3z40g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    flex-shrink: 0;
}
.prail__title[b-bahdm3z40g] {
    font-size: 13px;
    font-weight: 500;
    color: #3C3489;
}

/* ── Barra de cota diária (18h→18h) ──────────────────────────────────────── */
.prail__quota[b-bahdm3z40g] {
    margin-bottom: 12px;
    flex-shrink: 0;
    position: relative; /* âncora do tooltip de regras */
    z-index: 42;        /* acima do .prail__combo (41) pra o tooltip não ficar atrás */
}
.prail__quota-head[b-bahdm3z40g] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 5px;
}
.prail__quota-label[b-bahdm3z40g] {
    font-size: 11px;
    font-weight: 500;
    color: #534AB7;
}
.prail__quota-count[b-bahdm3z40g] {
    font-size: 12px;
    font-weight: 700;
    color: #3C3489;
}
.prail__quota-track[b-bahdm3z40g] {
    height: 6px;
    background: #CECBF6;
    border-radius: 999px;
    overflow: hidden;
}
.prail__quota-fill[b-bahdm3z40g] {
    height: 100%;
    background: #7F77DD;
    border-radius: 999px;
    transition: width 200ms ease-out;
}
.prail__quota-msg[b-bahdm3z40g] {
    display: block;
    margin-top: 6px;
    font-size: 10px;
    font-weight: 500;
    color: #B91C1C;
}
.prail__quota--blocked .prail__quota-count[b-bahdm3z40g] { color: #B91C1C; }
.prail__quota--blocked .prail__quota-fill[b-bahdm3z40g] { background: #F43F5E; }

/* Ícone informativo + tooltip com as regras */
.prail__quota-info[b-bahdm3z40g] {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
    color: #7F77DD;
    cursor: help;
    vertical-align: middle;
}
.prail__quota-tip[b-bahdm3z40g] {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 20;
    display: none;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    background: #26215C;
    color: #EEEDFE;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(38, 33, 92, .35);
    font-size: 11px;
    font-weight: 400;
    line-height: 1.35;
}
.prail__quota-info:hover .prail__quota-tip[b-bahdm3z40g],
.prail__quota-info:focus-within .prail__quota-tip[b-bahdm3z40g] {
    display: flex;
}
.prail__quota-tip-title[b-bahdm3z40g] {
    font-weight: 700;
    color: #fff;
    margin-bottom: 2px;
}
.prail__collapse-btn[b-bahdm3z40g] {
    width: 18px;
    height: 18px;
    background: #7F77DD;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    transition: background 150ms;
}
.prail__collapse-btn:hover[b-bahdm3z40g]        { background: #534AB7; }
.prail__collapse-btn:focus-visible[b-bahdm3z40g] {
    outline: 2px solid #3C3489;
    outline-offset: 2px;
}

/* ── Campos genéricos ───────────────────────────────────────────────────── */
.prail__field[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.prail__field-label[b-bahdm3z40g] {
    font-size: 11px;
    font-weight: 500;
    color: #534AB7;
}
.prail__select-wrap[b-bahdm3z40g] {
    position: relative;
}
.prail__select-wrap--disabled[b-bahdm3z40g] {
    opacity: 0.5;
}
.prail__select[b-bahdm3z40g] {
    width: 100%;
    font-size: 12px;
    padding: 6px 24px 6px 8px;
    background: white;
    border: 0.5px solid #AFA9EC;
    border-radius: 6px;
    appearance: none;
    -webkit-appearance: none;
    color: #26215C;
    cursor: pointer;
    outline: none;
    font-family: inherit;
}
.prail__select:focus[b-bahdm3z40g]         { border-color: #7F77DD; }
.prail__select:disabled[b-bahdm3z40g]      { cursor: not-allowed; background: #F5F3FF; }
.prail__chevron[b-bahdm3z40g] {
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* ── Fonte — combobox pesquisável ───────────────────────────────────────── */
.prail__combo[b-bahdm3z40g] {
    position: relative;
    z-index: 41;
}

.prail__combo-trigger[b-bahdm3z40g] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    padding: 6px 8px;
    background: white;
    border: 0.5px solid #AFA9EC;
    border-radius: 6px;
    color: #26215C;
    cursor: pointer;
    outline: none;
    font-family: inherit;
    text-align: left;
}
.prail__combo-trigger:hover[b-bahdm3z40g] { border-color: #7F77DD; }
.prail__combo--open .prail__combo-trigger[b-bahdm3z40g] {
    border-color: #7F77DD;
    box-shadow: 0 0 0 3px rgba(127, 119, 221, 0.12);
}

.prail__combo-value[b-bahdm3z40g] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.prail__combo-value--placeholder[b-bahdm3z40g] { color: #9A93D6; }

.prail__combo-chevron[b-bahdm3z40g] {
    flex-shrink: 0;
    transition: transform .15s ease;
}
.prail__combo-chevron--open[b-bahdm3z40g] { transform: rotate(180deg); }

/* Backdrop full-screen — captura o clique fora pra fechar o dropdown */
.prail__combo-backdrop[b-bahdm3z40g] {
    position: fixed;
    inset: 0;
    z-index: 40;
    background: transparent;
}

.prail__combo-panel[b-bahdm3z40g] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border: 0.5px solid #AFA9EC;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(38, 33, 92, .14);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.prail__combo-search[b-bahdm3z40g] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border: 0.5px solid #D9D6FA;
    border-radius: 6px;
    color: #9A93D6;
}
.prail__combo-search:focus-within[b-bahdm3z40g] {
    border-color: #7F77DD;
    box-shadow: 0 0 0 3px rgba(127, 119, 221, 0.12);
}
.prail__combo-search-input[b-bahdm3z40g] {
    flex: 1;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-size: 12px;
    font-family: inherit;
    color: #26215C;
}
.prail__combo-search-input[b-bahdm3z40g]::placeholder { color: #BEB8F1; }

.prail__combo-list[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 220px;
    overflow-y: auto;
}

.prail__combo-item[b-bahdm3z40g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-radius: 6px;
    background: white;
    color: #26215C;
    font-size: 12px;
    font-family: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 120ms ease-out;
}
.prail__combo-item:hover[b-bahdm3z40g] { background: #F7F5FF; }
.prail__combo-item--selected[b-bahdm3z40g] {
    background: #F1EFFF;
    color: #534AB7;
    font-weight: 500;
}
.prail__combo-item-text[b-bahdm3z40g] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.prail__combo-empty[b-bahdm3z40g] {
    padding: 12px 10px;
    font-size: 12px;
    color: #9A93D6;
    text-align: center;
}

/* ── UF + Cidade em 2 colunas ───────────────────────────────────────────── */
.prail__geo-row[b-bahdm3z40g] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 8px;
    margin-bottom: 12px;
}

/* ── Prévia de resultados ───────────────────────────────────────────────── */
.prail__preview-header[b-bahdm3z40g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
    padding-top: 4px;
}
.prail__preview-count[b-bahdm3z40g] {
    font-size: 11px;
    font-weight: 500;
    color: #534AB7;
}

.prail__filter-search[b-bahdm3z40g] {
    width: 100%;
    margin-bottom: 8px;
    padding: 8px 10px;
    font-size: 12px;
    color: #26215C;
    background: white;
    border: 0.5px solid #AFA9EC;
    border-radius: 6px;
    font-family: inherit;
}
.prail__filter-search:focus[b-bahdm3z40g] {
    outline: none;
    border-color: #7F77DD;
    box-shadow: 0 0 0 3px rgba(127, 119, 221, 0.12);
}

.prail__filters-list[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}

.prail__filter-group[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
}

.prail__filter-divider[b-bahdm3z40g] {
    height: 1px;
    margin: 2px 0;
    background: #D9D6FA;
}

.prail__filter-item[b-bahdm3z40g] {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    column-gap: 10px;
    min-width: 0;
    padding: 8px 10px;
    background: white;
    border: 0.5px solid #D9D6FA;
    border-radius: 6px;
    cursor: pointer;
    transition: background 120ms ease-out, border-color 120ms ease-out;
}
.prail__filter-item:hover[b-bahdm3z40g] {
    background: #F7F5FF;
    border-color: #BEB8F1;
}
.prail__filter-item--checked[b-bahdm3z40g] {
    background: #F1EFFF;
    border-color: #7F77DD;
}

.prail__filter-checkbox[b-bahdm3z40g] {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: #7F77DD;
}

.prail__filter-label[b-bahdm3z40g] {
    min-width: 0;
    font-size: 12px;
    line-height: 1.35;
    color: #26215C;
    overflow-wrap: anywhere;
}

/* Lista de leads */
.prail__preview-list[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    max-height: calc(100vh - 340px);
    overflow-y: auto;
    border: 0.5px solid #AFA9EC;
    border-radius: 6px;
    background: white;
    margin-bottom: 10px;
}
.prail__preview-item[b-bahdm3z40g] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    cursor: pointer;
    transition: background 100ms;
    border-bottom: 0.5px solid #F0EEFF;
}
.prail__preview-item:last-child[b-bahdm3z40g]    { border-bottom: none; }
.prail__preview-item:hover[b-bahdm3z40g]         { background: #F5F3FF; }
.prail__preview-item--checked[b-bahdm3z40g]      { background: #F5F3FF; }

.prail__preview-checkbox[b-bahdm3z40g] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    cursor: pointer;
    accent-color: #7F77DD;
}
.prail__preview-text[b-bahdm3z40g] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.prail__preview-name[b-bahdm3z40g] {
    font-size: 11px;
    font-weight: 500;
    color: #26215C;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.prail__preview-cnpj[b-bahdm3z40g] {
    font-size: 10px;
    color: #7F77DD;
    white-space: nowrap;
}

/* ── Footer sticky ──────────────────────────────────────────────────────── */
.prail__footer[b-bahdm3z40g] {
    display: flex;
    gap: 6px;
    padding-top: 10px;
    border-top: 0.5px solid #CECBF6;
    margin-top: auto;
    position: sticky;
    bottom: 0;
    background: #EEEDFE;
    flex-shrink: 0;
}

/* Botão primário "Mover X leads para a fila →" */
.prail__move-btn[b-bahdm3z40g] {
    flex: 1;
    background: #534AB7;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 9px 10px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: inherit;
    transition: background 150ms;
    white-space: nowrap;
}
.prail__move-btn:hover:not(:disabled)[b-bahdm3z40g] { background: #3C3489; }
.prail__move-btn:disabled[b-bahdm3z40g]             { opacity: 0.6; cursor: not-allowed; }

/* Botão "Buscar" — muda de primário para secundário quando a prévia já está carregada */
.prail__search-btn[b-bahdm3z40g] {
    border-radius: 8px;
    padding: 9px 14px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: inherit;
    transition: background 150ms;
}
.prail__search-btn--primary[b-bahdm3z40g] {
    flex: 1;
    background: #534AB7;
    color: white;
    border: none;
}
.prail__search-btn--primary:hover:not(:disabled)[b-bahdm3z40g] { background: #3C3489; }

.prail__search-btn--secondary[b-bahdm3z40g] {
    background: white;
    color: #534AB7;
    border: 0.5px solid #AFA9EC;
    white-space: nowrap;
}
.prail__search-btn--secondary:hover:not(:disabled)[b-bahdm3z40g] { background: #F5F3FF; }
.prail__search-btn:disabled[b-bahdm3z40g] { opacity: 0.6; cursor: not-allowed; }

/* ── Estados informativos ───────────────────────────────────────────────── */
.prail__state-msg[b-bahdm3z40g] {
    padding: 16px 8px;
    font-size: 12px;
    color: #534AB7;
    text-align: center;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.prail__state-msg--error[b-bahdm3z40g] { color: #C0392B; }

/* ── Spinners ───────────────────────────────────────────────────────────── */
.prail__spinner[b-bahdm3z40g] {
    width: 18px;
    height: 18px;
    border: 2px solid #CECBF6;
    border-top-color: #7F77DD;
    border-radius: 50%;
    animation: prail-spin-b-bahdm3z40g 0.7s linear infinite;
}
.prail__spinner--btn[b-bahdm3z40g] {
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: white;
    border-radius: 50%;
    animation: prail-spin-b-bahdm3z40g 0.7s linear infinite;
}
@keyframes prail-spin-b-bahdm3z40g { to { transform: rotate(360deg); } }

/* ── Link buttons ───────────────────────────────────────────────────────── */
.prail__link-btn[b-bahdm3z40g] {
    background: none;
    border: none;
    color: #534AB7;
    font-size: 11px;
    cursor: pointer;
    padding: 0;
    text-decoration: none;
    font-family: inherit;
}
.prail__link-btn:hover[b-bahdm3z40g]        { color: #3C3489; text-decoration: underline; }
.prail__link-btn--right[b-bahdm3z40g]       { margin-left: auto; }

/* ── Acessibilidade ─────────────────────────────────────────────────────── */
.sr-only[b-bahdm3z40g] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
/* /Components/Kanban/RelatoVisitaModal.razor.rz.scp.css */
.rv-aviso[b-7sqxwwrio1] {
    margin-bottom: 16px;
    padding: 10px 12px;
    border: 1px solid #FCD34D;
    border-radius: 8px;
    background: #FFFBEB;
    color: #78350F;
    font-size: 13px;
    line-height: 1.5;
}

.rv-empresa[b-7sqxwwrio1] {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EEF0F3;
}

.rv-empresa .input[b-7sqxwwrio1] {
    background: #F8FAFC;
    color: #1E293B;
    text-overflow: ellipsis;
}

.rv-pergunta[b-7sqxwwrio1] {
    margin-bottom: 14px;
}

.rv-toggle[b-7sqxwwrio1] {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.rv-toggle__opt[b-7sqxwwrio1] {
    padding: 7px 14px;
    border: 0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.rv-toggle__opt + .rv-toggle__opt[b-7sqxwwrio1] { border-left: 1px solid #E2E8F0; }

.rv-toggle__opt.is-active[b-7sqxwwrio1] { background: #EFF6FF; color: #1D4ED8; font-weight: 600; }

.rv-toggle__opt:disabled[b-7sqxwwrio1] { opacity: .6; cursor: not-allowed; }

.rv-form[b-7sqxwwrio1] {
    margin-top: 4px;
    padding-top: 16px;
    border-top: 1px solid #EEF0F3;
}
/* /Components/Kanban/ResumoEmpresaGatilho.razor.rz.scp.css */
/* Wrapper sem caixa: o botão filho mantém o posicionamento de antes. */
.resumo-empresa-gatilho[b-ixqplzq5lc] {
    display: contents;
}
/* /Components/Kanban/ResumoEmpresaHover.razor.rz.scp.css */
/* Popover de resumo da empresa (item #31651). Fixed + fora das colunas para
   não ser cortado pelo overflow do Kanban/tabela. z-index abaixo do
   .modal-backdrop (1200): nunca cobre a modal de detalhes. */
.resumo-empresa-pop[b-ue4x0ia32t] {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1100;
    width: 250px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
    font-size: 12px;
    color: #334155;
    pointer-events: none;
}

.resumo-empresa-pop__cta[b-ue4x0ia32t] {
    font-size: 11px;
    font-weight: 600;
    color: #2563EB;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid #F1F5F9;
}

.resumo-empresa-pop__status[b-ue4x0ia32t] {
    color: #64748B;
}

.resumo-empresa-pop__dados[b-ue4x0ia32t] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 12px;
    margin: 0;
}

.resumo-empresa-pop__dados dt[b-ue4x0ia32t] {
    color: #64748B;
    font-weight: 400;
}

.resumo-empresa-pop__dados dd[b-ue4x0ia32t] {
    margin: 0;
    color: #0F172A;
    font-weight: 500;
    text-align: right;
    overflow-wrap: anywhere;
}

.resumo-empresa-pop__dados dd.resumo-empresa-pop__ok[b-ue4x0ia32t] { color: #15803D; }
.resumo-empresa-pop__dados dd.resumo-empresa-pop__alerta[b-ue4x0ia32t] { color: #B91C1C; }
.resumo-empresa-pop__dados dd.resumo-empresa-pop__neutro[b-ue4x0ia32t] { color: #64748B; font-weight: 400; }
/* /Components/Kanban/ScheduleMeetingModal.razor.rz.scp.css */
.sch-empresa[b-07ncdspti6] {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #EEF0F3;
}

.sch-empresa .input[b-07ncdspti6] {
    background: #F8FAFC;
    color: #1E293B;
    text-overflow: ellipsis;
}

.sch-para[b-07ncdspti6] {
    margin-bottom: 16px;
}

.sch-toggle[b-07ncdspti6] {
    display: inline-flex;
    align-self: flex-start;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.sch-toggle__opt[b-07ncdspti6] {
    padding: 7px 14px;
    border: 0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
}

.sch-toggle__opt + .sch-toggle__opt[b-07ncdspti6] { border-left: 1px solid #E2E8F0; }

.sch-toggle__opt.is-active[b-07ncdspti6] { background: #EFF6FF; color: #1D4ED8; font-weight: 600; }

.sch-toggle__opt:disabled[b-07ncdspti6] { opacity: .6; cursor: not-allowed; }
/* /Components/Kanban/TransferLeadModal.razor.rz.scp.css */
/* TransferLeadModal — complementos ao modal.css global (Item #31972).
   Estrutura (modal, field, reason-list, botões) vem do modal.css; aqui só o
   que é específico da escolha de destinatário. */

.transfer-lead__intro[b-uoa5jrmjpa] {
    margin: 0 0 14px;
    font-size: 13px;
    color: #334155;
    line-height: 1.5;
}

.transfer-lead__search[b-uoa5jrmjpa] {
    margin-bottom: 4px;
}

/* Lista com teto de altura — equipes grandes (Admin) rolam dentro da modal. */
.transfer-lead__list[b-uoa5jrmjpa] {
    max-height: 280px;
    overflow-y: auto;
}

.transfer-lead__member[b-uoa5jrmjpa] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.transfer-lead__member-tag[b-uoa5jrmjpa] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: #1D4ED8;
}

.transfer-lead__empty[b-uoa5jrmjpa],
.transfer-lead__empty-search[b-uoa5jrmjpa] {
    padding: 14px 12px;
    border: 1px dashed #E2E8F0;
    border-radius: 8px;
    background: #F8FAFC;
    color: #94A3B8;
    font-size: 13px;
    text-align: center;
}
/* /Components/Layout/TvLayout.razor.rz.scp.css */
/* Quiosque de TV. Escuro por escolha (a TV fica num ambiente iluminado e o painel
   claro estoura), não por herança do tema do portal — que é light-only. */

.tv-layout[b-bkalqt2y2e] {
    position: fixed;
    inset: 0;
    background: #08111E;
    color: #FFFFFF;
    overflow: hidden;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;

    /* Sobrescreve o color-scheme: only light do :root — sem isso o Force Dark do
       Chrome/WebView Android pode reprocessar a página e sujar as cores da dash. */
    color-scheme: dark;
}
/* /Components/Pages/AcessoBloqueado.razor.rz.scp.css */
/* Takeover preto de tela cheia. position:fixed cobre a viewport inteira
   independentemente do wrapper do BlankLayout. Classes com prefixo próprio
   (acesso-bloqueado*) pra não colidir com regras globais do app.css. */
.acesso-bloqueado[b-umlo2qhfnu] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #000;
    color: #fff;
    text-align: center;
    -webkit-user-select: none;
    user-select: none;
}

.acesso-bloqueado__card[b-umlo2qhfnu] {
    max-width: 620px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.acesso-bloqueado__icon[b-umlo2qhfnu] {
    width: 72px;
    height: 72px;
    color: #ff3b30;
    filter: drop-shadow(0 0 18px rgba(255, 59, 48, 0.45));
}

.acesso-bloqueado__title[b-umlo2qhfnu] {
    margin: 0;
    font-size: clamp(1.5rem, 4vw, 2.25rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.5px;
    color: #ff453a;
    text-shadow: 0 0 24px rgba(255, 69, 58, 0.35);
}

.acesso-bloqueado__subtitle[b-umlo2qhfnu] {
    margin: 0;
    font-size: clamp(1.05rem, 2.4vw, 1.35rem);
    font-weight: 600;
    color: #f2f2f2;
}
/* /Components/Pages/AdminEquipes.razor.rz.scp.css */
/* =============================================================================
   Gestores & Equipes (Admin) — organogramas empilhados, um por gestor
   ===========================================================================*/

/* ─── Header ─────────────────────────────────────────────────────────────── */
.adm-header[b-fqoco2mlcz] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 24px;
}

.adm-header__title h1[b-fqoco2mlcz] {
    font-size: 22px;
    font-weight: 600;
    color: var(--color-text-primary, #0F172A);
    margin: 0;
    line-height: 1.2;
}

.adm-header__title p[b-fqoco2mlcz] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--color-text-secondary, #64748B);
}

/* ─── Toolbar (busca + toggle) ───────────────────────────────────────────── */
.adm-toolbar[b-fqoco2mlcz] {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* ─── Busca ──────────────────────────────────────────────────────────────── */
.adm-search[b-fqoco2mlcz] {
    position: relative;
    display: flex;
    align-items: center;
    width: 320px;
    max-width: 100%;
}

.adm-search__icon[b-fqoco2mlcz] {
    position: absolute;
    left: 12px;
    font-size: 13px;
    color: #94A3B8;
    pointer-events: none;
}

.adm-search__input[b-fqoco2mlcz] {
    width: 100%;
    height: 36px;
    padding: 0 34px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-family: inherit;
    color: var(--color-text-primary, #1E293B);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.adm-search__input:focus[b-fqoco2mlcz] {
    border-color: var(--color-primary, #2563EB);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}

.adm-search__input[b-fqoco2mlcz]::placeholder { color: #94A3B8; }

.adm-search__clear[b-fqoco2mlcz] {
    position: absolute;
    right: 6px;
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #64748B;
    font-size: 14px;
    line-height: 1;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.adm-search__clear:hover[b-fqoco2mlcz] { background: #F1F5F9; color: #1E293B; }

/* ─── Toggle "Exibir Bloqueados" ────────────────────────────────────────── */
.adm-toggle[b-fqoco2mlcz] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    user-select: none;
    font-size: 13px;
    color: #334155;
}

.adm-toggle__input[b-fqoco2mlcz] {
    /* esconde o checkbox nativo mas preserva foco/acessibilidade */
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.adm-toggle__track[b-fqoco2mlcz] {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 18px;
    background: #CBD5E1;
    border-radius: 999px;
    transition: background .15s ease;
}

.adm-toggle__knob[b-fqoco2mlcz] {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .25);
    transition: transform .15s ease;
}

.adm-toggle__input:checked + .adm-toggle__track[b-fqoco2mlcz] {
    background: #2563EB;
}

.adm-toggle__input:checked + .adm-toggle__track .adm-toggle__knob[b-fqoco2mlcz] {
    transform: translateX(16px);
}

.adm-toggle__input:focus-visible + .adm-toggle__track[b-fqoco2mlcz] {
    outline: 2px solid #93C5FD;
    outline-offset: 2px;
}

.adm-toggle__label[b-fqoco2mlcz] {
    white-space: nowrap;
}

/* Badge mostrando quantos agentes estão escondidos pelo toggle. */
.adm-toggle__count[b-fqoco2mlcz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: #FEE2E2;
    color: #991B1B;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}

/* ─── Conteúdo ───────────────────────────────────────────────────────────── */
.adm-content[b-fqoco2mlcz] {
    padding: 8px 24px 28px;
    min-width: 0;
}

/* Cada gestor é um organograma; empilhados verticalmente.
   max-width + margin auto: em viewports muito largos, mantém o organograma
   (gestor no topo + grid de agentes embaixo) sempre centralizado na tela. */
.adm-org[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid #EEF2F6;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.adm-org:last-child[b-fqoco2mlcz] { border-bottom: 0; }

.adm-org__top[b-fqoco2mlcz] {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Nó do gestor */
.adm-gestor[b-fqoco2mlcz] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, var(--color-primary, #2563EB), #3B82F6);
    color: #fff;
    border-radius: 14px;
    padding: 14px 18px;
    box-shadow: 0 6px 18px rgba(37, 99, 235, .28);
    max-width: 640px;
    min-width: 0;
}

/* Botão de transferência em massa — aparece no hover do nó do gestor (e do
   grupo "sem gestor"). Flutua no canto pra não disputar espaço com o conteúdo. */
.adm-gestor__transfer[b-fqoco2mlcz] {
    position: absolute;
    top: -9px;
    right: -9px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #C7DBFE;
    border-radius: 8px;
    background: #fff;
    color: #2563EB;
    font-size: 15px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .18);
    opacity: 0;
    transition: opacity .12s ease, background .12s ease, border-color .12s ease;
}

.adm-gestor:hover .adm-gestor__transfer[b-fqoco2mlcz] {
    opacity: 1;
}

.adm-gestor__transfer:hover[b-fqoco2mlcz] {
    background: #EFF6FF;
    border-color: #93C5FD;
}

.adm-gestor__avatar[b-fqoco2mlcz] {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    border: 1.5px solid rgba(255, 255, 255, .55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    flex-shrink: 0;
}

.adm-gestor__info[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.adm-gestor__name[b-fqoco2mlcz] {
    font-size: 16px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-gestor__email[b-fqoco2mlcz] {
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-gestor__badge[b-fqoco2mlcz] {
    margin-top: 4px;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 600;
    background: rgba(255, 255, 255, .2);
    border-radius: 999px;
    padding: 2px 10px;
}

.adm-gestor__actions[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin-left: 8px;
    flex-shrink: 0;
}

.adm-gestor__resumo[b-fqoco2mlcz] {
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 10px;
    background: rgba(255, 255, 255, .2);
}

.adm-gestor__resumo--ok[b-fqoco2mlcz] { background: rgba(22, 163, 74, .9); }
.adm-gestor__resumo--warn[b-fqoco2mlcz] { background: rgba(202, 138, 4, .95); }

.adm-verify-btn[b-fqoco2mlcz] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    background: #fff;
    color: var(--color-primary, #2563EB);
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    border-radius: 8px;
    padding: 7px 14px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12);
    transition: opacity .12s ease, transform .12s ease;
}

.adm-verify-btn:hover:not(:disabled)[b-fqoco2mlcz] { transform: translateY(-1px); }
.adm-verify-btn:disabled[b-fqoco2mlcz] { opacity: .75; cursor: default; }

.adm-verify-spin[b-fqoco2mlcz] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(37, 99, 235, .25);
    border-top-color: var(--color-primary, #2563EB);
    border-radius: 50%;
    animation: adm-spin-b-fqoco2mlcz .8s linear infinite;
}

.adm-org__connector[b-fqoco2mlcz] {
    width: 2px;
    height: 24px;
    background: #CBD5E1;
}

/* Checklist do próprio gestor — painel branco centralizado sob o nó. */
.adm-gestor-check[b-fqoco2mlcz] {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    max-width: 460px;
    width: 100%;
}

/* ─── Grid de agentes ──────────────────────────────────────────────────────
   Flex com wrap + justify-content: center — mantém os cards centralizados
   horizontalmente abaixo do gestor, independente da quantidade. Diferente
   do grid auto-fill (que empurrava os cards pra esquerda quando havia
   poucos agentes em viewports largos), aqui cada card tem largura fixa
   (280px) e a linha inteira é centralizada. */
.adm-grid[b-fqoco2mlcz] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

/* ─── Card de agente ─────────────────────────────────────────────────────── */
.adm-card[b-fqoco2mlcz] {
    position: relative;
    flex: 0 1 280px;
    max-width: 280px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    min-width: 0;
}

/* Botão de transferência — aparece no hover do card. */
.adm-card__transfer[b-fqoco2mlcz] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #E2E8F0;
    border-radius: 7px;
    background: #fff;
    color: #2563EB;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s ease, background .12s ease, border-color .12s ease;
}

.adm-card:hover .adm-card__transfer[b-fqoco2mlcz] {
    opacity: 1;
}

.adm-card__transfer:hover[b-fqoco2mlcz] {
    background: #EFF6FF;
    border-color: #C7DBFE;
}

/* Grupo "Agentes sem Gestores" — distingue do bloco de um gestor. */
.adm-gestor--orphans .adm-gestor__avatar[b-fqoco2mlcz] {
    background: #FEF3C7;
    color: #B45309;
}

.adm-card__avatar[b-fqoco2mlcz] {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #EEF2FF;
    color: var(--color-primary, #2563EB);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.adm-card__body[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.adm-card__name-row[b-fqoco2mlcz] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.adm-card__name[b-fqoco2mlcz] {
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.adm-card__tag[b-fqoco2mlcz] {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #B91C1C;
    background: #FEE2E2;
    border-radius: 999px;
    padding: 2px 8px;
}

.adm-card__email[b-fqoco2mlcz] {
    font-size: 12px;
    color: #64748B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.adm-card__callix[b-fqoco2mlcz] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: #475569;
    margin-top: 2px;
    min-width: 0;
}

.adm-card__callix-user[b-fqoco2mlcz] {
    font-weight: 600;
    color: #1E293B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.adm-card__hint[b-fqoco2mlcz] {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #E2E8F0;
    font-size: 11px;
    color: #94A3B8;
    font-style: italic;
}

/* Equipe(s) configurada(s) no usuário — exibida sob o checklist */
.adm-teams[b-fqoco2mlcz] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 11px;
}

.adm-teams--gestor[b-fqoco2mlcz] {
    justify-content: center;
    margin-top: 6px;
}

.adm-teams__label[b-fqoco2mlcz] {
    color: #94A3B8;
}

.adm-team[b-fqoco2mlcz] {
    font-weight: 600;
    color: #1E293B;
    background: #EEF2FF;
    border-radius: 999px;
    padding: 2px 8px;
}

.adm-card--blocked[b-fqoco2mlcz] {
    opacity: .55;
    filter: grayscale(1);
    background: #FAFAFA;
}

.adm-card--blocked .adm-card__name[b-fqoco2mlcz] {
    text-decoration: line-through;
    color: #64748B;
}

/* ─── Checklist Callix ───────────────────────────────────────────────────── */
.adm-checklist[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #E2E8F0;
}

.adm-check[b-fqoco2mlcz] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: #475569;
    min-width: 0;
}

.adm-check__icon[b-fqoco2mlcz] {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.adm-check--ok .adm-check__icon[b-fqoco2mlcz] { background: #16A34A; }
.adm-check--fail .adm-check__icon[b-fqoco2mlcz] { background: #DC2626; }
.adm-check--unknown .adm-check__icon[b-fqoco2mlcz] { background: #CBD5E1; color: #475569; }

.adm-check--fail .adm-check__label[b-fqoco2mlcz] { color: #B91C1C; }
.adm-check--unknown .adm-check__label[b-fqoco2mlcz] { color: #94A3B8; }

.adm-check__label[b-fqoco2mlcz] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* ─── Loading / vazio ────────────────────────────────────────────────────── */
.adm-loading[b-fqoco2mlcz] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 0;
    color: #64748B;
    font-size: 13px;
}

.adm-spinner[b-fqoco2mlcz] {
    width: 28px;
    height: 28px;
    border: 3px solid #E2E8F0;
    border-top-color: var(--color-primary, #2563EB);
    border-radius: 50%;
    animation: adm-spin-b-fqoco2mlcz .8s linear infinite;
}

@keyframes adm-spin-b-fqoco2mlcz {
    to { transform: rotate(360deg); }
}

.adm-empty[b-fqoco2mlcz] {
    width: 100%;
    margin-top: 4px;
    padding: 20px;
    background: #fff;
    border: 1px dashed #E2E8F0;
    border-radius: 12px;
    font-size: 13px;
    color: #64748B;
    text-align: center;
}

.adm-empty--inline[b-fqoco2mlcz] {
    margin-top: 12px;
    max-width: 460px;
}

/* ─── Responsivo ─────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .adm-header[b-fqoco2mlcz] { flex-direction: column; }
    .adm-search[b-fqoco2mlcz] { width: 100%; }
    .adm-gestor[b-fqoco2mlcz] { width: 100%; flex-wrap: wrap; }
    .adm-gestor__actions[b-fqoco2mlcz] { flex-direction: row; align-items: center; margin-left: 0; width: 100%; }
}

/* ─── Destaque da Assistant Surface (piloto) ─────────────────────────────────
   Realce aplicado quando o assistente pede "destacar" o campo de busca. */
.asst-highlight[b-fqoco2mlcz] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   TIME — os gestores no topo são a identidade do time (ele não tem nome).
   Com mais de um, ficam lado a lado agrupando os mesmos agentes.
   ───────────────────────────────────────────────────────────────────────────── */
.adm-gestores[b-fqoco2mlcz] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    max-width: 100%;
}

/* Ações do chip de gestor (mover, tirar gestão). Empilhadas no canto pra não
   disputar espaço com o nome, e só aparecem no hover — igual aos cards. */
.adm-gestor__acts[b-fqoco2mlcz] {
    position: absolute;
    top: -9px;
    right: -9px;
    display: flex;
    gap: 4px;
}

.adm-gestor__transfer--inline[b-fqoco2mlcz] {
    position: static;
}

.adm-gestor:hover .adm-gestor__acts .adm-gestor__transfer[b-fqoco2mlcz] {
    opacity: 1;
}

/* Barra de ações do time — fica entre os gestores e os agentes. */
.adm-time-bar[b-fqoco2mlcz] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
}

.adm-time-bar__count[b-fqoco2mlcz] {
    font-size: 12px;
    font-weight: 600;
    color: #64748B;
}

/* Ações do card de agente: mover, tornar gestor, criar time. */
.adm-card__acts[b-fqoco2mlcz] {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
}

.adm-card__act[b-fqoco2mlcz] {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #E2E8F0;
    border-radius: 7px;
    background: #fff;
    color: #2563EB;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s ease, background .12s ease, border-color .12s ease;
}

.adm-card:hover .adm-card__act[b-fqoco2mlcz] {
    opacity: 1;
}

.adm-card__act:hover[b-fqoco2mlcz] {
    background: #EFF6FF;
    border-color: #93C5FD;
}

/* Quem é gestor E agente aparece nas duas listas — na grid, com esta marca.
   Não é duplicação: é a informação de que ele também trabalha o funil, e é o
   que faz a contagem de agentes bater com o divisor da meta. */
.adm-card__tag--gestor[b-fqoco2mlcz] {
    color: #1D4ED8;
    background: #DBEAFE;
}

/* Mailing dentro do card do gestor. O card é um gradiente azul com texto
   branco, então a barra precisa de contraste próprio — a versão de fora nasceu
   para card branco. */
.adm-gestor__info[b-fqoco2mlcz]  .mstat-inline {
    margin-top: 8px;
    width: 100%;
}

.adm-gestor__info[b-fqoco2mlcz]  .mstat-inline__label,
.adm-gestor__info[b-fqoco2mlcz]  .mstat-inline__total {
    color: rgba(255, 255, 255, .85);
}

.adm-gestor__info[b-fqoco2mlcz]  .mstat-inline__bar {
    background: rgba(255, 255, 255, .25);
}


/* Checklist dentro do card do gestor. Herda o bloco branco do .adm-gestor-check
   (que já é card sobre card), mas precisa caber na largura do chip e não
   empurrar o layout. */
.adm-gestor__info .adm-gestor-check[b-fqoco2mlcz] {
    max-width: none;
    padding: 8px 10px;
    margin-top: 8px;
}

.adm-gestor__info .adm-teams--gestor[b-fqoco2mlcz] {
    margin-top: 6px;
    justify-content: flex-start;
}

/* O rótulo "Equipe Callix:" fica sobre o gradiente azul, fora do bloco branco. */
.adm-gestor__info .adm-teams--gestor .adm-teams__label[b-fqoco2mlcz] {
    color: rgba(255, 255, 255, .8);
}

/* O card do gestor cresce quando traz mailing + checklist, entao alinha pelo
   topo. Restrito aos chips de time — o bloco "Agentes sem time" nao tem esse
   conteudo e fica melhor centrado. */
.adm-gestores .adm-gestor[b-fqoco2mlcz] {
    align-items: flex-start;
}

.adm-gestores .adm-gestor__avatar[b-fqoco2mlcz] {
    margin-top: 2px;
}
/* /Components/Pages/AdminFeedback.razor.rz.scp.css */
/* Tela de leitura das mensagens. Layout fluid (.page-fluid vem do app.css):
   header fixo com os filtros, scroll só no conteúdo. */

.fbk-topbar[b-6arsneuy5z] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px 12px;
    background: #fff;
    border-bottom: 1px solid #E2E8F0;
}

.fbk-title h1[b-6arsneuy5z] {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #0F172A;
}

.fbk-subtitle[b-6arsneuy5z] {
    font-size: 12px;
    color: #64748B;
}

.fbk-filters[b-6arsneuy5z] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
}

.fbk-field[b-6arsneuy5z] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 11px;
    color: #64748B;
}

.fbk-field .input[b-6arsneuy5z] {
    min-width: 150px;
}

.fbk-field--busca .input[b-6arsneuy5z] {
    min-width: 240px;
}

.fbk-content[b-6arsneuy5z] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px 20px 24px;
    overflow: auto;
    min-height: 0;
}

/* ── Andamento das campanhas ───────────────────────────────────────────── */

.fbk-campaigns[b-6arsneuy5z] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}

.fbk-card[b-6arsneuy5z] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 12px 14px;
}

.fbk-card--off[b-6arsneuy5z] {
    opacity: .65;
}

.fbk-card__head[b-6arsneuy5z] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.fbk-card__title[b-6arsneuy5z] {
    font-size: 13px;
    font-weight: 600;
    color: #1E293B;
}

.fbk-card__badge[b-6arsneuy5z] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #0369A1;
    background: #E0F2FE;
    border-radius: 10px;
    padding: 2px 8px;
    white-space: nowrap;
}

.fbk-card--off .fbk-card__badge[b-6arsneuy5z] {
    color: #475569;
    background: #E2E8F0;
}

.fbk-card__nums[b-6arsneuy5z] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 6px;
}

.fbk-card__nums div[b-6arsneuy5z] {
    display: flex;
    flex-direction: column;
}

.fbk-card__nums strong[b-6arsneuy5z] {
    font-size: 17px;
    color: #0F172A;
}

.fbk-card__nums span[b-6arsneuy5z] {
    font-size: 10px;
    color: #64748B;
}

/* ── Grade de mensagens ────────────────────────────────────────────────── */

.fbk-table[b-6arsneuy5z] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    overflow: hidden;
    font-size: 13px;
}

.fbk-table thead th[b-6arsneuy5z] {
    position: sticky;
    top: 0;
    background: #F8FAFC;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #64748B;
    padding: 8px 12px;
    border-bottom: 1px solid #E2E8F0;
}

.fbk-table td[b-6arsneuy5z] {
    padding: 10px 12px;
    border-bottom: 1px solid #F1F5F9;
    vertical-align: top;
    color: #334155;
}

.fbk-td-when[b-6arsneuy5z],
.fbk-td-rota[b-6arsneuy5z] {
    white-space: nowrap;
    color: #64748B;
    font-size: 12px;
}

/* A mensagem é o conteúdo — preserva as quebras de linha que o usuário digitou. */
.fbk-td-msg[b-6arsneuy5z] {
    white-space: pre-wrap;
    line-height: 1.5;
}

.fbk-origem[b-6arsneuy5z] {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    border-radius: 10px;
    padding: 2px 8px;
    white-space: nowrap;
}

.fbk-origem--camp[b-6arsneuy5z] {
    color: #92400E;
    background: #FEF3C7;
}

.fbk-origem--livre[b-6arsneuy5z] {
    color: #166534;
    background: #DCFCE7;
}

.fbk-empty[b-6arsneuy5z],
.fbk-erro[b-6arsneuy5z] {
    padding: 24px;
    text-align: center;
    font-size: 13px;
    color: #64748B;
    background: #fff;
    border: 1px dashed #E2E8F0;
    border-radius: 10px;
}

.fbk-erro[b-6arsneuy5z] {
    color: #991B1B;
    background: #FEF2F2;
    border-color: #FECACA;
    border-style: solid;
}

.fbk-rodape[b-6arsneuy5z] {
    margin: 0;
    font-size: 11px;
    color: #94A3B8;
}
/* /Components/Pages/AdminPerfis.razor.rz.scp.css */
/* Perfis & permissões — scoped.
   Padrão fluid do projeto: o scroll mora no .page-fluid__content e as barras
   encostam na borda da viewport. Ver CLAUDE.md, "Padrão de layout das páginas". */

.perfis__header[b-zu1b22daku] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.perfis__title[b-zu1b22daku] {
    margin: 0;
    font-size: 1.35rem;
}

.perfis__sub[b-zu1b22daku] {
    margin: .25rem 0 0;
    color: var(--text-muted, #6b7280);
    font-size: .85rem;
    max-width: 62ch;
}

.perfis__content[b-zu1b22daku] {
    padding: 1rem 0 2rem 1rem;
}

.perfis__grid[b-zu1b22daku] {
    display: grid;
    grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

/* Uma coluna em telas estreitas — a lista vira índice acima do detalhe. */
@media (max-width: 900px) {
    .perfis__grid[b-zu1b22daku] { grid-template-columns: 1fr; }
}

/* ── Lista de perfis ─────────────────────────────────────────────────────── */

.perfis__lista[b-zu1b22daku] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    position: sticky;
    top: 0;
}

.perfis__item[b-zu1b22daku] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .6rem .75rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    background: var(--surface, #fff);
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.perfis__item:hover[b-zu1b22daku] { border-color: var(--primary, #2563eb); }

.perfis__item--on[b-zu1b22daku] {
    border-color: var(--primary, #2563eb);
    box-shadow: 0 0 0 1px var(--primary, #2563eb) inset;
}

.perfis__item-nome[b-zu1b22daku] {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-weight: 600;
}

.perfis__item-meta[b-zu1b22daku],
.perfis__item-auto[b-zu1b22daku] {
    font-size: .75rem;
    color: var(--text-muted, #6b7280);
}

.perfis__item-auto[b-zu1b22daku] { font-style: italic; }

.perfis__tag[b-zu1b22daku] {
    font-size: .65rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .1rem .35rem;
    border-radius: 4px;
    background: var(--border-color, #e5e7eb);
    color: var(--text-muted, #4b5563);
}

.perfis__tag--master[b-zu1b22daku] {
    background: #7c3aed;
    color: #fff;
}

/* ── Detalhe ─────────────────────────────────────────────────────────────── */

.perfis__detalhe[b-zu1b22daku] {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding-right: 1rem;
}

.perfis__detalhe h2[b-zu1b22daku] { margin: 0; font-size: 1.1rem; }

.perfis__desc[b-zu1b22daku],
.perfis__regra[b-zu1b22daku] {
    margin: .2rem 0 0;
    font-size: .85rem;
    color: var(--text-muted, #6b7280);
    max-width: 78ch;
}

.perfis__aviso[b-zu1b22daku] {
    padding: .6rem .75rem;
    border-radius: 8px;
    border-left: 3px solid #f59e0b;
    background: rgba(245, 158, 11, .08);
    font-size: .82rem;
    line-height: 1.45;
}

.perfis__aviso--orfa[b-zu1b22daku] { border-left-color: #ef4444; background: rgba(239, 68, 68, .08); }

.perfis__abas[b-zu1b22daku] { display: flex; gap: .25rem; }

.perfis__aba[b-zu1b22daku] {
    padding: .4rem .8rem;
    border: none;
    border-bottom: 2px solid transparent;
    background: none;
    cursor: pointer;
    font: inherit;
    color: var(--text-muted, #6b7280);
}

.perfis__aba--on[b-zu1b22daku] {
    color: var(--primary, #2563eb);
    border-bottom-color: var(--primary, #2563eb);
    font-weight: 600;
}

/* ── Permissões ──────────────────────────────────────────────────────────── */

.perfis__modulos[b-zu1b22daku] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: .9rem;
}

.perfis__modulo[b-zu1b22daku] {
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    padding: .6rem .8rem .8rem;
    margin: 0;
    min-width: 0;
}

.perfis__modulo legend[b-zu1b22daku] {
    padding: 0 .3rem;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--text-muted, #6b7280);
}

.perfis__perm[b-zu1b22daku] {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .1rem .5rem;
    padding: .35rem 0;
    cursor: pointer;
    align-items: start;
}

/* Recuo do recurso sob o acesso do módulo — o encadeamento visível. */
.perfis__perm--filha[b-zu1b22daku] {
    margin-left: 1.4rem;
    border-left: 2px solid var(--border-color, #e5e7eb);
    padding-left: .6rem;
}

.perfis__perm input[b-zu1b22daku] { margin-top: .2rem; }

.perfis__perm-nome[b-zu1b22daku] { font-size: .87rem; font-weight: 500; }

.perfis__perm-desc[b-zu1b22daku],
.perfis__perm-bloq[b-zu1b22daku] {
    grid-column: 2;
    font-size: .75rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.35;
}

.perfis__perm-bloq[b-zu1b22daku] { color: #b45309; font-style: italic; }

.perfis__perm:has(input:disabled)[b-zu1b22daku] { cursor: not-allowed; opacity: .65; }

/* ── Usuários ────────────────────────────────────────────────────────────── */

.perfis__busca[b-zu1b22daku] {
    width: 100%;
    max-width: 460px;
    padding: .5rem .7rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    font: inherit;
}

.perfis__user-lista[b-zu1b22daku] {
    list-style: none;
    margin: .75rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    max-width: 720px;
}

.perfis__user[b-zu1b22daku] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: .5rem;
    align-items: center;
    padding: .45rem .7rem;
    border: 1px solid var(--border-color, #e5e7eb);
    border-radius: 8px;
    font-size: .85rem;
}

.perfis__user--on[b-zu1b22daku] { border-color: var(--primary, #2563eb); }

.perfis__user-mail[b-zu1b22daku] { color: var(--text-muted, #6b7280); font-size: .78rem; }

.perfis__acoes[b-zu1b22daku] { display: flex; gap: .5rem; justify-content: flex-end; }

.perfis__vazio[b-zu1b22daku] { color: var(--text-muted, #6b7280); font-size: .87rem; }

.perfis__label[b-zu1b22daku] {
    display: block;
    margin: .7rem 0 .2rem;
    font-size: .8rem;
    font-weight: 600;
}

.perfis__chave[b-zu1b22daku] { font-size: .75rem; color: var(--text-muted, #6b7280); }

/* ── Modal de novo perfil ────────────────────────────────────────────────── */

.perfis__modal-fundo[b-zu1b22daku] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1200;
}

.perfis__modal[b-zu1b22daku] {
    background: var(--surface, #fff);
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    width: min(480px, 92vw);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

.perfis__modal h2[b-zu1b22daku] { margin: 0 0 .3rem; font-size: 1.05rem; }
/* /Components/Pages/Atendimento.razor.rz.scp.css */
.atendimento__titulo[b-7bmsrtd94f] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
    color: #111827;
}

.atendimento__cartao[b-7bmsrtd94f] {
    max-width: 620px;
    margin: 24px;
    padding: 24px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
}

.atendimento__texto[b-7bmsrtd94f] {
    margin: 0 0 20px;
    color: #374151;
    line-height: 1.55;
}

.atendimento__botao[b-7bmsrtd94f] {
    padding: 11px 20px;
    font: inherit;
    font-weight: 600;
    color: #fff;
    background: #16324F;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.atendimento__botao:hover:not(:disabled)[b-7bmsrtd94f] {
    background: #1E4468;
}

.atendimento__botao:disabled[b-7bmsrtd94f] {
    opacity: .6;
    cursor: default;
}

.atendimento__erro[b-7bmsrtd94f] {
    margin: 14px 0 0;
    color: #B91C1C;
    font-size: .9rem;
}

.atendimento__nota[b-7bmsrtd94f] {
    margin: 18px 0 0;
    color: #6B7280;
    font-size: .85rem;
    line-height: 1.5;
}

/* Realce vindo do assistente (destacar) — mesmo tratamento das outras telas. */
.atendimento__botao.asst-highlight[b-7bmsrtd94f] {
    outline: 3px solid #F59E0B;
    outline-offset: 3px;
}
/* /Components/Pages/Bolsoes.razor.rz.scp.css */
.bol-header[b-i1bkzfbk2h] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.bol-header p[b-i1bkzfbk2h] {
    color: var(--color-text-secondary);
    font-size: 13px;
    margin-top: 4px;
}

.bol-content[b-i1bkzfbk2h] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bol-card[b-i1bkzfbk2h] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bol-card__head[b-i1bkzfbk2h] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
}

.bol-card__head h3[b-i1bkzfbk2h],
.bol-form h3[b-i1bkzfbk2h] {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.bol-card__actions[b-i1bkzfbk2h] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.bol-muted[b-i1bkzfbk2h] {
    color: var(--color-text-secondary);
    font-size: 12px;
}

.bol-static[b-i1bkzfbk2h] {
    font-size: 13px;
    line-height: 36px;
}

.bol-empty[b-i1bkzfbk2h] {
    padding: 32px;
    text-align: center;
    color: var(--color-text-secondary);
    background: var(--color-surface);
    border: 1px dashed var(--color-border);
    border-radius: var(--radius-lg);
}

.bol-badge[b-i1bkzfbk2h] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    background: #DCFCE7;
    color: #166534;
}

.bol-badge--pausado[b-i1bkzfbk2h] {
    background: #FEF3C7;
    color: #92400E;
}

.bol-cycle[b-i1bkzfbk2h] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bol-cycle__title[b-i1bkzfbk2h] {
    font-size: 13px;
    color: var(--color-text-primary);
}

.bol-stats[b-i1bkzfbk2h] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
}

.bol-stat[b-i1bkzfbk2h] {
    display: flex;
    flex-direction: column;
    padding: 10px 12px;
    background: var(--color-background);
    border-radius: var(--radius-md);
}

.bol-stat__value[b-i1bkzfbk2h] {
    font-size: 18px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.bol-stat__label[b-i1bkzfbk2h] {
    font-size: 11px;
    color: var(--color-text-secondary);
}

.bol-reasons[b-i1bkzfbk2h] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.bol-chip[b-i1bkzfbk2h] {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #475569;
}

.bol-history summary[b-i1bkzfbk2h] {
    cursor: pointer;
    font-size: 12px;
    color: var(--color-text-secondary);
}

.bol-history ul[b-i1bkzfbk2h] {
    margin: 8px 0 0 16px;
    font-size: 12px;
    color: var(--color-text-secondary);
}

.bol-form__grid[b-i1bkzfbk2h] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.bol-form__actions[b-i1bkzfbk2h] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.bol-modal[b-i1bkzfbk2h] {
    max-width: 640px;
}

.bol-modal .modal__body[b-i1bkzfbk2h] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bol-file[b-i1bkzfbk2h] {
    position: relative;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    overflow: hidden;
}

.bol-file[b-i1bkzfbk2h]  input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.bol-progress[b-i1bkzfbk2h] {
    height: 6px;
    background: #E2E8F0;
    border-radius: 999px;
    overflow: hidden;
}

.bol-progress__fill[b-i1bkzfbk2h] {
    height: 100%;
    background: var(--color-primary);
    transition: width .2s;
}
/* /Components/Pages/ConsultaCnpj.razor.rz.scp.css */
/* =========================================================
   Consulta CNPJ — estilos page-scoped
   Os estilos foram movidos para wwwroot/css/app.css para que
   os componentes internos (HeaderEmpresa, *Tab) também possam
   ser renderizados dentro da modal de detalhes no Kanban
   (ConsultaCnpjModal) sem perder o visual.
   Esse arquivo é mantido vazio (apenas comentário) para
   manter a referência scoped do componente no build.
   ========================================================= */

/* Destaque da Assistant Surface — realça o campo/ação que o assistente
   recomenda ao usuário (alvo de Destacar). */
.asst-highlight[b-k1mkf02lkg] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}
/* /Components/Pages/Dashboard.razor.rz.scp.css */
/* =============================================================================
   Dashboard Comercial — CSS scoped (prefixo .cmd-*)
   Tokens do site: navy #0F1E33, primary #2563EB, Inter, radius 8/12/14.
   Não redefine classes globais (.page-fluid*, .kpi-*, .dashboard-*) — só
   estende com nomes próprios pra evitar colisão scoped vs global (app.css).
   ============================================================================ */

/* Respiro simétrico do conteúdo (sobrepõe o padding do .page-fluid__content
   global graças à especificidade extra do atributo scoped). */
.cmd-content[b-amuqlmpth9] {
    padding: 20px 24px 28px 24px;
}

/* ── Topbar (header fixo) ─────────────────────────────────────────────────── */
.cmd-topbar[b-amuqlmpth9] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 2px solid #0F1E33;
}

.cmd-brand__eyebrow[b-amuqlmpth9] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--color-text-secondary);
}

.cmd-brand__title[b-amuqlmpth9] {
    margin: 4px 0 0 0;
    font-size: 24px;
    font-weight: 700;
    color: var(--color-text-primary);
    line-height: 1.15;
}

.cmd-period[b-amuqlmpth9] {
    text-align: right;
    flex-shrink: 0;
}

.cmd-period__label[b-amuqlmpth9] {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.cmd-period__value[b-amuqlmpth9] {
    display: block;
    margin-top: 2px;
    font-size: 14px;
    font-weight: 700;
    color: var(--color-text-primary);
}

/* ── Controles do header (toggle de visão) ────────────────────────────────── */
.cmd-headctl[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.cmd-toggle[b-amuqlmpth9] {
    display: inline-flex;
    background: #EEF2F7;
    border: 1px solid var(--color-border);
    border-radius: 99px;
    padding: 3px;
}

.cmd-toggle__btn[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: none;
    background: transparent;
    color: var(--color-text-secondary);
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 16px;
    border-radius: 99px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.cmd-toggle__icon[b-amuqlmpth9] {
    flex-shrink: 0;
}

.cmd-toggle__btn:hover[b-amuqlmpth9] {
    color: var(--color-text-primary);
}

.cmd-toggle__btn.is-active[b-amuqlmpth9] {
    background: var(--color-primary);
    color: #FFFFFF;
}

/* ── Aviso de projeto piloto ──────────────────────────────────────────────── */
.cmd-devwarn[b-amuqlmpth9] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    margin-bottom: 24px;
    background: #FEF3C7;
    border: 1px solid #FCD34D;
    border-left: 4px solid #F59E0B;
    border-radius: 10px;
    color: #92400E;
}

.cmd-devwarn__icon[b-amuqlmpth9] {
    flex-shrink: 0;
    color: #D97706;
    margin-top: 1px;
}

.cmd-devwarn__text[b-amuqlmpth9] {
    font-size: 13px;
    line-height: 1.5;
}

.cmd-devwarn__text strong[b-amuqlmpth9] {
    font-weight: 600;
}

/* ── Áreas colapsáveis (item 32526) ──────────────────────────────── */
/* Cada área é um bloco com cabeçalho próprio: título + chevron à esquerda e, na
   área do Dashboard Comercial, os controles que governam só ela à direita. */
.cmd-area[b-amuqlmpth9] {
    margin-bottom: 26px;
}

.cmd-area__head[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--color-border);
}

.cmd-area__toggle[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    border: none;
    background: transparent;
    color: var(--color-text-primary);
    font-family: var(--font-family);
    cursor: pointer;
}

.cmd-area__toggle:hover .cmd-area__title[b-amuqlmpth9] {
    color: var(--color-primary);
}

.cmd-area__title[b-amuqlmpth9] {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.2px;
    transition: color 0.15s ease;
}

.cmd-area__chevron[b-amuqlmpth9] {
    flex-shrink: 0;
    color: var(--color-text-secondary);
    transition: transform 0.15s ease;
}

/* Recolhida: o chevron aponta para a direita. */
.cmd-area__chevron.is-collapsed[b-amuqlmpth9] {
    transform: rotate(-90deg);
}

.cmd-area__ctl[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

/* O respiro do fim da área já vem do .cmd-area. */
.cmd-area__body > .cmd-section:last-child[b-amuqlmpth9] {
    margin-bottom: 0;
}

/* ── Seções ───────────────────────────────────────────────────────────────── */
.cmd-section[b-amuqlmpth9] {
    margin-bottom: 28px;
}

.cmd-section__title[b-amuqlmpth9] {
    margin: 0 0 14px 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #475569;
}

.cmd-section__num[b-amuqlmpth9] {
    color: var(--color-primary);
    font-weight: 700;
}

/* ── 1 • KPIs do funil ────────────────────────────────────────────────────── */
.cmd-kpis[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}

.cmd-kpi[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    min-height: 148px;
    padding: 20px;
    border-radius: 14px;
}

.cmd-kpi__head[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.cmd-kpi__eyebrow[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.cmd-kpi__sub[b-amuqlmpth9] {
    font-size: 13px;
}

.cmd-kpi__value[b-amuqlmpth9] {
    margin-top: auto;
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
    padding-top: 12px;
}

.cmd-kpi__foot[b-amuqlmpth9] {
    margin-top: 10px;
    font-size: 12px;
}

/* Variante escura (navy gradiente — família do sidebar) */
.cmd-kpi--dark[b-amuqlmpth9] {
    background: linear-gradient(155deg, #0F1E33 0%, #1E3A5F 100%);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 1px 3px rgba(15, 30, 51, 0.18);
}

.cmd-kpi--dark .cmd-kpi__eyebrow[b-amuqlmpth9] { color: rgba(255, 255, 255, 0.55); }
.cmd-kpi--dark .cmd-kpi__sub[b-amuqlmpth9]     { color: rgba(255, 255, 255, 0.85); }
.cmd-kpi--dark .cmd-kpi__value[b-amuqlmpth9]   { color: #FFFFFF; }
.cmd-kpi--dark .cmd-kpi__foot[b-amuqlmpth9]    { color: rgba(255, 255, 255, 0.55); }

/* Card de destaque (contratos) — número em ciano */
.cmd-kpi--accent .cmd-kpi__value[b-amuqlmpth9] { color: #38BDF8; }

/* Variante clara (reuniões) */
.cmd-kpi--light[b-amuqlmpth9] {
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
}

.cmd-kpi--light .cmd-kpi__eyebrow[b-amuqlmpth9] { color: var(--color-primary); }
.cmd-kpi--light .cmd-kpi__sub[b-amuqlmpth9]     { color: #475569; }
.cmd-kpi--light .cmd-kpi__value[b-amuqlmpth9]   { color: var(--color-primary); }
.cmd-kpi--light .cmd-kpi__foot[b-amuqlmpth9]    { color: var(--color-text-secondary); }

/* ── 2 • Conversões ───────────────────────────────────────────────────────── */
.cmd-conv-grid[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.cmd-conv[b-amuqlmpth9] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-text-muted);
    border-radius: 12px;
    padding: 18px 20px;
}

.cmd-conv--blue[b-amuqlmpth9]  { border-left-color: var(--color-primary); }
.cmd-conv--amber[b-amuqlmpth9] { border-left-color: var(--color-warning); }
.cmd-conv--navy[b-amuqlmpth9]  { border-left-color: #0F1E33; }

.cmd-conv__head[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.cmd-conv__label[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #475569;
}

.cmd-conv__value[b-amuqlmpth9] {
    margin: 10px 0 12px 0;
    font-size: 30px;
    font-weight: 800;
    color: var(--color-text-primary);
    line-height: 1;
}

.cmd-conv__bar[b-amuqlmpth9] {
    height: 6px;
    border-radius: 99px;
    background: #EEF0F3;
    overflow: hidden;
}

.cmd-conv__fill[b-amuqlmpth9] {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: var(--color-text-muted);
    transition: width 0.4s ease;
}

.cmd-conv--blue  .cmd-conv__fill[b-amuqlmpth9] { background: var(--color-primary); }
.cmd-conv--amber .cmd-conv__fill[b-amuqlmpth9] { background: var(--color-warning); }
.cmd-conv--navy  .cmd-conv__fill[b-amuqlmpth9] { background: #0F1E33; }

.cmd-conv__caption[b-amuqlmpth9] {
    margin-top: 10px;
    font-size: 12px;
    color: var(--color-text-secondary);
}

/* Badge de estado (OK / Atenção / Forte) — neutro enquanto sem dado */
.cmd-badge[b-amuqlmpth9] {
    flex-shrink: 0;
    padding: 3px 10px;
    border-radius: 99px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    background: #F1F5F9;
    color: var(--color-text-secondary);
}

/* ── 3 • Ranking ──────────────────────────────────────────────────────────── */
.cmd-table-wrap[b-amuqlmpth9] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    overflow: hidden;
}

.cmd-table[b-amuqlmpth9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.cmd-table thead th[b-amuqlmpth9] {
    background: #0F1E33;
    color: #CBD5E1;
    text-align: left;
    padding: 12px 16px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    white-space: nowrap;
}

.cmd-table tbody td[b-amuqlmpth9] {
    padding: 14px 16px;
    border-bottom: 1px solid #F1F5F9;
    color: var(--color-text-primary);
    white-space: nowrap;
}

.cmd-table tbody tr:last-child td[b-amuqlmpth9] {
    border-bottom: none;
}

.cmd-table tbody tr:hover td[b-amuqlmpth9] {
    background: #F8FAFC;
}

.cmd-table__right[b-amuqlmpth9] {
    text-align: right;
}

.cmd-table__name[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cmd-medal[b-amuqlmpth9] {
    display: inline-flex;
    justify-content: center;
    min-width: 20px;
    font-size: 16px;
}

.cmd-strong[b-amuqlmpth9] {
    font-weight: 700;
}

/* Pílulas de % meta */
.cmd-pill[b-amuqlmpth9] {
    display: inline-block;
    min-width: 52px;
    padding: 4px 12px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
}

.cmd-pill--muted[b-amuqlmpth9] { background: #F1F5F9; color: var(--color-text-secondary); }
.cmd-pill--ok[b-amuqlmpth9]    { background: #0F1E33; color: #FFFFFF; }
.cmd-pill--info[b-amuqlmpth9]  { background: #DBEAFE; color: #1D4ED8; }
.cmd-pill--warn[b-amuqlmpth9]  { background: #FEF3C7; color: #92400E; }

/* ── 4 • Alertas ──────────────────────────────────────────────────────────── */
.cmd-alerts[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.cmd-alert[b-amuqlmpth9] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-text-muted);
    border-radius: 12px;
    padding: 16px 18px;
}

.cmd-alert--danger[b-amuqlmpth9]  { border-left-color: var(--color-danger); }
.cmd-alert--warning[b-amuqlmpth9] { border-left-color: var(--color-warning); }

.cmd-alert__head[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cmd-alert__dot[b-amuqlmpth9] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--color-text-muted);
    flex-shrink: 0;
}

.cmd-alert--danger  .cmd-alert__dot[b-amuqlmpth9] { background: var(--color-danger); }
.cmd-alert--warning .cmd-alert__dot[b-amuqlmpth9] { background: var(--color-warning); }

.cmd-alert__title[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #475569;
}

.cmd-alert--danger  .cmd-alert__title[b-amuqlmpth9] { color: #B91C1C; }
.cmd-alert--warning .cmd-alert__title[b-amuqlmpth9] { color: #92400E; }

.cmd-alert__subject[b-amuqlmpth9] {
    margin: 8px 0 4px 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--color-text-primary);
}

.cmd-alert__action[b-amuqlmpth9] {
    font-size: 13px;
    color: var(--color-text-secondary);
    line-height: 1.4;
}

/* ── Rodapé ───────────────────────────────────────────────────────────────── */
.cmd-foot[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid var(--color-border);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* =============================================================================
   VISÃO DIAGNÓSTICO (V2)
   ============================================================================ */

/* ── 1 • Funil meta × realizado ───────────────────────────────────────────── */
.cmd-funnel-layout[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.cmd-funnel-card[b-amuqlmpth9] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px 16px 12px 16px;
}

/* gutter à direita pra acomodar os marcadores de conversão */
.cmd-funnel[b-amuqlmpth9] {
    padding: 2px 60px 2px 4px;
}

.cmd-frow[b-amuqlmpth9] {
    position: relative;
    margin-bottom: 3px;
}

.cmd-band[b-amuqlmpth9] {
    height: 78px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #FFFFFF;
    padding: 0 12px;
}

.cmd-band__name[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    opacity: 0.92;
}

.cmd-band__val[b-amuqlmpth9] {
    font-size: 26px;
    font-weight: 800;
    line-height: 1.15;
}

.cmd-band__meta[b-amuqlmpth9] {
    font-size: 10px;
    opacity: 0.72;
}

.cmd-conv-mark[b-amuqlmpth9] {
    position: absolute;
    right: -54px;
    bottom: 8px;
    width: 50px;
}

.cmd-conv-mark__pct[b-amuqlmpth9] {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #0F766E;
}

.cmd-conv-mark__lbl[b-amuqlmpth9] {
    display: block;
    font-size: 9px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.cmd-funnel-legend[b-amuqlmpth9] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 4px 0 4px;
    border-top: 1px solid var(--color-border);
}

.cmd-funnel-legend span[b-amuqlmpth9] {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* Linhas de KPI (lado direito) */
.cmd-metrows[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cmd-metrow[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-text-muted);
    border-radius: 12px;
    padding: 14px 16px;
}

.cmd-metrow--ok[b-amuqlmpth9]     { border-left-color: var(--color-success); }
.cmd-metrow--warn[b-amuqlmpth9]   { border-left-color: var(--color-warning); }
.cmd-metrow--danger[b-amuqlmpth9] { border-left-color: var(--color-danger); }

.cmd-metrow__main[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.cmd-metrow__name[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: #475569;
}

.cmd-metrow__nums[b-amuqlmpth9] {
    font-size: 15px;
    color: var(--color-text-secondary);
}

.cmd-metrow__nums b[b-amuqlmpth9] {
    font-size: 18px;
    font-weight: 800;
    color: var(--color-text-primary);
}

.cmd-perf[b-amuqlmpth9] {
    flex-shrink: 0;
    min-width: 54px;
    text-align: center;
    padding: 5px 12px;
    border-radius: 99px;
    font-size: 13px;
    font-weight: 700;
}

.cmd-perf--muted[b-amuqlmpth9]  { background: #F1F5F9; color: var(--color-text-secondary); }
.cmd-perf--ok[b-amuqlmpth9]     { background: #DCFCE7; color: #15803D; }
.cmd-perf--warn[b-amuqlmpth9]   { background: #FEF3C7; color: #92400E; }
.cmd-perf--danger[b-amuqlmpth9] { background: #FEE2E2; color: #B91C1C; }

/* ── 2 • Cards de diagnóstico ─────────────────────────────────────────────── */
.cmd-diag-grid[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.cmd-diag[b-amuqlmpth9] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: 12px;
    padding: 18px;
}

.cmd-diag__head[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.cmd-diag__num[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.cmd-diag__num--prod[b-amuqlmpth9]   { background: var(--color-danger); }
.cmd-diag__num--script[b-amuqlmpth9] { background: var(--color-warning); }
.cmd-diag__num--fech[b-amuqlmpth9]   { background: #0F1E33; }

.cmd-diag__title[b-amuqlmpth9] {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-text-primary);
}

.cmd-diag__desc[b-amuqlmpth9] {
    font-size: 13px;
    color: var(--color-text-secondary);
    line-height: 1.5;
    margin-bottom: 12px;
}

.cmd-diag__action[b-amuqlmpth9] {
    font-size: 13px;
    color: var(--color-text-primary);
    line-height: 1.5;
    background: #F8FAFC;
    border-radius: 8px;
    padding: 10px 12px;
}

.cmd-diag__action b[b-amuqlmpth9] {
    font-weight: 700;
}

/* ── 3 • Ranking: %meta colorido + pílula de gargalo ──────────────────────── */
.cmd-metatext[b-amuqlmpth9] {
    font-weight: 800;
}

.cmd-metatext--muted[b-amuqlmpth9]  { color: var(--color-text-muted); }
.cmd-metatext--ok[b-amuqlmpth9]     { color: #15803D; }
.cmd-metatext--navy[b-amuqlmpth9]   { color: #0F1E33; }
.cmd-metatext--warn[b-amuqlmpth9]   { color: #B45309; }
.cmd-metatext--danger[b-amuqlmpth9] { color: #DC2626; }

.cmd-gpill[b-amuqlmpth9] {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.cmd-gpill--muted[b-amuqlmpth9]  { background: #F1F5F9; color: var(--color-text-secondary); }
.cmd-gpill--ok[b-amuqlmpth9]     { background: #DCFCE7; color: #15803D; }
.cmd-gpill--prod[b-amuqlmpth9]   { background: #FEE2E2; color: #B91C1C; }
.cmd-gpill--script[b-amuqlmpth9] { background: #FEF3C7; color: #92400E; }
.cmd-gpill--fech[b-amuqlmpth9]   { background: #DBEAFE; color: #1D4ED8; }

/* ── Responsivo ───────────────────────────────────────────────────────────── */
@media (max-width: 860px) {
    .cmd-funnel-layout[b-amuqlmpth9] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .cmd-topbar[b-amuqlmpth9] {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .cmd-headctl[b-amuqlmpth9] {
        align-items: flex-start;
        width: 100%;
    }

    .cmd-period[b-amuqlmpth9] {
        text-align: left;
    }

    .cmd-table-wrap[b-amuqlmpth9] {
        overflow-x: auto;
    }

    .cmd-area__ctl[b-amuqlmpth9] {
        width: 100%;
    }
}

/* ── Filtro de agente — combobox searchable ──────────────────────────────── */
.cmd-combo[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
}

.cmd-combo__label[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--color-text-muted);
    user-select: none;
}

.cmd-combo__field[b-amuqlmpth9] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cmd-combo__input[b-amuqlmpth9] {
    padding: 6px 56px 6px 10px; /* espaço pra clear + caret */
    border-radius: 8px;
    border: 1px solid var(--color-border);
    background: #fff;
    font-size: 13px;
    color: var(--color-text-primary);
    min-width: 220px;
    font-family: inherit;
}

.cmd-combo__input:focus[b-amuqlmpth9] {
    outline: none;
    border-color: #2563EB;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.cmd-combo__input[b-amuqlmpth9]::placeholder {
    color: var(--color-text-muted);
}

.cmd-combo__caret[b-amuqlmpth9] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-text-muted);
    pointer-events: none;
    transition: transform 120ms ease;
}

.cmd-combo.is-open .cmd-combo__caret[b-amuqlmpth9] {
    transform: translateY(-50%) rotate(180deg);
}

.cmd-combo__clear[b-amuqlmpth9] {
    position: absolute;
    right: 26px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    padding: 2px 6px;
    cursor: pointer;
    color: var(--color-text-muted);
    font-size: 12px;
    line-height: 1;
    border-radius: 4px;
}

.cmd-combo__clear:hover[b-amuqlmpth9] {
    background: #F1F5F9;
    color: var(--color-text-primary);
}

.cmd-combo__panel[b-amuqlmpth9] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 100%;
    max-height: 320px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(15, 30, 51, 0.12);
    padding: 4px 0;
    z-index: 80;
}

.cmd-combo__group[b-amuqlmpth9] {
    padding: 8px 12px 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: var(--color-text-muted);
    background: #F8FAFC;
}

.cmd-combo__option[b-amuqlmpth9] {
    display: block;
    width: 100%;
    text-align: left;
    background: transparent;
    border: 0;
    padding: 7px 12px;
    font-size: 13px;
    font-family: inherit;
    color: var(--color-text-primary);
    cursor: pointer;
}

.cmd-combo__option:hover[b-amuqlmpth9] {
    background: #F1F5F9;
}

.cmd-combo__option.is-selected[b-amuqlmpth9] {
    background: #EFF6FF;
    color: #1E40AF;
    font-weight: 600;
}

.cmd-combo__empty[b-amuqlmpth9] {
    padding: 12px;
    text-align: center;
    color: var(--color-text-muted);
    font-size: 12px;
    font-style: italic;
}

/* ── Loading / empty state ───────────────────────────────────────────────── */
.cmd-loading[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 20px;
    color: var(--color-text-muted);
    font-size: 14px;
}

.cmd-spinner[b-amuqlmpth9] {
    width: 22px;
    height: 22px;
    border: 3px solid #E5EAF3;
    border-top-color: #2563EB;
    border-radius: 50%;
    animation: cmd-spin 0.8s linear infinite;
}

@@keyframes cmd-spin {
    to[b-amuqlmpth9] { transform: rotate(360deg); }
}

.cmd-empty[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 40px 20px;
    color: var(--color-text-muted);
    font-size: 13px;
    text-align: center;
}

.cmd-empty strong[b-amuqlmpth9] {
    color: var(--color-text-primary);
    font-size: 14px;
}

/* ── Pílulas de classificação da conversão (V1 — pílula no header do card) ── */
.cmd-badge--ok[b-amuqlmpth9] {
    background: #DCFCE7;
    color: #166534;
    border-color: #BBF7D0;
}

.cmd-badge--warn[b-amuqlmpth9] {
    background: #FEF3C7;
    color: #92400E;
    border-color: #FDE68A;
}

.cmd-badge--danger[b-amuqlmpth9] {
    background: #FEE2E2;
    color: #991B1B;
    border-color: #FECACA;
}

/* ── Badge "Atualizado em DD/MM/YYYY HH:mm" + tooltip de contagem regressiva ── */
.cmd-cache[b-amuqlmpth9] {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 6px;
    padding: 4px 10px;
    border-radius: 8px;
    background: #F1F5F9;
    color: var(--color-text-secondary);
    font-size: 11px;
    line-height: 1.4;
    cursor: help;
    position: relative;
    outline: none;
}

.cmd-cache:hover[b-amuqlmpth9],
.cmd-cache:focus[b-amuqlmpth9],
.cmd-cache:focus-within[b-amuqlmpth9] {
    background: #E2E8F0;
    color: var(--color-text-primary);
}

.cmd-cache__label[b-amuqlmpth9] {
    text-transform: uppercase;
    font-size: 9.5px;
    letter-spacing: 0.8px;
    font-weight: 600;
    color: var(--color-text-muted);
}

.cmd-cache__time[b-amuqlmpth9] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cmd-cache__tip[b-amuqlmpth9] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    min-width: 220px;
    background: #0F1E33;
    color: #E5E7EB;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.5;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease;
    z-index: 60;
    text-align: left;
    white-space: nowrap;
    text-transform: none;
    letter-spacing: normal;
}

.cmd-cache:hover .cmd-cache__tip[b-amuqlmpth9],
.cmd-cache:focus .cmd-cache__tip[b-amuqlmpth9],
.cmd-cache:focus-within .cmd-cache__tip[b-amuqlmpth9] {
    opacity: 1;
    pointer-events: auto;
}

.cmd-cache__tip[b-amuqlmpth9]::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 14px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #0F1E33;
}

.cmd-cache__countdown[b-amuqlmpth9] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #FFFFFF;
    margin-left: 6px;
}

/* ── Sub-rótulo de %meta na célula do ranking ─────────────────────────────── */
/* Cinza pequeno entre parênteses, espaçado do valor. Removida a pílula com
   fundo (versão anterior, `.cmd-cell__meta`) que ficava colada e dava leitura
   ambígua tipo "525262%" em vez de "525 (262%)". */
.cmd-cell__pct[b-amuqlmpth9] {
    margin-left: 4px;
    color: var(--color-text-muted);
    font-size: 11px;
    font-weight: 500;
    white-space: nowrap;
}

/* ── Linha vazia da tabela do ranking ─────────────────────────────────────── */
.cmd-table__empty[b-amuqlmpth9] {
    text-align: center !important;
    padding: 24px 12px !important;
    color: var(--color-text-muted);
    font-size: 13px;
    font-style: italic;
}

/* ── Ícone "i" + tooltip nas seções (renderizado só para Gestor) ─────────── */
.cmd-info[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 8px;
    border-radius: 50%;
    color: var(--color-text-muted);
    cursor: help;
    position: relative;
    vertical-align: middle;
    transition: color 120ms ease;
}

.cmd-info:hover[b-amuqlmpth9],
.cmd-info:focus[b-amuqlmpth9],
.cmd-info:focus-within[b-amuqlmpth9] {
    color: #2563EB;
    outline: none;
}

.cmd-info__tip[b-amuqlmpth9] {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    transform: translateX(-12px);
    min-width: 280px;
    max-width: min(440px, calc(100vw - 48px));
    background: #0F1E33;
    color: #E5E7EB;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.55;
    text-transform: none;
    letter-spacing: normal;
    text-align: left;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms ease, transform 120ms ease;
    z-index: 50;
    white-space: normal;
}

.cmd-info:hover .cmd-info__tip[b-amuqlmpth9],
.cmd-info:focus .cmd-info__tip[b-amuqlmpth9],
.cmd-info:focus-within .cmd-info__tip[b-amuqlmpth9] {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-12px) translateY(0);
}

/* Setinha apontando pro ícone */
.cmd-info__tip[b-amuqlmpth9]::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 18px;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #0F1E33;
}

/* ── Variante "card": ícone no canto superior direito do card ─────────────
   Os cards precisam de position:relative pra o absolute do ícone ancorar
   neles, e overflow:visible pra a tooltip não ser clipada pelos cantos. */
.cmd-kpi[b-amuqlmpth9],
.cmd-conv[b-amuqlmpth9],
.cmd-alert[b-amuqlmpth9],
.cmd-diag[b-amuqlmpth9] {
    position: relative;
    overflow: visible;
}

.cmd-info--card[b-amuqlmpth9] {
    position: absolute;
    top: 10px;
    right: 10px;
    margin-left: 0;
}

/* Em cards de KPI escuros o ícone fica esmaecido contra fundo escuro —
   sobe o contraste. */
.cmd-kpi--dark .cmd-info--card[b-amuqlmpth9] {
    color: rgba(255, 255, 255, 0.55);
}

.cmd-kpi--dark .cmd-info--card:hover[b-amuqlmpth9],
.cmd-kpi--dark .cmd-info--card:focus[b-amuqlmpth9],
.cmd-kpi--dark .cmd-info--card:focus-within[b-amuqlmpth9] {
    color: #FFFFFF;
}

/* Tooltip do ícone do card ancora à DIREITA (cai pra esquerda) — evita
   transbordar o card pra fora da viewport. */
.cmd-info--card .cmd-info__tip[b-amuqlmpth9] {
    left: auto;
    right: 0;
    transform: translateX(8px);
}

.cmd-info--card:hover .cmd-info__tip[b-amuqlmpth9],
.cmd-info--card:focus .cmd-info__tip[b-amuqlmpth9],
.cmd-info--card:focus-within .cmd-info__tip[b-amuqlmpth9] {
    transform: translateX(8px) translateY(0);
}

.cmd-info--card .cmd-info__tip[b-amuqlmpth9]::before {
    left: auto;
    right: 14px;
}

/* =============================================================================
   Painéis de ação imediata (item 32526) — acima do Dashboard Comercial.
   Ordem na tela: faixa "Equipe ao vivo" (largura inteira, só gestor) e, abaixo,
   "Leads Expirando" + "Calendário de Agendamentos" lado a lado.
   ============================================================================= */
/* ── Rede de contenção das três grades deste item ─────────────────────────── */
/* O padrão que já mordeu quatro vezes aqui (popover da agenda, calendário,
   cartão do agente e a cadeia interna dele), sempre descoberto na tela do
   usuário: `1fr` é `minmax(auto, 1fr)`, e item de grade/flex nasce com
   `min-width: auto`. Esse `auto` é a largura de min-content — o piso abaixo do
   qual a caixa se RECUSA a encolher. O efeito não é truncar o texto largo: é
   ele EMPURRAR a coluna, e com ela a grade inteira, para fora do contêiner.
   Basta faltar em um nível da cadeia para o vazamento voltar, e é por isso que
   caçar caso a caso não terminava nunca.

   Esta regra zera o piso em toda a descendência das três grades que o item
   criou, para que filho novo não nasça com o defeito. Escopada a elas de
   propósito: o Dashboard Comercial (KPIs, conversões, ranking, alertas) não foi
   tocado por este item, e regra ampla de layout ali seria regressão silenciosa.

   Vem ANTES das regras específicas de propósito: `.cmd-panels *` tem a mesma
   especificidade de uma classe, então quem declara `min-width` depois continua
   valendo (`.cmd-cal__mes`, `.cmd-live__answered`). É rede, não substituta — os
   elos pontuais seguem declarados e comentados onde estão. */
.cmd-panels *[b-amuqlmpth9],
.cmd-cal__grid *[b-amuqlmpth9],
.cmd-live__cards *[b-amuqlmpth9] {
    min-width: 0;
}

/* ── Faixa "Equipe ao vivo" ───────────────────────────────────────────────── */
.cmd-live__src[b-amuqlmpth9] {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 99px;
    background: #EEF2F7;
    color: var(--color-text-muted);
    font-size: 10px;
    letter-spacing: 0.5px;
}

/* Grade em vez de flex-wrap: o cartão é mais alto que a pílula antiga, e com
   auto-fill a faixa devolve colunas sozinha conforme a largura, sem media
   query e sem cartão órfão esticado no fim da linha.
   O teto de 150px existe porque `1fr` livre deixava o rótulo mais longo
   ("AGUARDANDO LIGAÇÃO", "PÓS-ATENDIMENTO") virar o piso de largura de TODOS os
   cartões — inclusive os que dizem só "EM PAUSA". 150px comporta o rótulo
   quebrado em duas linhas com folga. */
.cmd-live__cards[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(122px, 150px));
    gap: 8px;
}

.cmd-live__empty[b-amuqlmpth9] {
    padding: 12px 14px;
    border: 1px dashed var(--color-border);
    border-radius: 10px;
    color: var(--color-text-muted);
    font-size: 12px;
}

/* Cartão vertical em duas metades: a de cima é a silhueta (fundo do estado), a
   de baixo são os dados. O padding é das metades, não do cartão, para a cor do
   estado encostar na borda arredondada. */
.cmd-live__card[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
    font-family: var(--font-family);
    text-align: left;
    cursor: pointer;
    transition: box-shadow .15s ease, transform .15s ease;
}

.cmd-live__card:hover[b-amuqlmpth9] {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(15, 30, 51, .10);
}

/* `align-self: stretch` explícito porque o cartão é um <button>: a folha de
   estilo do navegador declara `align-items` nele, e isso derruba o `stretch`
   inicial do flex — cada metade passava a ter a largura do próprio conteúdo.
   Era o que deixava a faixa colorida do tamanho do ícone, com o branco do
   cartão sobrando dos dois lados dela. Aqui muda só a LARGURA: quem pinta
   continua sendo o modificador de estado, lá embaixo. O canto arredondado do
   topo vem do `overflow: hidden` do cartão, então a faixa encosta na borda sem
   vazar quadrada. */
.cmd-live__face[b-amuqlmpth9] {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    padding: 10px 0 6px;
}

/* currentColor em tudo no SVG: quem pinta é a cor herdada do modificador de
   estado, então a transição em tempo real repinta a silhueta sem JS nenhum. */
.cmd-live__avatar[b-amuqlmpth9] {
    width: 38px;
    height: 38px;
    color: inherit;
}

/* Este era o filho que furava os 150px da coluna. Mesmo motivo da face — sem
   esticar, a metade de baixo era dimensionada pelo próprio min-content —, só
   que aqui com consequência visível: o nome com `white-space: nowrap` fazia esse
   min-content valer o nome INTEIRO ("Camila Angélico De Moura"), a metade
   crescia além do cartão, e o `overflow: hidden` do cartão cortava o excedente
   dos DOIS lados ("UARDANDO LIGAÇÃO", "1:38" pela metade). Esticada, ela nunca
   passa da largura do cartão e o texto quebra dentro dela.
   O `min-width: 0` é o elo pontual da cadeia — ver a rede lá em cima. */
.cmd-live__info[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    align-items: flex-start;
    min-width: 0;
    gap: 2px;
    padding: 7px 9px 8px;
    border-top: 1px solid rgba(15, 30, 51, .08);
    background: var(--color-surface);
    line-height: 1.2;
}

.cmd-live__dot[b-amuqlmpth9] {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 4px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
    vertical-align: middle;
}

/* Nome completo, quebrando a linha. O truncamento com reticências comia
   justamente o sobrenome que distingue dois agentes, e o `white-space: nowrap`
   que o sustentava era também o que empurrava a metade de baixo para fora do
   cartão (ver .cmd-live__info). `anywhere` cobre o nome com token muito longo,
   que sozinho estouraria a largura.
   O `min-height` reserva duas linhas pelo mesmo motivo do rótulo de estado:
   com nomes de uma e de duas linhas lado a lado, a faixa serrilha. Nome de três
   linhas cresce — a meta é igualar o caso comum, não travar o máximo
   (2.4em = 2 × line-height 1.2 herdado de .cmd-live__info). */
.cmd-live__name[b-amuqlmpth9] {
    min-height: 2.4em;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-primary);
    overflow-wrap: anywhere;
}

/* Sem `white-space: nowrap` de propósito: era ele que fazia o rótulo esticar o
   cartão. O min-height reserva as duas linhas mesmo para "EM PAUSA", senão
   cartões de alturas diferentes serrilhavam a faixa (2.4em = 2 × line-height
   1.2 herdado de .cmd-live__info). */
.cmd-live__state[b-amuqlmpth9] {
    min-height: 2.4em;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
}

.cmd-live__nums[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
    margin-top: 3px;
}

/* Tabular-nums: sem isso o cronômetro muda de largura a cada segundo e o
   cartão treme. */
.cmd-live__timer[b-amuqlmpth9] {
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-secondary);
}

.cmd-live__answered[b-amuqlmpth9] {
    min-width: 22px;
    padding: 2px 7px;
    border-radius: 99px;
    background: #0F1E33;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

/* Cor por estado — leitura de relance. Mesma paleta de sempre; o que mudou é
   que a SILHUETA entrou no grupo que recebe a cor (via currentColor), junto do
   rótulo e do ponto. É o que torna o estado legível de longe: um cartão com
   boneco genérico obrigaria a ler o texto de cada um. A borda acompanha, e o
   fundo colorido fica só na metade de cima. */
.cmd-live__card--incall[b-amuqlmpth9]     { border-color: #BFDBFE; }
.cmd-live__card--incall     .cmd-live__face[b-amuqlmpth9] { background: #EFF6FF; }
.cmd-live__card--incall     .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--incall     .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--incall     .cmd-live__dot[b-amuqlmpth9]   { color: #1D4ED8; }

.cmd-live__card--ringing[b-amuqlmpth9]    { border-color: #C7D2FE; }
.cmd-live__card--ringing    .cmd-live__face[b-amuqlmpth9] { background: #EEF2FF; }
.cmd-live__card--ringing    .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--ringing    .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--ringing    .cmd-live__dot[b-amuqlmpth9]   { color: #4338CA; }

.cmd-live__card--available[b-amuqlmpth9]  { border-color: #BBF7D0; }
.cmd-live__card--available  .cmd-live__face[b-amuqlmpth9] { background: #F0FDF4; }
.cmd-live__card--available  .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--available  .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--available  .cmd-live__dot[b-amuqlmpth9]   { color: #166534; }

.cmd-live__card--aftercall[b-amuqlmpth9]  { border-color: #FDE68A; }
.cmd-live__card--aftercall  .cmd-live__face[b-amuqlmpth9] { background: #FFFBEB; }
.cmd-live__card--aftercall  .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--aftercall  .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--aftercall  .cmd-live__dot[b-amuqlmpth9]   { color: #92400E; }

.cmd-live__card--onbreak[b-amuqlmpth9]    { border-color: #FED7AA; }
.cmd-live__card--onbreak    .cmd-live__face[b-amuqlmpth9] { background: #FFF7ED; }
.cmd-live__card--onbreak    .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--onbreak    .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--onbreak    .cmd-live__dot[b-amuqlmpth9]   { color: #9A3412; }

.cmd-live__card--connecting .cmd-live__face[b-amuqlmpth9] { background: #F8FAFC; }
.cmd-live__card--connecting .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--connecting .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--connecting .cmd-live__dot[b-amuqlmpth9]   { color: #64748B; }

/* Offline é o único que apaga o cartão inteiro: agente fora de operação não
   pode disputar atenção com quem está produzindo. */
.cmd-live__card--offline[b-amuqlmpth9]    { background: #F8FAFC; }
.cmd-live__card--offline    .cmd-live__face[b-amuqlmpth9] { background: #F1F5F9; }
.cmd-live__card--offline    .cmd-live__info[b-amuqlmpth9] { background: #F8FAFC; }
.cmd-live__card--offline    .cmd-live__name[b-amuqlmpth9]  { color: var(--color-text-muted); }
.cmd-live__card--offline    .cmd-live__state[b-amuqlmpth9],
.cmd-live__card--offline    .cmd-live__avatar[b-amuqlmpth9],
.cmd-live__card--offline    .cmd-live__dot[b-amuqlmpth9]   { color: #94A3B8; }
.cmd-live__card--offline    .cmd-live__answered[b-amuqlmpth9] { background: #94A3B8; }

/* ── Card resumo (admin) ───────────────────────────────────────────────────── */
/* Não é clicável: sem o cursor e o "levantar" dos cartões de agente. */
.cmd-live__card--resumo[b-amuqlmpth9] {
    cursor: default;
}

.cmd-live__card--resumo:hover[b-amuqlmpth9] {
    transform: none;
    box-shadow: none;
}

/* Mesma altura da metade de cima dos cartões de agente (10 + 38 + 6). */
.cmd-live__face--chart[b-amuqlmpth9] {
    padding: 10px 8px 6px;
    background: #F8FAFC;
}

.cmd-live__chart[b-amuqlmpth9] {
    display: block;
    width: 100%;
    height: 38px;
}

/* non-scaling-stroke: o viewBox estica na horizontal, e sem isso a espessura
   do traço esticaria junto. */
.cmd-live__line[b-amuqlmpth9] {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.cmd-live__counts[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(3, auto);
    justify-content: space-between;
    row-gap: 4px;
    width: 100%;
    margin-top: 3px;
    font-size: 12px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-secondary);
}

.cmd-live__count[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
}

/* Cores dos estados: as mesmas dos cartões de agente, lá em cima. */
.cmd-live__line--incall[b-amuqlmpth9],     .cmd-live__count--incall     .cmd-live__dot[b-amuqlmpth9] { color: #1D4ED8; }
.cmd-live__line--ringing[b-amuqlmpth9],    .cmd-live__count--ringing    .cmd-live__dot[b-amuqlmpth9] { color: #4338CA; }
.cmd-live__line--available[b-amuqlmpth9],  .cmd-live__count--available  .cmd-live__dot[b-amuqlmpth9] { color: #166534; }
.cmd-live__line--aftercall[b-amuqlmpth9],  .cmd-live__count--aftercall  .cmd-live__dot[b-amuqlmpth9] { color: #92400E; }
.cmd-live__line--onbreak[b-amuqlmpth9],    .cmd-live__count--onbreak    .cmd-live__dot[b-amuqlmpth9] { color: #9A3412; }
.cmd-live__line--connecting[b-amuqlmpth9], .cmd-live__count--connecting .cmd-live__dot[b-amuqlmpth9] { color: #64748B; }

/* ── Grade dos dois painéis ───────────────────────────────────────────────── */
/* minmax(0, 1fr) e não 1fr: `1fr` é `minmax(auto, 1fr)`, e é esse `auto` que
   impede a coluna de encolher abaixo do conteúdo. Sem isso o calendário
   empurrava a própria coluna e vazava para fora do painel. Mesmo motivo do
   min-width: 0 do popover da agenda (.cmd-agenda__lead). */
.cmd-panels[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
}

/* NÃO REMOVA: item de grade nasce com min-width: auto. Basta faltar em um nível
   da cadeia (.cmd-panels > * → .cmd-panel → .cmd-cal__grid → .cmd-cal__day)
   para o vazamento voltar inteiro. */
.cmd-panels > *[b-amuqlmpth9] {
    min-width: 0;
}

.cmd-panel[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    /* Elo da cadeia de contenção — ver .cmd-panels. */
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: var(--color-surface);
}

/* Corpo de painel cresce com o conteúdo. Rolagem interna é exceção, não regra
   da classe — ver o modificador abaixo. */
.cmd-panel__body[b-amuqlmpth9] {
    flex: 1;
}

/* Só onde a lista é de tamanho imprevisível: "Leads Expirando" pode trazer
   dezenas e empurraria o funil pra fora da dobra.
   O calendário NÃO usa: um mês tem no máximo 6 semanas, altura previsível, e a
   barra de rolagem ainda comia largura das células. */
.cmd-panel__body--scroll[b-amuqlmpth9] {
    max-height: 300px;
    overflow-y: auto;
}

.cmd-panel__count[b-amuqlmpth9] {
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 99px;
    background: #0F1E33;
    color: #fff;
    font-size: 11px;
}

.cmd-panel__hint[b-amuqlmpth9] {
    margin-left: 6px;
    color: var(--color-text-muted);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
}

.cmd-panel__empty[b-amuqlmpth9] {
    padding: 18px 4px;
    color: var(--color-text-muted);
    font-size: 12px;
    text-align: center;
}

/* ── Linha do painel "Leads Expirando" ────────────────────────────────────── */
.cmd-exp[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 9px 8px;
    border: 0;
    border-bottom: 1px solid #F1F5F9;
    background: transparent;
    font-family: var(--font-family);
    text-align: left;
    cursor: pointer;
}

.cmd-exp:hover[b-amuqlmpth9] {
    background: #F8FAFC;
}

.cmd-exp__main[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.cmd-exp__razao[b-amuqlmpth9] {
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cmd-exp__meta[b-amuqlmpth9] {
    font-size: 11px;
    color: var(--color-text-muted);
}

.cmd-exp__sep[b-amuqlmpth9] {
    margin: 0 5px;
}

/* ── Calendário ───────────────────────────────────────────────────────────── */
.cmd-cal__nav[b-amuqlmpth9] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 10px;
}

.cmd-cal__navbtn[b-amuqlmpth9] {
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-text-secondary);
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
}

.cmd-cal__navbtn:hover[b-amuqlmpth9] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Só para o tipo 3: abre os agendamentos feitos para outros usuários. */
.cmd-cal__meus[b-amuqlmpth9] {
    float: right;
    padding: 2px 10px;
    border: 1px solid var(--color-primary);
    border-radius: 6px;
    background: var(--color-surface);
    color: var(--color-primary);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
}

.cmd-cal__meus:hover[b-amuqlmpth9] {
    background: var(--color-primary);
    color: #fff;
}

.cmd-cal__mes[b-amuqlmpth9] {
    min-width: 110px;
    text-align: center;
    color: var(--color-text-primary);
    text-transform: none;
    letter-spacing: 0;
}

/* Elo da cadeia de contenção — ver .cmd-panels. As 7 colunas precisam poder
   encolher abaixo da pílula, senão o nome da empresa define o piso da grade. */
.cmd-cal__grid[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 3px;
    min-width: 0;
}

.cmd-cal__dow[b-amuqlmpth9] {
    padding-bottom: 4px;
    color: var(--color-text-muted);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

/* Elo mais interno da cadeia de contenção — ver .cmd-panels. É aqui que a
   pílula deixa de empurrar e passa a truncar. */
.cmd-cal__day[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    min-height: 52px;
    padding: 3px;
    border: 1px solid #F1F5F9;
    border-radius: 7px;
}

.cmd-cal__day.is-out[b-amuqlmpth9] {
    opacity: .38;
}

.cmd-cal__day.is-today[b-amuqlmpth9] {
    border-color: var(--color-primary);
    background: #EFF6FF;
}

.cmd-cal__num[b-amuqlmpth9] {
    font-size: 10px;
    font-weight: 700;
    color: var(--color-text-secondary);
}

.cmd-cal__pill[b-amuqlmpth9] {
    display: block;
    width: 100%;
    /* Com a célula contida, o par overflow/ellipsis abaixo só trunca se a
       pílula também aceitar encolher. */
    min-width: 0;
    padding: 2px 5px;
    border: 0;
    border-radius: 5px;
    background: #E0E7FF;
    color: #3730A3;
    font-family: var(--font-family);
    font-size: 10px;
    font-weight: 600;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}

.cmd-cal__pill:hover[b-amuqlmpth9] {
    background: #C7D2FE;
}

/* Quantas empresas A MAIS o dia tem além da pílula exibida. Rótulo, não
   botão: quem abre o dia inteiro é a célula (hover, foco ou toque). */
.cmd-cal__more[b-amuqlmpth9] {
    align-self: flex-start;
    padding: 0 3px;
    color: var(--color-primary);
    font-size: 10px;
    font-weight: 700;
}

/* Dia com compromisso é alvo de hover/foco/toque. O cursor e o realce dizem
   isso antes de o usuário descobrir por acidente. */
.cmd-cal__day.has-agenda[b-amuqlmpth9] {
    cursor: pointer;
}

.cmd-cal__day.has-agenda:hover[b-amuqlmpth9],
.cmd-cal__day.is-open[b-amuqlmpth9] {
    border-color: var(--color-primary);
}

.cmd-cal__day.has-agenda:focus-visible[b-amuqlmpth9] {
    outline: 2px solid var(--color-primary);
    outline-offset: 1px;
}

/* ── Agenda do dia (popover) ──────────────────────────────────────────────
   position: fixed para a janela escapar do painel: uma célula de ~40px não
   comporta 260px de agenda, e em fluxo normal ela esticaria a grade do mês. As
   coordenadas vêm do JS (cal-popover.js) — o CSS só define o desenho. */
.cmd-agenda[b-amuqlmpth9] {
    position: fixed;
    z-index: 60;
    top: 0;
    left: 0;
    width: 260px;
    max-height: 320px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: var(--color-surface);
    box-shadow: 0 10px 28px rgba(15, 30, 51, .18);
    text-align: left;
    cursor: default;
}

.cmd-agenda__head[b-amuqlmpth9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--color-border);
}

.cmd-agenda__dia[b-amuqlmpth9] {
    font-size: 11px;
    font-weight: 700;
    color: var(--color-text-primary);
}

.cmd-agenda__close[b-amuqlmpth9] {
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

.cmd-agenda__close:hover[b-amuqlmpth9] {
    background: #F1F5F9;
    color: var(--color-text-primary);
}

/* overflow-x explícito: com overflow-y em auto, o eixo x sozinho computaria
   para auto também, e rolagem horizontal num popover de hover é inalcançável
   (arrastar a barra sem tirar o ponteiro da janela). Rede de segurança: nada
   que escape no futuro vira barra. */
.cmd-agenda__body[b-amuqlmpth9] {
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 10px 10px;
}

/* Uma faixa por horário; as empresas daquele horário empilham dentro dela. */
.cmd-agenda__hora[b-amuqlmpth9] {
    padding: 6px 0;
}

.cmd-agenda__hora + .cmd-agenda__hora[b-amuqlmpth9] {
    border-top: 1px dashed #E2E8F0;
}

.cmd-agenda__hh[b-amuqlmpth9] {
    display: block;
    margin-bottom: 3px;
    color: var(--color-text-secondary);
    font-size: 10px;
    font-weight: 700;
}

.cmd-agenda__leads[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cmd-agenda__lead[b-amuqlmpth9] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    width: 100%;
    /* NÃO REMOVA por parecer supérfluo: item flex nasce com min-width: auto e
       se recusa a encolher abaixo do próprio conteúdo. É o que deixava a razão
       social empurrar a largura para fora dos 260px do popover. */
    min-width: 0;
    padding: 4px 6px;
    border: 0;
    border-radius: 6px;
    background: #E0E7FF;
    color: #3730A3;
    font-family: var(--font-family);
    text-align: left;
    cursor: pointer;
}

.cmd-agenda__lead:hover[b-amuqlmpth9] {
    background: #C7D2FE;
}

/* Quebra em vez de truncar: a razão social é a informação principal da agenda,
   e o popover é uma janela de leitura — duas linhas não atrapalham, e o espaço
   que o "..." economizaria não está faltando. `anywhere` cobre razão social com
   palavra muito longa ou CNPJ colado, que sem ele estouraria a largura.
   O min-width: 0 vale pelo mesmo motivo do .cmd-agenda__lead.
   Centralizado para acompanhar o CNPJ logo abaixo: desde a quebra em duas
   linhas, a razão à esquerda com o CNPJ centralizado desalinhava o bloco. */
.cmd-agenda__razao[b-amuqlmpth9] {
    min-width: 0;
    font-size: 11px;
    font-weight: 600;
    overflow-wrap: anywhere;
    text-align: center;
}

/* Sem regra de quebra de propósito: o CNPJ formatado não tem espaço, então
   fica numa linha só por si — e é curto o bastante para caber. */
.cmd-agenda__cnpj[b-amuqlmpth9] {
    font-size: 10px;
    opacity: .75;
}

/* Agendado por assistente e sem relato de visita (item #32682): âmbar, a cor de pendência. */
.cmd-cal__pill.cmd-cal__pill--relato[b-amuqlmpth9] {
    background: #FEF3C7;
    color: #92400E;
    box-shadow: inset 2px 0 0 #F59E0B;
}

.cmd-escolha__texto[b-amuqlmpth9] {
    margin: 0 0 16px;
    color: #475569;
    font-size: 13px;
}

.cmd-escolha__info[b-amuqlmpth9] {
    margin: 0 0 16px;
    color: #94A3B8;
    font-size: 12px;
}

.cmd-escolha__detalhes[b-amuqlmpth9] {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 6px 12px;
    margin: 0 0 18px;
    padding: 12px;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
    background: #F8FAFC;
    font-size: 13px;
}

.cmd-escolha__detalhes dt[b-amuqlmpth9] { color: #64748B; }
.cmd-escolha__detalhes dd[b-amuqlmpth9] { margin: 0; color: #1E293B; word-break: break-word; }
.cmd-escolha__texto-livre[b-amuqlmpth9] { white-space: pre-wrap; }

@media (max-width: 600px) {
    .cmd-escolha__detalhes[b-amuqlmpth9] { grid-template-columns: 1fr; }
}

.cmd-escolha__acoes[b-amuqlmpth9] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cmd-agenda__relato[b-amuqlmpth9] {
    font-size: 10px;
    font-weight: 600;
    color: #B45309;
}

/* Empilha, Expirando em cima — é o painel de ação imediata.

   O limiar é 1280px e não 900px por causa da sidebar: ela come ~280px, então um
   monitor de 1280 deixa ~1000px de conteúdo, ~490px por painel, e a célula do
   calendário cai para ~65px — largura em que nome de empresa nenhum cabe.
   Empilhado, cada painel usa a largura toda. Independente do breakpoint de
   640px abaixo, que é a gaveta do popover: outro problema, outra medida. */
@media (max-width: 1280px) {
    .cmd-panels[b-amuqlmpth9] {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Tela estreita: MESMO componente, outra apresentação. Sem ponteiro, um
   popover de 260px ancorado ao lado de uma célula de ~40px não cabe — a agenda
   ocupa a largura e encosta embaixo, como uma gaveta. O JS não escreve
   coordenada aqui (ver cal-popover.js), senão brigaria com estas regras. */
@media (max-width: 640px) {
    .cmd-agenda[b-amuqlmpth9] {
        top: auto !important;
        right: 0;
        bottom: 0;
        left: 0 !important;
        width: auto;
        max-height: 60vh;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -8px 28px rgba(15, 30, 51, .22);
    }
}
/* /Components/Pages/DevAssistantTraces.razor.rz.scp.css */
/* Interface de inspeção das interações do assistente. */

.traces__toolbar[b-pitz2ajhip] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.traces__toolbar h1[b-pitz2ajhip] { margin: 0; font-size: 20px; }
.traces__subtitle[b-pitz2ajhip] { margin: 2px 0 0; color: #64748B; font-size: 13px; }
.traces__toolbar-actions[b-pitz2ajhip] { display: flex; align-items: center; gap: 12px; }
.traces__count[b-pitz2ajhip] { color: #64748B; font-size: 13px; }

/* Master-detail: lista à esquerda, detalhe à direita. */
.traces[b-pitz2ajhip] {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 16px;
    min-height: 0;
    overflow: hidden;
}

.traces__error[b-pitz2ajhip] {
    grid-column: 1 / -1;
    background: #FEF2F2;
    color: #B91C1C;
    border: 1px solid #FECACA;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
}

.traces__list[b-pitz2ajhip] {
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-right: 4px;
    min-height: 0;
}

.traces__empty[b-pitz2ajhip], .detail__none[b-pitz2ajhip] {
    color: #94A3B8;
    font-size: 13px;
    padding: 16px;
    text-align: center;
}

/* Item da lista */
.trace-item[b-pitz2ajhip] {
    text-align: left;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color .12s, box-shadow .12s;
}

.trace-item:hover[b-pitz2ajhip] { border-color: #CBD5E1; }
.trace-item--active[b-pitz2ajhip] { border-color: var(--color-primary, #2563EB); box-shadow: 0 0 0 1px var(--color-primary, #2563EB); }

.trace-item__top[b-pitz2ajhip] { display: flex; align-items: center; justify-content: space-between; }
.trace-item__time[b-pitz2ajhip] { font-size: 12px; color: #64748B; font-variant-numeric: tabular-nums; }
.trace-item__cmd[b-pitz2ajhip] { font-size: 13px; color: #1E293B; font-weight: 500; }
.trace-item__meta[b-pitz2ajhip] { display: flex; justify-content: space-between; font-size: 11px; color: #94A3B8; }
.trace-item__cid[b-pitz2ajhip] { font-family: ui-monospace, Consolas, monospace; }

/* Badge de outcome */
.badge[b-pitz2ajhip] {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    text-transform: lowercase;
}
.badge--ok[b-pitz2ajhip] { background: #DCFCE7; color: #166534; }
.badge--no-actions[b-pitz2ajhip] { background: #F1F5F9; color: #475569; }
.badge--model-error[b-pitz2ajhip] { background: #FEE2E2; color: #B91C1C; }
.badge--max-steps[b-pitz2ajhip] { background: #FEF9C3; color: #854D0E; }

/* Detalhe */
.traces__detail[b-pitz2ajhip] {
    overflow-y: auto;
    min-height: 0;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
}

.detail[b-pitz2ajhip] { padding: 18px 20px; }

.detail__head[b-pitz2ajhip] { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.detail__cid[b-pitz2ajhip] { font-family: ui-monospace, Consolas, monospace; font-size: 13px; color: #334155; }
.detail__when[b-pitz2ajhip] { margin-left: auto; color: #64748B; font-size: 12px; }

.detail__row[b-pitz2ajhip] { display: flex; gap: 10px; padding: 5px 0; border-bottom: 1px solid #F1F5F9; font-size: 13px; }
.detail__row .k[b-pitz2ajhip] { flex: 0 0 90px; color: #64748B; }
.detail__row .v[b-pitz2ajhip] { color: #1E293B; word-break: break-word; }

.detail__metrics[b-pitz2ajhip] { display: flex; gap: 10px; margin: 16px 0; }
.metric[b-pitz2ajhip] {
    flex: 1;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    padding: 10px;
    text-align: center;
}
.metric__n[b-pitz2ajhip] { display: block; font-size: 18px; font-weight: 700; color: #1E293B; font-variant-numeric: tabular-nums; }
.metric__l[b-pitz2ajhip] { font-size: 11px; color: #64748B; }

.detail__h[b-pitz2ajhip] { font-size: 13px; margin: 16px 0 8px; color: #334155; }
.detail__h--warn[b-pitz2ajhip] { color: #B91C1C; }

.detail__table[b-pitz2ajhip] { width: 100%; border-collapse: collapse; font-size: 13px; }
.detail__table th[b-pitz2ajhip] { text-align: left; color: #64748B; font-weight: 600; padding: 6px 8px; border-bottom: 1px solid #E2E8F0; }
.detail__table td[b-pitz2ajhip] { padding: 6px 8px; border-bottom: 1px solid #F1F5F9; }
.detail__table code[b-pitz2ajhip] { font-family: ui-monospace, Consolas, monospace; }

.detail__list[b-pitz2ajhip] { margin: 0; padding-left: 18px; font-size: 13px; color: #334155; }
.detail__list--warn li[b-pitz2ajhip] { color: #B91C1C; }
.detail__list code[b-pitz2ajhip] { font-family: ui-monospace, Consolas, monospace; }
/* /Components/Pages/GeradorMercado.razor.rz.scp.css */
/* ─────────────────────────────────────────────────────────────────────────────
   Gerador de Mercado — segue o padrão .page-fluid (ver app.css).
   Layout: card de filtros em ACORDEÃO por categoria + card de resultados,
   empilhados; o scroll é do .page-fluid__content global.
   Todas as classes são prefixadas gm- pra não colidir com o CSS global.
   ───────────────────────────────────────────────────────────────────────────── */

.gm-header__title h1[b-mr8k604tzs] {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

.gm-header__title p[b-mr8k604tzs] {
    font-size: 13px;
    color: var(--color-text-secondary);
    margin: 4px 0 0;
}

.gm-stack[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-right: 24px;
    padding-bottom: 8px;
}

/* ═══ Busca livre — protagonista ═══════════════════════════════════════════ */
.gm-hero[b-mr8k604tzs] {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 20px 20px 16px;
}

.gm-hero__label[b-mr8k604tzs] {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-primary);
    margin-bottom: 8px;
}

.gm-hero__row[b-mr8k604tzs] {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.gm-hero__input[b-mr8k604tzs] {
    flex: 1;
    min-width: 0;
    padding: 13px 16px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: 15px;
    font-family: var(--font-family);
    color: var(--color-text-primary);
    background: #fff;
}

.gm-hero__input:focus[b-mr8k604tzs] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

.gm-hero__btn[b-mr8k604tzs] {
    flex-shrink: 0;
    min-width: 170px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
}

.gm-hero__meta[b-mr8k604tzs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.gm-hero__hint[b-mr8k604tzs] {
    flex: 1;
    min-width: 240px;
    margin-top: 0;
}

.gm-hero__status[b-mr8k604tzs] {
    flex-shrink: 0;
    font-size: 12.5px;
    color: var(--color-text-secondary);
    text-align: right;
}

@media (max-width: 620px) {
    .gm-hero__row[b-mr8k604tzs] {
        flex-direction: column;
    }

    .gm-hero__btn[b-mr8k604tzs] {
        min-width: 0;
    }

    .gm-hero__status[b-mr8k604tzs] {
        text-align: left;
    }
}

/* ── Cabeçalho do painel "Filtros avançados" ───────────────────────────────── */
.gm-adv-head[b-mr8k604tzs] {
    display: flex;
    align-items: center;
}

.gm-adv-head--open[b-mr8k604tzs] {
    border-bottom: 1px solid var(--color-border);
}

.gm-adv-toggle[b-mr8k604tzs] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-family);
}

.gm-adv-toggle:hover[b-mr8k604tzs] {
    background: #FAFBFC;
}

.gm-adv-title[b-mr8k604tzs] {
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.gm-adv-opt[b-mr8k604tzs] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-text-muted);
}

.gm-adv-clear[b-mr8k604tzs] {
    flex-shrink: 0;
    margin-right: 8px;
    padding: 6px 10px;
    background: none;
    border: none;
    color: var(--color-primary);
    font-size: 13px;
    font-family: var(--font-family);
    cursor: pointer;
}

.gm-adv-clear:hover:not(:disabled)[b-mr8k604tzs] {
    text-decoration: underline;
}

.gm-adv-clear:disabled[b-mr8k604tzs] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ═══ Card de filtros ═══════════════════════════════════════════════════ */
.gm-filters[b-mr8k604tzs] {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.gm-filters__legend[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px 16px;
    border-bottom: 1px solid var(--color-border);
    font-size: 12px;
    color: var(--color-text-secondary);
}

.gm-dot[b-mr8k604tzs] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.gm-dot--on[b-mr8k604tzs] {
    background: var(--color-success);
}

.gm-dot--soon[b-mr8k604tzs] {
    background: var(--color-warning);
    margin-left: 10px;
}

/* ── Acordeão ──────────────────────────────────────────────────────────── */
.gm-acc-section[b-mr8k604tzs] {
    border-bottom: 1px solid var(--color-border);
}

.gm-acc-section:last-child[b-mr8k604tzs] {
    border-bottom: none;
}

.gm-acc-header[b-mr8k604tzs] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    font-family: var(--font-family);
}

.gm-acc-header:hover[b-mr8k604tzs] {
    background: #FAFBFC;
}

.gm-acc-chevron[b-mr8k604tzs] {
    flex-shrink: 0;
    color: var(--color-text-muted);
    transition: transform 0.15s ease;
}

.gm-acc-chevron--open[b-mr8k604tzs] {
    transform: rotate(90deg);
}

.gm-acc-title[b-mr8k604tzs] {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.gm-acc-count[b-mr8k604tzs] {
    flex-shrink: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: 9px;
}

.gm-acc-body[b-mr8k604tzs] {
    padding: 2px 16px 18px;
}

/* ── Grade de campos dentro de uma seção ──────────────────────────────── */
.gm-section__grid[b-mr8k604tzs] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: start;
}

/* Bloco "Em breve": ocupa a largura toda da seção, logo abaixo dos campos
   ativos, separando com clareza o que já funciona do que ainda virá. */
.gm-soon-group[b-mr8k604tzs] {
    grid-column: 1 / -1;
    margin-top: 6px;
}

.gm-soon-divider[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
}

.gm-soon-divider[b-mr8k604tzs]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--color-border);
}

.gm-soon-grid[b-mr8k604tzs] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 16px;
    align-items: start;
}

@media (max-width: 980px) {
    .gm-section__grid[b-mr8k604tzs],
    .gm-soon-grid[b-mr8k604tzs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .gm-section__grid[b-mr8k604tzs],
    .gm-soon-grid[b-mr8k604tzs] {
        grid-template-columns: 1fr;
    }

    .gm-field--wide[b-mr8k604tzs] {
        grid-column: auto;
    }
}

.gm-field[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
}

.gm-field--wide[b-mr8k604tzs] {
    grid-column: span 2;
}

.gm-label[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-primary);
    margin-bottom: 6px;
}

.gm-field--soon .gm-label[b-mr8k604tzs] {
    color: var(--color-text-secondary);
}

.gm-req[b-mr8k604tzs] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-danger);
}

.gm-soon[b-mr8k604tzs] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #92400E;
    background: #FEF3C7;
    padding: 1px 6px;
    border-radius: 4px;
}

/* ── Controles ─────────────────────────────────────────────────────────── */
.gm-input[b-mr8k604tzs],
.gm-select[b-mr8k604tzs] {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-size: 13px;
    font-family: var(--font-family);
    background: #fff;
    color: var(--color-text-primary);
}

.gm-input:focus[b-mr8k604tzs],
.gm-select:focus[b-mr8k604tzs] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.gm-input:disabled[b-mr8k604tzs],
.gm-select:disabled[b-mr8k604tzs] {
    background: #F8FAFC;
    color: #94A3B8;
    cursor: not-allowed;
}

.gm-range[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gm-range__sep[b-mr8k604tzs] {
    font-size: 12px;
    color: var(--color-text-muted);
}

.gm-radios[b-mr8k604tzs],
.gm-checks[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gm-radio[b-mr8k604tzs],
.gm-check[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--color-text-secondary);
}

.gm-radio input[b-mr8k604tzs],
.gm-check input[b-mr8k604tzs] {
    margin: 0;
}

.gm-radio input:disabled[b-mr8k604tzs],
.gm-check input:disabled[b-mr8k604tzs] {
    cursor: not-allowed;
}

.gm-radio--soon[b-mr8k604tzs] {
    color: var(--color-text-muted);
}

.gm-hint[b-mr8k604tzs] {
    display: block;
    font-size: 11px;
    color: var(--color-text-muted);
    margin-top: 4px;
}

/* ── Bairros: pílulas do selecionado + lista de resultados com contagem ──── */
.gm-chips[b-mr8k604tzs] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.gm-chip[b-mr8k604tzs] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 3px 4px 3px 8px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: #F1F5F9;
    font-size: 12px;
    color: var(--color-text-primary);
}

.gm-chip__label[b-mr8k604tzs] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gm-chip__x[b-mr8k604tzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--color-text-muted);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.gm-chip__x:hover[b-mr8k604tzs] {
    background: var(--color-danger);
    color: #fff;
}

.gm-bairro-list[b-mr8k604tzs] {
    margin-top: 6px;
    max-height: 220px;
    overflow-y: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #fff;
}

.gm-bairro-opt[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    font-size: 13px;
    color: var(--color-text-secondary);
    cursor: pointer;
}

.gm-bairro-opt:hover[b-mr8k604tzs] {
    background: #F8FAFC;
}

.gm-bairro-opt input[b-mr8k604tzs] {
    margin: 0;
}

.gm-bairro-opt__label[b-mr8k604tzs] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gm-bairro-opt__count[b-mr8k604tzs] {
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-muted);
}

.gm-bairro-empty[b-mr8k604tzs],
.gm-bairro-more[b-mr8k604tzs] {
    padding: 8px 10px;
    font-size: 11px;
    color: var(--color-text-muted);
}

.gm-bairro-more[b-mr8k604tzs] {
    border-top: 1px solid var(--color-border);
}

/* ── Pré-requisito faltando (campo exigido por outro filtro dependente) ──── */
.gm-field--alerta .gm-label[b-mr8k604tzs] {
    color: var(--color-danger);
}

.gm-field--alerta .gm-select[b-mr8k604tzs],
.gm-field--alerta .gm-input[b-mr8k604tzs] {
    border-color: var(--color-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

/* O Município usa o componente FilterMultiSelect — ::deep alcança seu box. */
.gm-field--alerta[b-mr8k604tzs]  .fms__box {
    border-color: var(--color-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

/* Hint no meio de uma linha (ex.: ao lado do rótulo de um checkbox): o
   display:block + margin do .gm-hint desalinharia o flex do .gm-check. */
.gm-hint--inline[b-mr8k604tzs] {
    display: inline;
    margin-top: 0;
}

.gm-hint--alerta[b-mr8k604tzs] {
    color: var(--color-danger);
    font-weight: 600;
}

/* ── Rodapé do card de filtros ─────────────────────────────────────────── */
.gm-filters__footer[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border-top: 1px solid var(--color-border);
    background: #FAFBFC;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
}

.gm-filters__footer-hint[b-mr8k604tzs] {
    font-size: 13px;
    color: var(--color-text-secondary);
}

.gm-filters__footer-actions[b-mr8k604tzs] {
    display: flex;
    gap: 8px;
}

.gm-btn-search[b-mr8k604tzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 160px;
}

/* ═══ Card de resultados ═══════════════════════════════════════════════ */
.gm-results[b-mr8k604tzs] {
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.gm-results__bar[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 16px;
    border-bottom: 1px solid var(--color-border);
}

.gm-results__left[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.gm-results__actions[b-mr8k604tzs] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.gm-result-btn[b-mr8k604tzs] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 13px;
    font-size: 13px;
}

.gm-result-btn:disabled[b-mr8k604tzs] {
    opacity: 0.5;
    cursor: not-allowed;
}

.gm-count[b-mr8k604tzs] {
    font-size: 14px;
    color: var(--color-text-secondary);
}

.gm-count strong[b-mr8k604tzs] {
    font-size: 18px;
    color: var(--color-text-primary);
    margin-right: 4px;
}

.gm-pager[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gm-pager__btn[b-mr8k604tzs] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    border: 1px solid var(--color-border);
    background: #fff;
    cursor: pointer;
    font-size: 15px;
    color: var(--color-text-primary);
}

.gm-pager__btn:hover:not(:disabled)[b-mr8k604tzs] {
    background: var(--color-background);
}

.gm-pager__btn:disabled[b-mr8k604tzs] {
    opacity: 0.4;
    cursor: not-allowed;
}

.gm-pager__info[b-mr8k604tzs] {
    font-size: 12px;
    color: var(--color-text-secondary);
}

.gm-table-wrap[b-mr8k604tzs] {
    max-height: 62vh;
    overflow: auto;
}

.gm-table[b-mr8k604tzs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.gm-table thead th[b-mr8k604tzs] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #F8FAFC;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-secondary);
    padding: 10px 14px;
    white-space: nowrap;
    border-bottom: 1px solid var(--color-border);
}

.gm-table tbody td[b-mr8k604tzs] {
    padding: 9px 14px;
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
    color: var(--color-text-primary);
}

.gm-table tbody tr:hover[b-mr8k604tzs] {
    background: #F8FAFC;
}

.gm-mono[b-mr8k604tzs] {
    font-family: ui-monospace, "SF Mono", Monaco, Consolas, monospace;
    font-size: 12px;
}

.gm-uf[b-mr8k604tzs] {
    display: inline-block;
    margin-left: 6px;
    background: #F1F5F9;
    color: #475569;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 4px;
}

.gm-cnae-code[b-mr8k604tzs] {
    color: var(--color-text-secondary);
    margin-right: 4px;
}

.gm-sit[b-mr8k604tzs] {
    display: inline-block;
    font-size: 12px;
    background: #F1F5F9;
    color: #475569;
    padding: 2px 8px;
    border-radius: 6px;
}

/* Coluna de dívida ativa (PGFN) na amostra do relatório. */
.gm-col-divida[b-mr8k604tzs],
.gm-divida-val[b-mr8k604tzs] {
    text-align: right;
    white-space: nowrap;
}

.gm-divida-sim[b-mr8k604tzs] {
    color: #B91C1C;
    font-weight: 600;
    cursor: help;
    text-decoration: underline dotted #FCA5A5;
    text-underline-offset: 3px;
}

.gm-divida-nao[b-mr8k604tzs] {
    color: #94A3B8;
}

/* Popover de detalhamento da dívida (PGFN, trimestral) — hover no valor. */
.gm-det-pop[b-mr8k604tzs] {
    position: fixed;
    z-index: 60;
    max-width: min(720px, 92vw);
    background: #FFFFFF;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.18);
    overflow: hidden;
    pointer-events: none;   /* não rouba o hover da célula */
    font-size: 12px;
}

.gm-det-pop__loading[b-mr8k604tzs] {
    padding: 10px 14px;
    color: var(--color-text-secondary);
}

.gm-det-pop__head[b-mr8k604tzs] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    background: #FEF2F2;
    border-bottom: 1px solid #FECACA;
    font-weight: 600;
    color: #991B1B;
}

.gm-det-pop__head small[b-mr8k604tzs] {
    font-weight: 500;
    color: #B91C1C;
    opacity: 0.8;
}

.gm-det-pop__count[b-mr8k604tzs] {
    font-weight: 600;
    color: #B91C1C;
    white-space: nowrap;
}

.gm-det-pop__scroll[b-mr8k604tzs] {
    max-height: 320px;
    overflow: auto;
}

.gm-det-tbl[b-mr8k604tzs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11.5px;
}

.gm-det-tbl thead th[b-mr8k604tzs] {
    position: sticky;
    top: 0;
    background: #F8FAFC;
    text-align: left;
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--color-text-secondary);
    padding: 6px 10px;
    white-space: nowrap;
    border-bottom: 1px solid var(--color-border);
}

.gm-det-tbl tbody td[b-mr8k604tzs] {
    padding: 5px 10px;
    border-bottom: 1px solid #F1F5F9;
    color: var(--color-text-primary);
    vertical-align: top;
}

.gm-det-tbl tbody tr:last-child td[b-mr8k604tzs] {
    border-bottom: none;
}

.gm-det-tbl__val[b-mr8k604tzs] {
    text-align: right;
    white-space: nowrap;
    font-weight: 600;
}

/* ═══ Estados (vazio / erro / carregando) ═════════════════════════════ */
.gm-state[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 40px 32px;
    text-align: center;
    margin: 0 auto;
    max-width: 440px;
}

.gm-state strong[b-mr8k604tzs] {
    font-size: 14px;
    color: var(--color-text-primary);
}

.gm-state span[b-mr8k604tzs] {
    font-size: 13px;
    color: var(--color-text-secondary);
}

.gm-state--error strong[b-mr8k604tzs] {
    color: var(--color-danger);
}

.gm-btn-spinner[b-mr8k604tzs] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    display: inline-block;
}

/* ═══ Overlay de carregamento da busca (bloqueia a tela) ══════════════ */
.gm-loading-overlay[b-mr8k604tzs] {
    position: fixed;
    inset: 0;
    z-index: 2000;                 /* acima do modal de relatório (1000/1100) */
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.gm-loading-card[b-mr8k604tzs] {
    background: #fff;
    border-radius: 14px;
    padding: 32px 28px;
    width: min(460px, 100%);
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.gm-loading__spinner[b-mr8k604tzs] {
    width: 44px;
    height: 44px;
    border: 4px solid #e2e8f0;
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.gm-loading__frase[b-mr8k604tzs] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
    line-height: 1.4;
    min-height: 42px;              /* evita "pulo" de altura ao trocar a frase */
}

.gm-loading__sub[b-mr8k604tzs] {
    margin: 0;
    font-size: 12px;
    color: var(--color-text-muted);
}

.gm-loading__cancel[b-mr8k604tzs] {
    margin-top: 6px;
}

/* ═══ Responsivo ══════════════════════════════════════════════════════ */
@media (max-width: 720px) {
    .gm-stack[b-mr8k604tzs] {
        margin-right: 16px;
    }

    .gm-field--wide[b-mr8k604tzs] {
        grid-column: span 1;
    }

    .gm-filters__footer[b-mr8k604tzs] {
        flex-direction: column;
        align-items: stretch;
    }

    .gm-filters__footer-actions[b-mr8k604tzs] {
        justify-content: flex-end;
    }
}

/* ═══ Modal — relatório da busca ══════════════════════════════════════ */
.gm-modal-overlay[b-mr8k604tzs] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.gm-modal[b-mr8k604tzs] {
    background: #fff;
    border-radius: 12px;
    width: min(1400px, 96vw);
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.gm-modal__head[b-mr8k604tzs] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid #e2e8f0;
}

.gm-modal__head h2[b-mr8k604tzs] {
    margin: 0;
    font-size: 18px;
    color: #0f172a;
}

.gm-modal__sub[b-mr8k604tzs] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #64748b;
}

.gm-modal__close[b-mr8k604tzs] {
    border: none;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    color: #94a3b8;
    cursor: pointer;
    padding: 0 4px;
}

.gm-modal__close:hover[b-mr8k604tzs] {
    color: #0f172a;
}

.gm-modal__body[b-mr8k604tzs] {
    padding: 18px 22px;
    overflow-y: auto;
}

/* Linha de topo do relatório: total (só o necessário) + refino por dívida. */
.gm-boxes-top[b-mr8k604tzs] {
    display: flex;
    gap: 14px;
    margin-bottom: 14px;
    align-items: stretch;
    flex-wrap: wrap;
}

.gm-boxes[b-mr8k604tzs] {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 14px;
    margin-bottom: 18px;
}

/* Larguras das colunas dos boxes (grid de 12). CNAE é o mais largo (descrições
   longas); Estado é estreito ("SP"); Município e Regime no meio. Soma = 12. */
.gm-box--cnae[b-mr8k604tzs] {
    grid-column: span 4;
}

.gm-box--municipio[b-mr8k604tzs],
.gm-box--regime[b-mr8k604tzs] {
    grid-column: span 3;
}

.gm-box--estado[b-mr8k604tzs] {
    grid-column: span 2;
}

@media (max-width: 900px) {
    .gm-box--cnae[b-mr8k604tzs],
    .gm-box--municipio[b-mr8k604tzs],
    .gm-box--estado[b-mr8k604tzs],
    .gm-box--regime[b-mr8k604tzs] {
        grid-column: span 12;
    }
}

.gm-box[b-mr8k604tzs] {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Total: só o espaço necessário (sem quebra de linha), à esquerda da linha. */
.gm-box--total[b-mr8k604tzs] {
    flex: 0 0 auto;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    background: #f1f5f9;
    white-space: nowrap;
}

/* Refino por dívida: ocupa o resto da linha de topo. */
.gm-box--divida[b-mr8k604tzs] {
    flex: 1 1 360px;
    min-width: 300px;
}

@media (max-width: 900px) {
    .gm-boxes-top[b-mr8k604tzs] {
        flex-direction: column;
    }
}

.gm-divida-ref[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gm-divida-chips[b-mr8k604tzs] {
    display: flex;
    gap: 8px;
}

.gm-divida-chip[b-mr8k604tzs] {
    flex: 1 1 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
    font: inherit;
    transition: border-color .12s, background .12s;
}

.gm-divida-chip:hover[b-mr8k604tzs] {
    border-color: #cbd5e1;
}

.gm-divida-chip__lbl[b-mr8k604tzs] {
    font-size: 12px;
    color: #475569;
}

.gm-divida-chip__qtd[b-mr8k604tzs] {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

.gm-divida-chip--on[b-mr8k604tzs] {
    border-color: #2563eb;
    background: #eff6ff;
}

.gm-divida-chip--com.gm-divida-chip--on .gm-divida-chip__qtd[b-mr8k604tzs] {
    color: #b91c1c;
}

.gm-divida-range[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gm-divida-range--off[b-mr8k604tzs] {
    opacity: .45;
}

.gm-divida-range__labels[b-mr8k604tzs] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    font-size: 11px;
    color: #64748b;
}

.gm-divida-range__val[b-mr8k604tzs] {
    font-weight: 700;
    color: #0f172a;
    font-variant-numeric: tabular-nums;
}

.gm-divida-range__cap[b-mr8k604tzs] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* Dual-range: dois inputs sobrepostos numa trilha; só os thumbs capturam o mouse. */
.gm-divida-slider[b-mr8k604tzs] {
    position: relative;
    height: 22px;
}

.gm-divida-track[b-mr8k604tzs] {
    position: absolute;
    top: 9px;
    left: 0;
    right: 0;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
}

.gm-divida-slider input[type=range][b-mr8k604tzs] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 22px;
    margin: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    pointer-events: none;
}

.gm-divida-slider input[type=range]:disabled[b-mr8k604tzs] {
    cursor: not-allowed;
}

.gm-divida-slider input[type=range][b-mr8k604tzs]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    pointer-events: auto;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #2563eb;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #2563eb;
    cursor: grab;
}

.gm-divida-slider input[type=range][b-mr8k604tzs]::-moz-range-thumb {
    pointer-events: auto;
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #2563eb;
    box-shadow: 0 0 0 1px #2563eb;
    cursor: grab;
}

.gm-divida-empty[b-mr8k604tzs] {
    font-size: 12px;
    color: #94a3b8;
    padding: 4px 0;
}

/* Refino por ano de inscrição (período DE-ATÉ + exclusividade) no box de dívida. */
.gm-divida-anos[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 8px;
    border-top: 1px dashed #e2e8f0;
}

.gm-divida-anos--off[b-mr8k604tzs] {
    opacity: .45;
}

.gm-divida-anos__lbl[b-mr8k604tzs] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    font-weight: 700;
}

.gm-divida-anos__row[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.gm-divida-anos__inp[b-mr8k604tzs] {
    width: 88px;
    flex: 0 0 auto;
}

.gm-divida-anos__check[b-mr8k604tzs] {
    font-size: 12px;
}

.gm-box__num[b-mr8k604tzs] {
    font-size: 28px;
    font-weight: 700;
    color: #2563eb;
}

.gm-box__label[b-mr8k604tzs] {
    font-size: 13px;
    color: #64748b;
}

.gm-box__head[b-mr8k604tzs] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 8px;
}

.gm-box__title[b-mr8k604tzs] {
    font-weight: 600;
    color: #0f172a;
    font-size: 14px;
}

.gm-box__count[b-mr8k604tzs] {
    font-size: 12px;
    color: #64748b;
}

.gm-facet-list[b-mr8k604tzs] {
    max-height: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* PADRÃO dos boxes de refino do relatório: todo item é um card (`gm-fcard`) com
   rótulo que quebra linha e a QUANTIDADE em destaque (pill azul). Use sempre
   `gm-fcard` + `gm-fcard__nome` (ou `__body`/`__top`/`__cod`/`__titulo` quando
   houver código+descrição, como CNAE) + `gm-fcard__qtd` para novos filtros desta
   área — nada de linha simples. */
.gm-fcard[b-mr8k604tzs] {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px;
    cursor: pointer;
}

.gm-fcard:hover[b-mr8k604tzs] {
    background: #f8fafc;
    border-color: #cbd5e1;
}

.gm-fcard > input[b-mr8k604tzs] {
    margin-top: 3px;
    flex: none;
}

.gm-fcard__body[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.gm-fcard__top[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.gm-fcard__cod[b-mr8k604tzs] {
    font-size: 11px;
    color: #64748b;
    font-variant-numeric: tabular-nums;
}

/* Quantidade total do segmento — badge em destaque. */
.gm-fcard__qtd[b-mr8k604tzs] {
    flex: none;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
    font-size: 11px;
    line-height: 1.4;
    padding: 1px 8px;
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gm-fcard__titulo[b-mr8k604tzs] {
    font-size: 13px;
    color: #0f172a;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

/* Badge sempre no canto direito do topo do card — inclusive quando é o único
   item da linha (boxes sem código, ex.: Estados/Regimes). O título vem abaixo
   com a largura toda. */
.gm-fcard__top > .gm-fcard__qtd[b-mr8k604tzs] {
    margin-left: auto;
}

/* Município: nome ocupa a largura e quebra; badge fica no canto (sem ID). */
.gm-fcard__nome[b-mr8k604tzs] {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    color: #0f172a;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.gm-modal__sample-title[b-mr8k604tzs] {
    margin: 6px 0 8px;
    font-size: 14px;
    color: #0f172a;
}

.gm-modal__foot[b-mr8k604tzs] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 22px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.gm-modal__foot-hint[b-mr8k604tzs] {
    font-size: 13px;
    color: #b45309;
}

.gm-modal__foot-actions[b-mr8k604tzs] {
    display: flex;
    gap: 10px;
}

.gm-btn-gerar[b-mr8k604tzs] {
    font-weight: 700;
}

/* ── Menu do GERAR MERCADO (popover) ── */
.gm-gerar[b-mr8k604tzs] {
    position: relative;
}

.gm-gerar-menu[b-mr8k604tzs] {
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    min-width: 280px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 1100;
}

.gm-gerar-opts[b-mr8k604tzs] {
    display: flex;
    gap: 8px;
}

.gm-gerar-opt[b-mr8k604tzs] {
    flex: 1 1 0;
    width: 116px;
    min-height: 94px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    padding: 12px 8px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    transition: border-color 0.12s, background 0.12s, color 0.12s;
}

.gm-gerar-opt:hover:not(:disabled)[b-mr8k604tzs] {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
}

.gm-gerar-opt:disabled[b-mr8k604tzs] {
    opacity: 0.65;
    cursor: default;
}

.gm-gerar-opt__ico[b-mr8k604tzs] {
    width: 26px;
    height: 26px;
    flex: none;
}

.gm-gerar-opt__txt[b-mr8k604tzs] {
    line-height: 1.2;
}

/* Destaque do "Aplicar refino" quando há marcação pendente. */
.gm-btn-refino-ativo[b-mr8k604tzs] {
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.28);
    animation: gm-refino-pulse-b-mr8k604tzs 1.6s ease-in-out infinite;
}

@keyframes gm-refino-pulse-b-mr8k604tzs {
    0%, 100% { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.28); }
    50% { box-shadow: 0 0 0 7px rgba(37, 99, 235, 0.12); }
}

.gm-gerar-cols[b-mr8k604tzs] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gm-gerar-cols__title[b-mr8k604tzs] {
    font-weight: 600;
    font-size: 13px;
    color: #0f172a;
    padding: 2px 4px 6px;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.gm-gerar-cols__actions[b-mr8k604tzs] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    border-top: 1px solid #e2e8f0;
    padding-top: 8px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   Assistant Surface — destaque do campo/ação recomendada pela IA.
   Scoped a esta tela (o .asst-highlight do Kanban não vaza para cá). Mantido
   simples: outline + pulso suave, sem balão (a tela não precisa).
   ───────────────────────────────────────────────────────────────────────────── */
.asst-highlight[b-mr8k604tzs] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
    animation: gm-asst-pulse-b-mr8k604tzs 1.1s ease-out 3;
}

@keyframes gm-asst-pulse-b-mr8k604tzs {
    0%   { box-shadow: 0 0 0 0 rgba(37, 99, 235, .55); }
    100% { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0); }
}
/* /Components/Pages/GeradorPropostas.razor.rz.scp.css */
/* Moldura da página do gerador de propostas — padrão fluid do portal. */

.prop-topbar[b-ckw2q5w1av] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 18px 0 14px;
}

.prop-title h1[b-ckw2q5w1av] {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.prop-subtitle[b-ckw2q5w1av] {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: var(--color-text-secondary);
}

/* O scroll é do conteúdo, não da página — o simulador fica sticky ao lado. */
.prop-content[b-ckw2q5w1av] {
    padding-bottom: 8px;
}
/* /Components/Pages/KanbanGestor.razor.rz.scp.css */
.kanban-page[b-vhzkebzfr6] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #F5F7FA;
    height: 100%;
    min-height: 0;
    /* padding-right=0 pra barra de scroll vertical do board encostar na borda */
    padding: 24px 0 0 24px;
}

.kanban-toolbar[b-vhzkebzfr6] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    align-items: center;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 12px;
    padding: 16px 20px;
    flex-shrink: 0;
    /* margin-right replica o respiro que era padding do .kanban-page,
       já que o pai agora tem padding-right: 0 pra encostar a barra de scroll. */
    margin-right: 24px;
}

.kanban-toolbar__title[b-vhzkebzfr6] {
    /* cresce e ocupa o espaço livre à esquerda (como o antigo 1fr); quando a
       linha não comporta título + filtros + ações, vai pra própria linha em vez
       de colapsar a largura e quebrar o subtítulo verticalmente. */
    flex: 1 1 240px;
    min-width: 0;
}

.kanban-toolbar__title h1[b-vhzkebzfr6] {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: #1E293B;
}

.kanban-toolbar__subtitle[b-vhzkebzfr6] {
    margin: 2px 0 0 0;
    font-size: 13px;
    color: #64748B;
}

.kanban-toolbar__updated[b-vhzkebzfr6] {
    font-size: 12px;
    color: #94A3B8;
    margin-left: 8px;
}

.kanban-filters[b-vhzkebzfr6] {
    display: flex;
    flex-wrap: wrap;
    flex: 0 1 auto;
    gap: 8px;
    align-items: center;
}

.kanban-toolbar__actions[b-vhzkebzfr6] {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.input[b-vhzkebzfr6] {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 13px;
    min-width: 160px;
    background: #fff;
    font-family: inherit;
}

.input--xs[b-vhzkebzfr6] {
    min-width: 48px;
    width: 56px;
    height: 28px;
    font-size: 12px;
    padding: 0 4px;
}

.input:focus[b-vhzkebzfr6] {
    outline: 2px solid #2563EB33;
    border-color: #2563EB;
}

.btn[b-vhzkebzfr6] {
    height: 36px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all .15s;
    font-family: inherit;
}

.btn--primary[b-vhzkebzfr6] {
    background: #2563EB;
    color: #fff;
}

.btn--primary:hover:not(:disabled)[b-vhzkebzfr6] {
    background: #1D4ED8;
}

.btn--ghost[b-vhzkebzfr6] {
    background: #fff;
    border-color: #E2E8F0;
    color: #334155;
}

.btn--ghost:hover:not(:disabled)[b-vhzkebzfr6] {
    background: #F1F5F9;
}

.btn--xs[b-vhzkebzfr6] {
    height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.btn:disabled[b-vhzkebzfr6] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Wrapper externo: rail + grade de colunas lado a lado.
   Container ÚNICO de scroll (X e Y) — todas as colunas rolam juntas
   verticalmente. Os headers das colunas ficam sticky no topo (estilo
   Azure DevOps Boards). */
.kanban-board-wrapper[b-vhzkebzfr6] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding-bottom: 8px;
}

/* Grade das colunas (sem scroll próprio — o wrapper cuida disso) */
.kanban-board[b-vhzkebzfr6] {
    display: flex;
    gap: 12px;
    flex-shrink: 0;
}

.kcol[b-vhzkebzfr6] {
    flex: 0 0 320px;
    background: #F8FAFC;
    border: 1px solid #EEF0F3;
    border-radius: 12px;
    /* display: block (default) — sticky em filho de flex container às vezes
       não cola porque o flex calcula altura intrinsicamente. Block resolve. */
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
    will-change: background-color;
}

.kcol--drag-over[b-vhzkebzfr6] {
    background: #EFF6FF;
    box-shadow: inset 0 0 0 2px #2563EB;
}

/* Coluna alvo é etapa anterior à de origem do card — movimento inválido.
   Sinaliza visualmente pro usuário ainda durante o arrasto. */
.kcol--drag-over--invalid[b-vhzkebzfr6] {
    background: #FEF2F2;
    box-shadow: inset 0 0 0 2px #DC2626;
    cursor: not-allowed;
}

/* Destaque da 1ª coluna quando o trilho de prospecção está expandido */
.kcol--destination[b-vhzkebzfr6] {
    border: 2px solid #7F77DD;
    position: relative;
    transition: border-color 200ms ease-out;
}

.kcol--destination[b-vhzkebzfr6]::before {
    content: 'DESTINO';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #7F77DD;
    color: white;
    font-size: 9px;
    font-weight: 500;
    padding: 2px 6px;
    border-radius: 3px;
    letter-spacing: 0.03em;
    white-space: nowrap;
    z-index: 1;
}

/* Wrapper sticky que agrupa header e pager — fica grudado no topo do
   .kanban-board-wrapper durante o scroll vertical do board.
   Sticky precisa ser feito no wrapper porque, dentro de .kcol (flex column),
   ter dois elementos sticky empilhados com top diferente é frágil. */
.kcol__sticky-head[b-vhzkebzfr6] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #F8FAFC;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.kcol__header[b-vhzkebzfr6] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid #EEF0F3;
    background: #F8FAFC;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.kcol__title[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.kcol__dot[b-vhzkebzfr6] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.kcol__name[b-vhzkebzfr6] {
    font-size: 14px;
    font-weight: 600;
    color: #1E293B;
}

.kcol__count[b-vhzkebzfr6] {
    background: #fff;
    font-size: 12px;
    color: #64748B;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid #EEF0F3;
}

.iconbtn[b-vhzkebzfr6] {
    background: none;
    border: 0;
    padding: 4px 8px;
    cursor: pointer;
    font-size: 14px;
    color: #64748B;
    border-radius: 4px;
}

.iconbtn:hover:not(:disabled)[b-vhzkebzfr6] {
    background: #E2E8F0;
}

/* Variante destrutiva — X vermelho do botão "Limpar leads". */
.iconbtn--danger[b-vhzkebzfr6] {
    color: #DC2626;
    font-weight: 700;
}

.iconbtn--danger:hover:not(:disabled)[b-vhzkebzfr6] {
    background: #FEE2E2;
    color: #B91C1C;
}

.iconbtn:disabled[b-vhzkebzfr6] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Agrupa os botões de ação do header da coluna (recarregar + ações
   específicas como "Limpar leads"). */
.kcol__actions[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 2px;
}

.kcol__pager[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-bottom: 1px solid #EEF0F3;
    background: #fff;
    font-size: 12px;
    color: #64748B;
}

.kcol__range[b-vhzkebzfr6] {
    flex: 1;
    color: #94A3B8;
}

.kcol__nav[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.kcol__page[b-vhzkebzfr6] {
    font-weight: 600;
    min-width: 16px;
    text-align: center;
}

.kcol__body[b-vhzkebzfr6] {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.lcard[b-vhzkebzfr6] {
    position: relative;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 10px;
    padding: 12px;
    cursor: grab;
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
    will-change: transform, box-shadow;
    transform: translateZ(0);
}

/* Botão de ícone no canto superior direito — atalho para Consulta CNPJ */
.lcard__cnpj-btn[b-vhzkebzfr6] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    color: #2563EB;
    cursor: pointer;
    padding: 0;
    transition: background .12s, color .12s, transform .12s;
    z-index: 1;
}

.lcard__cnpj-btn:hover[b-vhzkebzfr6] {
    background: #2563EB;
    color: #fff;
    border-color: #2563EB;
    transform: scale(1.08);
}

.lcard__cnpj-btn:active[b-vhzkebzfr6] {
    transform: scale(0.95);
}

/* Slot do ícone/popover de QR Code — ancorado logo abaixo do botão de
   detalhes (24px do botão + 6px de respiro). O QR aberto cresce a partir
   deste canto superior direito. */
.lcard__qr-slot[b-vhzkebzfr6] {
    position: absolute;
    top: 38px;
    right: 8px;
    z-index: 2;
    line-height: 0;
}

/* Botão de transferir lead — logo abaixo do QR (38 + 24 do ícone + 6 de
   respiro). Mesmo visual do botão de detalhes (Item #31972). */
.lcard__transfer-btn[b-vhzkebzfr6] {
    position: absolute;
    top: 68px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    color: #2563EB;
    cursor: pointer;
    padding: 0;
    transition: background .12s, color .12s, transform .12s;
    z-index: 1;
}

.lcard__transfer-btn:hover[b-vhzkebzfr6] {
    background: #2563EB;
    color: #fff;
    border-color: #2563EB;
    transform: scale(1.08);
}

.lcard__transfer-btn:active[b-vhzkebzfr6] {
    transform: scale(0.95);
}

.lcard:hover[b-vhzkebzfr6] {
    transform: translateY(-1px) translateZ(0);
    box-shadow: 0 4px 12px rgba(15,23,42,.08);
}

.lcard:active[b-vhzkebzfr6] {
    cursor: grabbing;
    opacity: 0.7;
    transform: translateY(0) scale(0.98) translateZ(0);
}

.lcard--dragging[b-vhzkebzfr6] {
    opacity: 0.3;
    pointer-events: none;
}

.lcard__head[b-vhzkebzfr6] {
    margin-bottom: 8px;
    /* respiro à direita pra não colidir com o botão de Consulta CNPJ (absoluto) */
    padding-right: 32px;
    min-height: 24px;
}

/* Pílula da fonte de prospecção */
.lcard__prospect-pill[b-vhzkebzfr6] {
    display: inline-block;
    font-size: 9px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2px 7px;
    border-radius: 999px;
    background: #EFF6FF;
    color: #2563EB;
    border: 1px solid #BFDBFE;
    margin-bottom: 5px;
}

.lcard__name[b-vhzkebzfr6] {
    font-weight: 600;
    font-size: 13px;
    color: #1E293B;
}

.lcard__cnpj[b-vhzkebzfr6] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 2px;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    letter-spacing: 0.2px;
}

/* Cidade — UF */
.lcard__location[b-vhzkebzfr6] {
    font-size: 11px;
    color: #64748B;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.lcard__city[b-vhzkebzfr6] {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lcard__uf[b-vhzkebzfr6] {
    font-size: 9px;
    font-weight: 700;
    background: #E2E8F0;
    color: #334155;
    padding: 2px 6px;
    border-radius: 4px;
    flex-shrink: 0;
    letter-spacing: 0.3px;
}

.lcard__kv[b-vhzkebzfr6] {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 6px;
    margin-top: 8px;
    font-size: 12px;
}

.lcard__k[b-vhzkebzfr6] {
    color: #94A3B8;
}

.lcard__v[b-vhzkebzfr6] {
    color: #334155;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lcard__tags[b-vhzkebzfr6] {
    display: flex;
    gap: 4px;
    margin-top: 10px;
    flex-wrap: wrap;
}

/* Notas pessoais (item #32219) — mora na linha de tags, não na pilha de
   ícones do canto: ali os offsets são fixos e o botão de transferir é
   condicional, então um quarto ícone deixaria buraco em metade dos cards.
   O próprio botão é o indicador — acende quando há nota. */
.lcard__notes-btn[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    color: #64748B;
    cursor: pointer;
    font-family: inherit;
    line-height: 1.6;
    transition: background .12s, color .12s, border-color .12s;
}

.lcard__notes-btn:hover[b-vhzkebzfr6] {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: #1D4ED8;
}

.lcard__notes-btn--has[b-vhzkebzfr6] {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: #1D4ED8;
    font-weight: 600;
}

.lcard__notes-count[b-vhzkebzfr6] {
    min-width: 14px;
    padding: 0 4px;
    border-radius: 999px;
    background: #2563EB;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    text-align: center;
}

/* Visão Lista: o botão é ícone puro; o "tem nota" vira a cor de destaque. */
.leads-table__action-btn--has-notes[b-vhzkebzfr6] {
    background: #EFF6FF;
    border-color: #BFDBFE;
}

.tag[b-vhzkebzfr6] {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 999px;
    font-weight: 500;
}

.tag--warn[b-vhzkebzfr6] {
    background: #FEF3C7;
    color: #92400E;
}

.tag--danger[b-vhzkebzfr6] {
    background: #FEE2E2;
    color: #991B1B;
}

/* ── Acordeão de telefones ── */
.lcard__phones-section[b-vhzkebzfr6] {
    margin-top: 8px;
    border-top: 1px solid #F1F5F9;
    padding-top: 6px;
}

.lcard__phones-toggle[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    padding: 7px 4px;
    min-height: 32px;
    font-size: 11px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    width: 100%;
    font-family: inherit;
    border-radius: 4px;
    transition: background .12s, color .12s;
}

.lcard__phones-toggle:hover[b-vhzkebzfr6] {
    background: #F1F5F9;
    color: #2563EB;
}

.lcard__phones-chevron[b-vhzkebzfr6] {
    margin-left: auto;
    transition: transform .15s ease;
    color: #94A3B8;
}

.lcard__phones-chevron--open[b-vhzkebzfr6] {
    transform: rotate(180deg);
}

.lcard__phones-list[b-vhzkebzfr6] {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lcard__phone-item[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #334155;
    padding: 5px 8px;
    background: #F8FAFC;
    border-radius: 6px;
    border: 1px solid #EEF0F3;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    letter-spacing: 0.3px;
}

.lcard__phone-number[b-vhzkebzfr6] {
    flex: 1;
}

.lcard__phone-wa[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 5px;
    background: #25D366;
    color: #fff;
    flex-shrink: 0;
    transition: background .12s, transform .12s;
    text-decoration: none;
}

.lcard__phone-wa:hover[b-vhzkebzfr6] {
    background: #1ebe5c;
    transform: scale(1.1);
}

.skeleton[b-vhzkebzfr6] {
    background: linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);
    background-size: 200% 100%;
    animation: shimmer-b-vhzkebzfr6 1.2s infinite;
    padding: 14px;
    border-radius: 8px;
    color: #94A3B8;
    font-size: 12px;
}

@keyframes shimmer-b-vhzkebzfr6 {
    0% { background-position: 200% 0 }
    100% { background-position: -200% 0 }
}

.emptybox[b-vhzkebzfr6] {
    font-size: 12px;
    color: #94A3B8;
    padding: 14px;
    text-align: center;
    border: 1px dashed #E2E8F0;
    border-radius: 8px;
}

/* Placeholder especial quando o trilho está expandido e a 1ª coluna está vazia */
.emptybox--destination[b-vhzkebzfr6] {
    background: #EEEDFE;
    border: 1px dashed #7F77DD;
    color: #3C3489;
    font-weight: 500;
}

.errorbox[b-vhzkebzfr6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 12px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
    border-radius: 8px;
    font-size: 12px;
}

.errorbox button[b-vhzkebzfr6] {
    align-self: flex-start;
}

/* ── Backdrop para dropdown ── */
.kanban-backdrop[b-vhzkebzfr6] {
    position: fixed;
    inset: 0;
    z-index: 10;
}

/* ── Toggle de visualização ── */
.view-toggle[b-vhzkebzfr6] {
    display: flex;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.view-toggle__btn[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #fff;
    border: none;
    cursor: pointer;
    color: #64748B;
    transition: background .12s, color .12s;
}

.view-toggle__btn:hover:not(.view-toggle__btn--active)[b-vhzkebzfr6] {
    background: #F1F5F9;
}

.view-toggle__btn--active[b-vhzkebzfr6] {
    background: #EFF6FF;
    color: #2563EB;
}

.view-toggle__btn + .view-toggle__btn[b-vhzkebzfr6] {
    border-left: 1px solid #E2E8F0;
}

/* ── Filtro de usuários ── */
.user-filter[b-vhzkebzfr6] {
    position: relative;
    z-index: 11;
}

/* ── Busca coringa (autocomplete de contato) ──────────────────────────── */

.contact-search[b-vhzkebzfr6] {
    position: relative;
    z-index: 11;
}

/* Campo em destaque: é A busca da tela desde que Razão Social e Nome do
   Contato saíram como filtros — mais largo e com fonte um ponto acima do
   .input padrão (13px), mantendo os 36px de altura da barra. */
.contact-search__input[b-vhzkebzfr6] {
    min-width: 360px;
    font-size: 14px;
    padding-right: 28px; /* espaço pro X de limpeza */
}

.contact-search__clear[b-vhzkebzfr6] {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #E2E8F0;
    color: #475569;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transition: background .1s;
}

.contact-search__clear:hover[b-vhzkebzfr6] {
    background: #CBD5E1;
}

.contact-search__dropdown[b-vhzkebzfr6] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 100%; /* acompanha a largura do input */
    max-width: 480px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15,23,42,.10);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 340px;
    overflow-y: auto;
}

.contact-search__status[b-vhzkebzfr6] {
    padding: 10px;
    font-size: 13px;
    color: #94A3B8;
}

.contact-search__status--error[b-vhzkebzfr6] {
    color: #DC2626;
}

.contact-search__item[b-vhzkebzfr6] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 8px 10px;
    border: none;
    border-radius: 6px;
    background: transparent;
    text-align: left;
    font: inherit;
    cursor: pointer;
    transition: background .1s;
}

.contact-search__item:hover[b-vhzkebzfr6] {
    background: #F8FAFC;
}

.contact-search__razao[b-vhzkebzfr6] {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
}

.contact-search__cnpj[b-vhzkebzfr6] {
    font-size: 12px;
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

.contact-search__match[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #475569;
}

.contact-search__resp[b-vhzkebzfr6] {
    font-size: 12px;
    color: #64748B;
}

.contact-search__match-tipo[b-vhzkebzfr6] {
    background: #EFF6FF;
    color: #1D4ED8;
    border-radius: 4px;
    padding: 1px 6px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.user-filter__trigger[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.user-filter__chevron[b-vhzkebzfr6] {
    transition: transform .15s ease;
    color: #94A3B8;
    flex-shrink: 0;
}

.user-filter__chevron--open[b-vhzkebzfr6] {
    transform: rotate(180deg);
}

.user-filter__dropdown[b-vhzkebzfr6] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    min-width: 220px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15,23,42,.10);
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 280px;
    overflow-y: auto;
}

.user-filter__item[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: #334155;
    cursor: pointer;
    transition: background .1s;
}

.user-filter__item:hover[b-vhzkebzfr6] {
    background: #F8FAFC;
}

.user-filter__item--selected[b-vhzkebzfr6] {
    background: #EFF6FF;
    color: #1D4ED8;
}

.user-filter__item input[type="checkbox"][b-vhzkebzfr6] {
    accent-color: #2563EB;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.user-filter__search[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    border-bottom: 1px solid #F1F5F9;
    margin-bottom: 4px;
    color: #94A3B8;
}

.user-filter__search-input[b-vhzkebzfr6] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 12px;
    font-family: inherit;
    color: #334155;
    background: transparent;
}

.user-filter__search-input[b-vhzkebzfr6]::placeholder {
    color: #CBD5E1;
}

.user-filter__empty[b-vhzkebzfr6] {
    padding: 10px;
    font-size: 12px;
    color: #94A3B8;
    text-align: center;
}

/* ── Pílulas de usuários selecionados ── */
.kanban-user-pills[b-vhzkebzfr6] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    flex-shrink: 0;
    /* alinha o respiro lateral com a toolbar (pai tem padding-right: 0) */
    margin-right: 24px;
}

.user-pill[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 6px 4px 10px;
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #BFDBFE;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
}

.user-pill__name[b-vhzkebzfr6] {
    white-space: nowrap;
}

.user-pill__remove[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(37, 99, 235, .12);
    color: #1D4ED8;
    cursor: pointer;
    transition: background .1s ease, color .1s ease;
}

.user-pill__remove:hover[b-vhzkebzfr6] {
    background: #2563EB;
    color: #fff;
}

/* ── Vista em Lista ── */
.list-view[b-vhzkebzfr6] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    /* margin-right para alinhar com a toolbar */
    margin-right: 24px;
    gap: 0;
}

/* Filtro de etapas — pills horizontais */
.list-view__stage-filter[b-vhzkebzfr6] {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
    flex-shrink: 0;
}

.stage-tab[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px;
    border-radius: 6px;
    border: 1px solid #E2E8F0;
    background: #fff;
    font-size: 12px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    transition: background .12s, color .12s, border-color .12s;
    font-family: inherit;
    white-space: nowrap;
}

.stage-tab:hover:not(.stage-tab--active)[b-vhzkebzfr6] {
    background: #F8FAFC;
    border-color: #CBD5E1;
}

.stage-tab--active[b-vhzkebzfr6] {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: #1D4ED8;
}

.stage-tab__dot[b-vhzkebzfr6] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

.stage-tab__count[b-vhzkebzfr6] {
    background: #DBEAFE;
    color: #1D4ED8;
    font-size: 10px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 999px;
    margin-left: 2px;
}

/* Pager da visão em lista */
.list-view__pager[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-bottom: none;
    font-size: 12px;
    color: #64748B;
    flex-shrink: 0;
}

/* Corpo scrollável da lista */
.list-view__body[b-vhzkebzfr6] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 0 0 12px 12px;
}

/* Tabela de leads */
.leads-table[b-vhzkebzfr6] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    color: #334155;
}

.leads-table thead[b-vhzkebzfr6] {
    position: sticky;
    top: 0;
    z-index: 1;
}

.leads-table th[b-vhzkebzfr6] {
    background: #F8FAFC;
    padding: 10px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #EEF0F3;
    white-space: nowrap;
}

.leads-table td[b-vhzkebzfr6] {
    padding: 10px 14px;
    border-bottom: 1px solid #F1F5F9;
    vertical-align: middle;
}

.leads-table tbody tr:hover td[b-vhzkebzfr6] {
    background: #F8FAFC;
}

.leads-table tbody tr:last-child td[b-vhzkebzfr6] {
    border-bottom: none;
}

.leads-table__primary[b-vhzkebzfr6] {
    font-weight: 500;
    color: #1E293B;
    max-width: 260px;
}

.leads-table__mono[b-vhzkebzfr6] {
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 12px;
    color: #64748B;
    white-space: nowrap;
}

.leads-table__action-btn[b-vhzkebzfr6] {
    position: static;
    opacity: 0;
    transition: opacity .12s;
}

.leads-table tbody tr:hover .leads-table__action-btn[b-vhzkebzfr6] {
    opacity: 1;
}

/* Ações da linha (detalhes + QR) lado a lado. */
.leads-table__actions[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.leads-table__qr[b-vhzkebzfr6] {
    display: inline-flex;
    line-height: 0;
}

/* Linha clicável (abre os detalhes) + sanfona de telefones — item #31651. */
.leads-table__row[b-vhzkebzfr6] {
    cursor: pointer;
}

.leads-table__phones-col[b-vhzkebzfr6],
.leads-table__phones-cell[b-vhzkebzfr6] {
    width: 1%;
    white-space: nowrap;
    padding-right: 0;
}

.leads-table__phones-toggle[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 4px 6px;
    font-family: inherit;
    font-size: 11px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    transition: background .12s, color .12s;
}

.leads-table__phones-toggle:hover[b-vhzkebzfr6],
.leads-table__phones-toggle--open[b-vhzkebzfr6] {
    background: #F1F5F9;
    border-color: #E2E8F0;
    color: #2563EB;
}

.leads-table__phones-toggle .lcard__phones-chevron[b-vhzkebzfr6] {
    margin-left: 0;
}

.leads-table__phones-count[b-vhzkebzfr6] {
    min-width: 10px;
    text-align: center;
}

/* Linha-mãe e linha expandida formam um bloco: mesmo fundo, sem divisória
   entre elas e a mesma faixa azul à esquerda. */
.leads-table__row--expanded td[b-vhzkebzfr6] {
    background: #F8FAFC;
    border-bottom-color: transparent;
}

.leads-table__row--expanded td:first-child[b-vhzkebzfr6],
.leads-table__phones-row td[b-vhzkebzfr6] {
    box-shadow: inset 3px 0 0 #2563EB;
}

.leads-table__phones-row td[b-vhzkebzfr6] {
    background: #F8FAFC;
    padding: 0 14px 12px;
}

.leads-table__phones-row .lcard__phones-list[b-vhzkebzfr6] {
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 6px;
    max-width: 960px;
}

.leads-table__phones-row .lcard__phone-item[b-vhzkebzfr6] {
    background: #fff;
}

/* Pílula de etapa na tabela */
.stage-pill[b-vhzkebzfr6] {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ── Integração Callix — bloco no topo da coluna "Em Prospecção" ── */
.kcol__callix[b-vhzkebzfr6] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 14px 10px;
    background: #fff;
    border-bottom: 1px solid #EEF0F3;
}

.kcol__callix-btn[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    height: 32px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #6366F1;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s ease;
}

.kcol__callix-btn:hover:not(:disabled)[b-vhzkebzfr6] {
    background: #4F46E5;
}

.kcol__callix-btn:disabled[b-vhzkebzfr6] {
    background: #C7D2FE;
    color: #fff;
    cursor: not-allowed;
}

/* Spinner do botão enquanto a importação está em andamento */
.kcol__callix-spinner[b-vhzkebzfr6] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: kcol-callix-spin-b-vhzkebzfr6 .7s linear infinite;
    flex-shrink: 0;
}

@keyframes kcol-callix-spin-b-vhzkebzfr6 {
    to { transform: rotate(360deg); }
}

/* Faixa de status inline — exibe a mensagem retornada pelo pooling */
.kcol__callix-status[b-vhzkebzfr6] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 7px;
    font-size: 11px;
    line-height: 1.35;
    border: 1px solid transparent;
}

.kcol__callix-status--running[b-vhzkebzfr6] {
    background: #EEF2FF;
    color: #4338CA;
    border-color: #E0E7FF;
}

.kcol__callix-status--done[b-vhzkebzfr6] {
    background: #ECFDF5;
    color: #047857;
    border-color: #D1FAE5;
}

.kcol__callix-status--error[b-vhzkebzfr6] {
    background: #FEF2F2;
    color: #991B1B;
    border-color: #FECACA;
}

/* Ponto pulsante indicando processo em execução */
.kcol__callix-status-dot[b-vhzkebzfr6] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6366F1;
    flex-shrink: 0;
    animation: kcol-callix-pulse-b-vhzkebzfr6 1.1s ease-in-out infinite;
}

@keyframes kcol-callix-pulse-b-vhzkebzfr6 {
    0%, 100% { opacity: 1;   transform: scale(1);   }
    50%      { opacity: .35; transform: scale(.7);  }
}

/* ──────────────────────────────────────────────────────────────────────
   Toolbar retrátil
   Botão à direita recolhe a barra branca de filtros pra liberar espaço
   vertical do board. Recolhida: some o subtítulo, o "atualizado em" e os
   filtros — sobra uma barra slim com o título e as ações (incl. o toggle).
   ────────────────────────────────────────────────────────────────────── */
.kanban-toolbar[b-vhzkebzfr6] {
    transition: padding .15s ease;
}

.kanban-toolbar__collapse[b-vhzkebzfr6] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    padding: 0;
    flex-shrink: 0;
}

.kanban-toolbar__collapse-chevron[b-vhzkebzfr6] {
    transition: transform .15s ease;
}

.kanban-toolbar__collapse-chevron--up[b-vhzkebzfr6] {
    transform: rotate(180deg);
}

/* Estado recolhido */
.kanban-toolbar--collapsed[b-vhzkebzfr6] {
    padding-top: 8px;
    padding-bottom: 8px;
}

.kanban-toolbar--collapsed .kanban-toolbar__subtitle[b-vhzkebzfr6],
.kanban-toolbar--collapsed .kanban-toolbar__updated[b-vhzkebzfr6],
.kanban-toolbar--collapsed .kanban-filters[b-vhzkebzfr6] {
    display: none;
}

/* Destaque da Assistant Surface (§3.2) — realça o alvo que o agente "destacou"
   e mostra um balão informativo guiando o usuário a concluir a ação. */
.asst-highlight[b-vhzkebzfr6] {
    position: relative;
    animation: asst-pulse-b-vhzkebzfr6 1.1s ease-out 3;
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}

@keyframes asst-pulse-b-vhzkebzfr6 {
    0%   { box-shadow: 0 0 0 0 rgba(37, 99, 235, .55); }
    100% { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0); }
}

/* Balão (abaixo do elemento, com setinha apontando pra cima). pointer-events:none
   pra não bloquear o clique no próprio botão destacado.
   Obs.: <input> não renderiza ::after — o balão vale para botões/ações. */
.asst-highlight[b-vhzkebzfr6]::after {
    content: "Clique aqui para concluir a ação recomendada pela IA";
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    background: var(--color-primary, #2563EB);
    color: #fff;
    padding: 6px 11px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    box-shadow: 0 6px 18px rgba(37, 99, 235, .35);
    pointer-events: none;
    z-index: 60;
}

.asst-highlight[b-vhzkebzfr6]::before {
    content: "";
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-bottom-color: var(--color-primary, #2563EB);
    pointer-events: none;
    z-index: 60;
}

/* ──────────────────────────────────────────────────────────────────────
   Mobile (≤600px) — mesmo espírito do padrão "cara de app" dos detalhes
   do lead: respiro externo reduzido, alvos de toque de 44px e board com
   swipe coluna a coluna (scroll-snap + espiada da próxima). Desktop
   intocado — tudo dentro da media query.
   ────────────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .kanban-page[b-vhzkebzfr6] {
        padding: 8px 0 0 8px;
        gap: 8px;
    }

    /* Toolbar compacta: sem subtítulo/"atualizado em"; título menor. */
    .kanban-toolbar[b-vhzkebzfr6] {
        margin-right: 8px;
        padding: 10px 12px;
        gap: 8px 10px;
    }
    .kanban-toolbar__title[b-vhzkebzfr6] { flex: 1 1 auto; }
    .kanban-toolbar__title h1[b-vhzkebzfr6] { font-size: 16px; }
    .kanban-toolbar__subtitle[b-vhzkebzfr6],
    .kanban-toolbar__updated[b-vhzkebzfr6] { display: none; }
    .kanban-toolbar__actions[b-vhzkebzfr6] { margin-left: auto; }

    /* Alvos de toque. */
    .btn[b-vhzkebzfr6] { height: 40px; }
    .view-toggle__btn[b-vhzkebzfr6] { width: 40px; height: 40px; }
    .kanban-toolbar__collapse[b-vhzkebzfr6] { width: 40px; }

    /* Filtros expandidos: empilham em largura total. Fonte 16px no input
       evita o zoom automático do navegador ao focar. */
    .kanban-filters[b-vhzkebzfr6] { flex: 1 1 100%; }
    .kanban-filters .input[b-vhzkebzfr6] {
        flex: 1 1 100%;
        min-width: 0;
        height: 44px;
        font-size: 16px;
    }
    .kanban-filters > .btn[b-vhzkebzfr6] { flex: 1 1 40%; }
    .user-filter[b-vhzkebzfr6] { width: 100%; }
    .user-filter__trigger[b-vhzkebzfr6] {
        width: 100%;
        justify-content: space-between;
        min-height: 44px;
    }
    .user-filter__dropdown[b-vhzkebzfr6] { width: 100%; }

    .kanban-user-pills[b-vhzkebzfr6] { margin-right: 8px; }

    /* Board: cada coluna ocupa ~84% da tela, com "espiada" da próxima —
       o swipe encaixa coluna a coluna (proximity pra não brigar com o
       scroll vertical, que mora no mesmo container). */
    .kanban-board-wrapper[b-vhzkebzfr6] {
        gap: 8px;
        scroll-snap-type: x proximity;
    }
    .kanban-board[b-vhzkebzfr6] { gap: 8px; }
    .kcol[b-vhzkebzfr6] {
        flex: 0 0 min(84vw, 320px);
        scroll-snap-align: start;
        scroll-margin-left: 8px;
    }

    /* Cards: botões com alvo de toque maior — detalhes (canto), WhatsApp,
       acordeão de telefones e iconbtns do header da coluna. */
    .lcard__cnpj-btn[b-vhzkebzfr6] { width: 40px; height: 40px; }
    .lcard__qr-slot[b-vhzkebzfr6] { top: 54px; }
    /* qr-slot(54) + ícone do QR (24, não escala no mobile) + 6 de respiro */
    .lcard__transfer-btn[b-vhzkebzfr6] { top: 84px; }
    .lcard__head[b-vhzkebzfr6] { padding-right: 48px; }
    .iconbtn[b-vhzkebzfr6] { padding: 8px 10px; }
    .lcard__phones-toggle[b-vhzkebzfr6] {
        min-height: 44px;
        font-size: 12px;
    }
    .lcard__phone-item[b-vhzkebzfr6] { padding: 8px 10px; }
    .lcard__phone-wa[b-vhzkebzfr6] {
        width: 36px;
        height: 36px;
        border-radius: 8px;
    }

    .list-view[b-vhzkebzfr6] { margin-right: 8px; }
}

/* /Components/Pages/ListasLeads.razor.rz.scp.css */
/* =============================================================================
   Listas de leads — grid de cards (padrão das seleções de grupo/lista)
   ===========================================================================*/

.ll-page[b-doskdblxe3] {
    background: #F5F7FA;
}

.ll-header[b-doskdblxe3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.ll-header__title h1[b-doskdblxe3] {
    font-size: 22px;
    font-weight: 600;
    color: #0F172A;
    margin: 0;
    line-height: 1.2;
}

.ll-header__title p[b-doskdblxe3] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #64748B;
    max-width: 720px;
}

/* ─── Campo de busca ─────────────────────────────────────────────────────── */
.ll-search[b-doskdblxe3] {
    position: relative;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 280px;
    max-width: 100%;
}

.ll-search__icon[b-doskdblxe3] {
    position: absolute;
    left: 12px;
    color: #94A3B8;
    pointer-events: none;
}

.ll-search__input[b-doskdblxe3] {
    width: 100%;
    height: 36px;
    padding: 0 36px 0 34px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-family: inherit;
    color: #1E293B;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ll-search__input:focus[b-doskdblxe3] {
    border-color: #2563EB;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.ll-search__input[b-doskdblxe3]::placeholder {
    color: #94A3B8;
}

.ll-search__clear[b-doskdblxe3] {
    position: absolute;
    right: 6px;
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #64748B;
    font-size: 16px;
    line-height: 1;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ll-search__clear:hover[b-doskdblxe3] {
    background: #F1F5F9;
    color: #1E293B;
}

/* Empty state quando busca não retorna nada */
.ll-no-results[b-doskdblxe3] {
    margin-top: 16px;
    padding: 16px 18px;
    background: #fff;
    border: 1px dashed #E2E8F0;
    border-radius: 10px;
    font-size: 13px;
    color: #64748B;
    text-align: center;
}

.ll-no-results strong[b-doskdblxe3] {
    color: #1E293B;
    font-weight: 600;
}

.ll-content[b-doskdblxe3] {
    padding: 16px 24px 24px 24px;
    min-width: 0;
}

/* ─── Mini-dash (topo) ───────────────────────────────────────────────────── */
.ll-dash[b-doskdblxe3] {
    margin-bottom: 18px;
}

.ll-dash__head[b-doskdblxe3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.ll-dash__title[b-doskdblxe3] {
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
}

.ll-dash__period[b-doskdblxe3] {
    display: inline-flex;
    background: #F1F5F9;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}

.ll-dash__period-btn[b-doskdblxe3] {
    border: 0;
    background: transparent;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.12s ease;
}

.ll-dash__period-btn:hover:not(:disabled)[b-doskdblxe3] {
    color: #1E293B;
}

.ll-dash__period-btn--active[b-doskdblxe3] {
    background: #fff;
    color: #2563EB;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.ll-dash__period-btn:disabled[b-doskdblxe3] {
    opacity: 0.6;
    cursor: not-allowed;
}

.ll-dash__grid[b-doskdblxe3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

@media (max-width: 760px) {
    .ll-dash__grid[b-doskdblxe3] { grid-template-columns: 1fr; }
}

.ll-dash__card[b-doskdblxe3] {
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    min-width: 0;
}

.ll-dash__card-title[b-doskdblxe3] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 10px;
}

.ll-dash__chart-wrap[b-doskdblxe3] {
    position: relative;
    height: 180px;
}

.ll-dash__chart-wrap canvas[b-doskdblxe3] {
    width: 100% !important;
    height: 100% !important;
}

.ll-dash__loading[b-doskdblxe3] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.ll-dash__loading .spinner[b-doskdblxe3] {
    width: 24px;
    height: 24px;
    border: 3px solid #E2E8F0;
    border-top-color: #2563EB;
    border-radius: 50%;
}

.ll-dash__empty[b-doskdblxe3] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #94A3B8;
    font-size: 12px;
    font-style: italic;
}

/* ─── Grid de cards ──────────────────────────────────────────────────────── */
.ll-grid[b-doskdblxe3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
}

/* ─── Card base ──────────────────────────────────────────────────────────── */
.ll-card[b-doskdblxe3] {
    position: relative;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    transition: all 0.15s ease;
    overflow: hidden;
    min-width: 0;
}

.ll-card:hover[b-doskdblxe3] {
    border-color: #C7DBFE;
    background: #F8FAFF;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

/* Botão principal cobre toda a área clicável do card */
.ll-card__main[b-doskdblxe3] {
    width: 100%;
    background: none;
    border: 0;
    padding: 16px 18px;
    text-align: left;
    cursor: pointer;
    font: inherit;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.ll-card__head[b-doskdblxe3] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.ll-card__name[b-doskdblxe3] {
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.ll-card__lock[b-doskdblxe3] {
    font-size: 11px;
    opacity: 0.7;
    flex-shrink: 0;
}

.ll-card__meta[b-doskdblxe3] {
    font-size: 12px;
    color: #64748B;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.ll-card__meta strong[b-doskdblxe3] {
    color: #1E293B;
    font-weight: 600;
}

.ll-card__sep[b-doskdblxe3] {
    color: #CBD5E1;
    margin: 0 2px;
}

.ll-card__date[b-doskdblxe3] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 4px;
}

/* ─── Ações flutuantes ──────────────────────────────────────────────────── */
.ll-card__actions[b-doskdblxe3] {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
}

.ll-card__action[b-doskdblxe3] {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #E2E8F0;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.12s ease, color 0.12s ease, border-color 0.12s ease,
                opacity 0.12s ease;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.ll-card__action:hover[b-doskdblxe3] {
    background: #EFF6FF;
    color: #2563EB;
    border-color: #C7DBFE;
}

.ll-card__action--danger:hover[b-doskdblxe3] {
    background: #FEE2E2;
    color: #B91C1C;
    border-color: #FECACA;
}

/* Botão visível só no hover do card (ex.: excluir — ação destrutiva).
   O ⓘ de estatísticas NÃO usa essa classe, então fica sempre visível. */
.ll-card__action--hover-only[b-doskdblxe3] {
    opacity: 0;
}

.ll-card:hover .ll-card__action--hover-only[b-doskdblxe3],
.ll-card__action--hover-only:focus-visible[b-doskdblxe3] {
    opacity: 1;
}

/* ─── Card "Nova lista" — primeiro, em destaque azul ────────────────────── */
.ll-card--new[b-doskdblxe3] {
    background: linear-gradient(135deg, #2563EB, #3B82F6);
    border: 1.5px solid #2563EB;
    padding: 16px 18px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    color: #fff;
    font: inherit;
    text-align: left;
    transition: all 0.15s ease;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25);
}

.ll-card__new-text[b-doskdblxe3] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ll-card--new:hover[b-doskdblxe3] {
    background: linear-gradient(135deg, #1D4ED8, #2563EB);
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

.ll-card__plus-circle[b-doskdblxe3] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 1.5px solid rgba(255, 255, 255, 0.5);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    transition: all 0.15s ease;
    flex-shrink: 0;
}

.ll-card--new:hover .ll-card__plus-circle[b-doskdblxe3] {
    background: #fff;
    border-color: #fff;
    color: #2563EB;
}

.ll-card__new-label[b-doskdblxe3] {
    font-size: 14px;
    font-weight: 700;
}

.ll-card__new-hint[b-doskdblxe3] {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.8);
}

/* ─── Modal de delete ──────────────────────────────────────────────────── */
.ll-modal__warn[b-doskdblxe3] {
    font-size: 13px;
    color: #B91C1C;
    margin: 4px 0 0;
}

.ll-btn--danger[b-doskdblxe3] {
    background: #DC2626 !important;
}

.ll-btn--danger:hover:not(:disabled)[b-doskdblxe3] {
    background: #B91C1C !important;
}

/* ─── Destaque da Assistant Surface (piloto) ─────────────────────────────────
   Realce aplicado quando o assistente pede "destacar" o campo de busca. */
.asst-highlight[b-doskdblxe3] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}
/* /Components/Pages/MetricasUso.razor.rz.scp.css */
/* Shell da página /metricas-uso. O corpo (cartões, gráficos) é do
   UsageMetricsBoard e tem estilo próprio — aqui só a toolbar e o wrapper. */

.mu-topbar[b-919chbvkj0] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.mu-brand__eyebrow[b-919chbvkj0] {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-secondary);
}

.mu-brand__title[b-919chbvkj0] {
    margin: 2px 0 0;
    font-size: 22px;
    font-weight: 650;
    color: var(--color-text-primary);
}

.mu-headctl[b-919chbvkj0] { display: flex; align-items: center; gap: 16px; }

.mu-field[b-919chbvkj0] { display: flex; flex-direction: column; gap: 3px; }

.mu-field__label[b-919chbvkj0] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
}

.mu-select[b-919chbvkj0] {
    padding: 6px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-text-primary);
    font-size: 13px;
}

.mu-updated[b-919chbvkj0] { display: flex; flex-direction: column; gap: 3px; }

.mu-updated__label[b-919chbvkj0] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
}

.mu-updated__time[b-919chbvkj0] {
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    color: var(--color-text-secondary);
}

.mu-tvlink[b-919chbvkj0] {
    padding: 7px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    color: var(--color-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.mu-tvlink:hover[b-919chbvkj0] { background: var(--color-background); }

/* Fit-to-screen: a área útil vira um stage sem scroll; o canvas lógico de
   1920×940 é escalado pelo usage-fit.js (--fit-scale) pra caber inteiro.
   O overflow:hidden aqui sobrescreve o overflow:auto do .page-fluid__content
   global — nesta página o scroll não existe por design. */
.mu-content[b-919chbvkj0] {
    padding: 12px 24px 12px 12px;
    overflow: hidden;
    display: flex;
}

.mu-stage[b-919chbvkj0] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    position: relative;
    overflow: hidden;
}

.mu-canvas[b-919chbvkj0] {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1920px;
    height: 940px;
    transform: translate(-50%, -50%) scale(var(--fit-scale, 1));
}

.mu-board[b-919chbvkj0] { height: 100%; }

/* Refetch sem flash: segura o render anterior, sem pulo de layout. */
.mu-board[b-919chbvkj0] { transition: opacity .18s ease; }
.mu-board.is-refetching[b-919chbvkj0] { opacity: .55; }

.mu-loading[b-919chbvkj0],
.mu-empty[b-919chbvkj0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 64px 16px;
    color: var(--color-text-secondary);
}

.mu-empty strong[b-919chbvkj0] { color: var(--color-text-primary); }

/* Destaque do assistente (Assistant Surface) sobre o seletor de janela. */
.asst-highlight[b-919chbvkj0] {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
    border-radius: var(--radius-sm);
}
/* /Components/Pages/MetricasUsoTv.razor.rz.scp.css */
/* Quiosque fit-to-screen: a página é um canvas lógico de 1920×1080 escalado
   pelo usage-fit.js pra caber exatamente na tela — nunca rola, em qualquer
   resolução. O stage centraliza; a folga de aspect ratio vira moldura preta. */

.tv-stage[b-ne6jqam93r] {
    position: fixed;
    inset: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
}

.tv-canvas[b-ne6jqam93r] {
    width: 1920px;
    height: 1080px;
    flex-shrink: 0;
    transform: scale(var(--fit-scale, 1));
    transform-origin: center center;

    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    box-sizing: border-box;
}

.tv-page__head[b-ne6jqam93r] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-shrink: 0;
}

.tv-page__eyebrow[b-ne6jqam93r] {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #8FA3BC;
}

.tv-page__title[b-ne6jqam93r] {
    margin: 2px 0 0;
    font-size: 30px;
    font-weight: 650;
    color: #FFFFFF;
}

.tv-page__clock[b-ne6jqam93r] { text-align: right; }

.tv-page__time[b-ne6jqam93r] {
    display: block;
    font-size: 34px;
    font-weight: 650;
    line-height: 1;
    color: #FFFFFF;
    font-variant-numeric: tabular-nums;
}

.tv-page__date[b-ne6jqam93r] { font-size: 14px; color: #8FA3BC; font-variant-numeric: tabular-nums; }

/* O board (modo fit) ocupa o resto do canvas — sem scroll: o fit é quem garante
   que cabe, cortar aqui é só a rede de segurança. */
.tv-page__body[b-ne6jqam93r] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.tv-page__empty[b-ne6jqam93r] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 22px;
    color: #8FA3BC;
}
/* /Components/Pages/MeusAgentes.razor.rz.scp.css */
/* =============================================================================
   Meus Agentes — organograma do gestor + cards de agentes
   ===========================================================================*/

/* ─── Header (título + filtros) ──────────────────────────────────────────── */
.ma-header[b-tcw761qqw6] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 24px;
}

.ma-header__title h1[b-tcw761qqw6] {
    font-size: 22px;
    font-weight: 600;
    color: var(--color-text-primary, #0F172A);
    margin: 0;
    line-height: 1.2;
}

.ma-header__title p[b-tcw761qqw6] {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--color-text-secondary, #64748B);
}

.ma-filters[b-tcw761qqw6] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ─── Busca ──────────────────────────────────────────────────────────────── */
.ma-search[b-tcw761qqw6] {
    position: relative;
    display: flex;
    align-items: center;
    width: 280px;
    max-width: 100%;
}

.ma-search__icon[b-tcw761qqw6] {
    position: absolute;
    left: 12px;
    font-size: 13px;
    color: #94A3B8;
    pointer-events: none;
}

.ma-search__input[b-tcw761qqw6] {
    width: 100%;
    height: 36px;
    padding: 0 34px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-family: inherit;
    color: var(--color-text-primary, #1E293B);
    outline: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.ma-search__input:focus[b-tcw761qqw6] {
    border-color: var(--color-primary, #2563EB);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .1);
}

.ma-search__input[b-tcw761qqw6]::placeholder { color: #94A3B8; }

.ma-search__clear[b-tcw761qqw6] {
    position: absolute;
    right: 6px;
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #64748B;
    font-size: 14px;
    line-height: 1;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ma-search__clear:hover[b-tcw761qqw6] { background: #F1F5F9; color: #1E293B; }

/* ─── Filtro de status (segmented) ───────────────────────────────────────── */
.ma-status[b-tcw761qqw6] {
    display: inline-flex;
    background: #F1F5F9;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}

.ma-status__btn[b-tcw761qqw6] {
    border: 0;
    background: transparent;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    font-family: inherit;
    color: #64748B;
    cursor: pointer;
    transition: all .12s ease;
}

.ma-status__btn:hover[b-tcw761qqw6] { color: #1E293B; }

.ma-status__btn--active[b-tcw761qqw6] {
    background: #fff;
    color: var(--color-primary, #2563EB);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .08);
}

/* ─── Conteúdo / organograma ─────────────────────────────────────────────── */
.ma-content[b-tcw761qqw6] {
    padding: 8px 24px 28px;
    min-width: 0;
}

/* Organograma do gestor + equipe.
   max-width + margin auto: em viewports muito largos, mantém o bloco
   inteiro (gestor + grid de agentes) sempre centralizado na tela. */
.ma-org[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.ma-org__top[b-tcw761qqw6] {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Nó do gestor (topo do organograma) */
.ma-gestor[b-tcw761qqw6] {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg, var(--color-primary, #2563EB), #3B82F6);
    color: #fff;
    border-radius: 14px;
    padding: 16px 22px;
    box-shadow: 0 6px 18px rgba(37, 99, 235, .28);
    max-width: 460px;
    min-width: 0;
}

.ma-gestor__avatar[b-tcw761qqw6] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    border: 1.5px solid rgba(255, 255, 255, .55);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 700;
    flex-shrink: 0;
}

.ma-gestor__info[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ma-gestor__name[b-tcw761qqw6] {
    font-size: 16px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ma-gestor__email[b-tcw761qqw6] {
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ma-gestor__badge[b-tcw761qqw6] {
    margin-top: 4px;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 600;
    background: rgba(255, 255, 255, .2);
    border-radius: 999px;
    padding: 2px 10px;
}

/* Ações do nó do gestor — botão "Verificar Configuração" + resumo */
.ma-gestor__actions[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    margin-left: 8px;
    flex-shrink: 0;
}

.ma-gestor__resumo[b-tcw761qqw6] {
    font-size: 11px;
    font-weight: 700;
    border-radius: 999px;
    padding: 2px 10px;
    background: rgba(255, 255, 255, .2);
}

.ma-gestor__resumo--ok[b-tcw761qqw6] { background: rgba(22, 163, 74, .9); }
.ma-gestor__resumo--warn[b-tcw761qqw6] { background: rgba(202, 138, 4, .95); }

.ma-verify-btn[b-tcw761qqw6] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 0;
    background: #fff;
    color: var(--color-primary, #2563EB);
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    border-radius: 8px;
    padding: 7px 14px;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .12);
    transition: transform .12s ease;
}

.ma-verify-btn:hover:not(:disabled)[b-tcw761qqw6] { transform: translateY(-1px); }
.ma-verify-btn:disabled[b-tcw761qqw6] { opacity: .75; cursor: default; }

.ma-verify-spin[b-tcw761qqw6] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(37, 99, 235, .25);
    border-top-color: var(--color-primary, #2563EB);
    border-radius: 50%;
    animation: ma-spin-b-tcw761qqw6 .8s linear infinite;
}

/* Conector vertical entre gestor e equipe */
.ma-org__connector[b-tcw761qqw6] {
    width: 2px;
    height: 28px;
    background: #CBD5E1;
}

/* ─── Grid de agentes ──────────────────────────────────────────────────────
   Flex com wrap + justify-content: center — mantém os cards centralizados
   horizontalmente abaixo do gestor, independente da quantidade. Diferente
   do grid auto-fill (que empurrava os cards pra esquerda quando havia
   poucos agentes em viewports largos), aqui cada card tem largura fixa
   (280px) e a linha inteira é centralizada. */
.ma-grid[b-tcw761qqw6] {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

/* ─── Card de agente ─────────────────────────────────────────────────────── */
.ma-card[b-tcw761qqw6] {
    position: relative;
    flex: 0 1 280px;
    max-width: 280px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
    transition: all .15s ease;
    min-width: 0;
}

.ma-card:hover[b-tcw761qqw6] {
    border-color: #C7DBFE;
    transform: translateY(-1px);
    box-shadow: 0 2px 10px rgba(15, 23, 42, .07);
}

/* Botão de transferência — aparece no hover do card. */
.ma-card__transfer[b-tcw761qqw6] {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #E2E8F0;
    border-radius: 7px;
    background: #fff;
    color: #2563EB;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s ease, background .12s ease, border-color .12s ease;
}

.ma-card:hover .ma-card__transfer[b-tcw761qqw6] {
    opacity: 1;
}

.ma-card__transfer:hover[b-tcw761qqw6] {
    background: #EFF6FF;
    border-color: #C7DBFE;
}

.ma-card__avatar[b-tcw761qqw6] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #EEF2FF;
    color: var(--color-primary, #2563EB);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    flex-shrink: 0;
}

.ma-card__body[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.ma-card__name-row[b-tcw761qqw6] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.ma-card__name[b-tcw761qqw6] {
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.ma-card__tag[b-tcw761qqw6] {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #B91C1C;
    background: #FEE2E2;
    border-radius: 999px;
    padding: 2px 8px;
}

.ma-card__email[b-tcw761qqw6] {
    font-size: 12px;
    color: #64748B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* Linha do Callix */
.ma-card__callix[b-tcw761qqw6] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: #475569;
    margin-top: 2px;
    min-width: 0;
}

.ma-card__callix-icon[b-tcw761qqw6] { flex-shrink: 0; font-size: 11px; }

.ma-card__callix-user[b-tcw761qqw6] {
    font-weight: 600;
    color: #1E293B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.ma-card__callix--warn[b-tcw761qqw6] { color: #92400E; }

.ma-card__date[b-tcw761qqw6] {
    font-size: 11px;
    color: #94A3B8;
    margin-top: 2px;
}

/* ─── Checklist de configuração Callix ───────────────────────────────────── */
.ma-checklist[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px dashed #E2E8F0;
}

.ma-check[b-tcw761qqw6] {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: #475569;
    min-width: 0;
}

.ma-check__icon[b-tcw761qqw6] {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.ma-check--ok .ma-check__icon[b-tcw761qqw6] { background: #16A34A; }
.ma-check--fail .ma-check__icon[b-tcw761qqw6] { background: #DC2626; }
.ma-check--unknown .ma-check__icon[b-tcw761qqw6] { background: #CBD5E1; color: #475569; }

.ma-check--fail .ma-check__label[b-tcw761qqw6] { color: #B91C1C; }
.ma-check--unknown .ma-check__label[b-tcw761qqw6] { color: #94A3B8; }

.ma-check__label[b-tcw761qqw6] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

.ma-check--loading[b-tcw761qqw6] { color: #94A3B8; }

.ma-check__spin[b-tcw761qqw6] {
    flex-shrink: 0;
    width: 13px;
    height: 13px;
    border: 2px solid #E2E8F0;
    border-top-color: var(--color-primary, #2563EB);
    border-radius: 50%;
    animation: ma-spin-b-tcw761qqw6 .8s linear infinite;
}

/* Sem Callix → detalhe amarelado pra dar destaque */
.ma-card--no-callix[b-tcw761qqw6] {
    border-color: #FDE68A;
    background: #FFFBEB;
}

.ma-card--no-callix:hover[b-tcw761qqw6] {
    border-color: #FCD34D;
    background: #FEF9E7;
}

/* Bloqueado → card "apagado" */
.ma-card--blocked[b-tcw761qqw6] {
    opacity: .55;
    filter: grayscale(1);
    background: #FAFAFA;
}

.ma-card--blocked .ma-card__name[b-tcw761qqw6] {
    text-decoration: line-through;
    color: #64748B;
}

.ma-card--blocked:hover[b-tcw761qqw6] {
    transform: none;
    border-color: #E2E8F0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

/* ─── Loading + vazio ────────────────────────────────────────────────────── */
.ma-loading[b-tcw761qqw6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 0;
    color: #64748B;
    font-size: 13px;
}

.ma-spinner[b-tcw761qqw6] {
    width: 28px;
    height: 28px;
    border: 3px solid #E2E8F0;
    border-top-color: var(--color-primary, #2563EB);
    border-radius: 50%;
    animation: ma-spin-b-tcw761qqw6 .8s linear infinite;
}

@keyframes ma-spin-b-tcw761qqw6 {
    to { transform: rotate(360deg); }
}

.ma-empty[b-tcw761qqw6] {
    width: 100%;
    margin-top: 4px;
    padding: 20px;
    background: #fff;
    border: 1px dashed #E2E8F0;
    border-radius: 12px;
    font-size: 13px;
    color: #64748B;
    text-align: center;
}

.ma-empty strong[b-tcw761qqw6] { color: #1E293B; font-weight: 600; }

/* ─── Responsivo ─────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
    .ma-header[b-tcw761qqw6] { flex-direction: column; }
    .ma-filters[b-tcw761qqw6] { width: 100%; }
    .ma-search[b-tcw761qqw6] { width: 100%; }
    .ma-gestor[b-tcw761qqw6] { width: 100%; }
}

/* ─── Destaque da Assistant Surface (piloto) ─────────────────────────────────
   Realce aplicado quando o assistente pede "destacar" o campo de busca. */
.asst-highlight[b-tcw761qqw6] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}

/* Gestão dividida — co-gestores ao lado do gestor logado. O time não tem nome:
   são eles, juntos, que o identificam. */
.ma-org__top[b-tcw761qqw6] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.ma-gestor--co[b-tcw761qqw6] {
    opacity: .92;
}

/* Ações do card do agente (mover de time, tornar gestor). */
.ma-card__acts[b-tcw761qqw6] {
    position: absolute;
    top: 8px;
    right: 8px;
    display: flex;
    gap: 4px;
}

.ma-card__transfer--inline[b-tcw761qqw6] {
    position: static;
}

.ma-card:hover .ma-card__acts .ma-card__transfer[b-tcw761qqw6] {
    opacity: 1;
}

/* Quem também gerencia aparece na grid com esta marca — é o que faz a contagem
   de agentes bater com o divisor da meta. */
.ma-card__tag--gestor[b-tcw761qqw6] {
    color: #1D4ED8;
    background: #DBEAFE;
}

/* Barra de ações do time — saiu de dentro do card do gestor logado, porque a
   tela pode ser aberta por quem não gerencia o time (Admin, Dev) e aí não há
   "card dele" onde pendurar o botão. */
.ma-time-bar[b-tcw761qqw6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
}
/* /Components/Pages/NovaLista.razor.rz.scp.css */
/* =============================================================================
   Nova Lista — fluxo em 4 steps progressivos
   ===========================================================================*/

/* Container raiz — segue padrão .page-fluid (flex column de altura total) */
.nl-page[b-l0wbtg8rsd] {
    background: #F5F7FA;
}

.nl-header[b-l0wbtg8rsd] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.nl-header__title h1[b-l0wbtg8rsd] {
    font-size: 22px;
    font-weight: 600;
    color: #0F172A;
    margin: 0;
    line-height: 1.2;
}

.nl-header__title p[b-l0wbtg8rsd] {
    margin: 4px 0 0;
    font-size: 13px;
    color: #64748B;
    max-width: 720px;
}

.nl-header__actions[b-l0wbtg8rsd] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* Conteúdo principal — pilha de steps. Padding-right pra barra de scroll
   encostar na borda como nas outras páginas fluid. */
.nl-content[b-l0wbtg8rsd] {
    padding: 16px 24px 96px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ─── Step ──────────────────────────────────────────────────────────────── */
.step[b-l0wbtg8rsd] {
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    /* SEM overflow: hidden — causava corte visual com pixel rounding em zoom
       não-100%. Os cantos arredondados continuam aparecendo pelo border-radius
       no próprio elemento; conteúdo interno cresce naturalmente. */
    transition: opacity 0.15s ease, border-color 0.15s ease;
    /* min-width: 0 permite que filhos com flex/grid encolham quando precisam */
    min-width: 0;
}

.step--locked[b-l0wbtg8rsd] {
    opacity: 0.55;
    pointer-events: none;
}

.step--locked .step__num[b-l0wbtg8rsd] {
    background: #F1F5F9;
    color: #94A3B8;
    border-color: #E2E8F0;
}

.step--active[b-l0wbtg8rsd] {
    border-color: #C7DBFE;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 3px rgba(37, 99, 235, 0.08);
}

.step--active .step__num[b-l0wbtg8rsd] {
    background: #2563EB;
    color: #fff;
    border-color: #2563EB;
}

.step--completed .step__num[b-l0wbtg8rsd] {
    background: #16A34A;
    color: #fff;
    border-color: #16A34A;
}

.step__head[b-l0wbtg8rsd] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    flex-wrap: wrap;     /* badge quebra pra linha de baixo em viewports estreitos */
    min-width: 0;        /* evita overflow horizontal em zoom alto */
}

.step__num[b-l0wbtg8rsd] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #E2E8F0;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.step__title[b-l0wbtg8rsd] {
    flex: 1;
    min-width: 0;
}

.step__title h2[b-l0wbtg8rsd] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #0F172A;
}

.step__title p[b-l0wbtg8rsd] {
    margin: 3px 0 0;
    font-size: 13px;
    color: #64748B;
}

.step__badge[b-l0wbtg8rsd] {
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #C7DBFE;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    flex-shrink: 0;
    max-width: 280px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.step--completed .step__badge[b-l0wbtg8rsd] {
    background: #F0FDF4;
    color: #15803D;
    border-color: #BBF7D0;
}

.step__body[b-l0wbtg8rsd] {
    /* Padding lateral igual ao do head (20px) — alinhado consistentemente.
       Removido o padding-left de 62px (que tentava alinhar com o título e
       não escalava bem em zoom). Perde-se um pouco do "indent" visual, mas
       o número do step já fica visualmente associado ao título no header. */
    padding: 0 20px 20px 20px;
    min-width: 0;        /* permite flex/grid filhos encolherem */
}

@media (max-width: 700px) {
    .step__body[b-l0wbtg8rsd] { padding: 0 16px 16px 16px; }
}

/* ─── Loading inline ─────────────────────────────────────────────────────── */
.nl-loading[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 0;
    font-size: 13px;
    color: #64748B;
}

.nl-loading--inline[b-l0wbtg8rsd] {
    margin-top: 12px;
    padding: 12px;
    background: #F8FAFC;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
}

/* ─── Barra de progresso (verificação de CNPJs em chunks) ─────────────── */
.nl-progress[b-l0wbtg8rsd] {
    margin-top: 14px;
    padding: 12px 14px;
    background: #F8FAFC;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
}

.nl-progress__head[b-l0wbtg8rsd] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.nl-progress__title[b-l0wbtg8rsd] {
    font-size: 13px;
    font-weight: 500;
    color: #1E293B;
}

.nl-progress__count[b-l0wbtg8rsd] {
    font-size: 12px;
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

.nl-progress__bar[b-l0wbtg8rsd] {
    height: 6px;
    background: #E2E8F0;
    border-radius: 999px;
    overflow: hidden;
}

.nl-progress__fill[b-l0wbtg8rsd] {
    height: 100%;
    background: linear-gradient(90deg, #2563EB, #3B82F6);
    border-radius: 999px;
    transition: width 0.25s ease;
}

.nl-progress__meta[b-l0wbtg8rsd] {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #94A3B8;
}

.nl-loading .spinner[b-l0wbtg8rsd] {
    width: 18px;
    height: 18px;
    border: 2px solid #E2E8F0;
    border-top-color: #2563EB;
    border-radius: 50%;
}

/* ─── Empty inline ──────────────────────────────────────────────────────── */
.nl-empty[b-l0wbtg8rsd] {
    padding: 28px;
    text-align: center;
    border: 2px dashed #E2E8F0;
    border-radius: 8px;
    color: #64748B;
    font-size: 13px;
    background: #FAFBFC;
}

.nl-empty--small[b-l0wbtg8rsd] {
    padding: 14px 16px;
    margin-top: 10px;
    font-size: 12px;
}

.nl-empty--small strong[b-l0wbtg8rsd] {
    color: #2563EB;
    font-weight: 600;
}

/* ─── STEP 1 — Grupos em grid ───────────────────────────────────────────── */
.nl-group-grid[b-l0wbtg8rsd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 12px;
}

.nl-group-card[b-l0wbtg8rsd] {
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 14px 16px;
    text-align: left;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 6px;
    transition: all 0.15s ease;
    font: inherit;
    color: inherit;
}

.nl-group-card:hover[b-l0wbtg8rsd] {
    border-color: #C7DBFE;
    background: #F8FAFF;
}

.nl-group-card--selected[b-l0wbtg8rsd] {
    border-color: #2563EB;
    background: #EFF6FF;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.nl-group-card__head[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.nl-group-card__name[b-l0wbtg8rsd] {
    font-size: 14px;
    font-weight: 600;
    color: #0F172A;
}

.nl-group-card__check[b-l0wbtg8rsd] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #2563EB;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nl-group-card__plus[b-l0wbtg8rsd] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #E2E8F0;
    color: #475569;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nl-group-card__meta[b-l0wbtg8rsd] {
    font-size: 12px;
    color: #64748B;
}

.nl-group-card__hint[b-l0wbtg8rsd] {
    font-size: 11px;
    color: #94A3B8;
}

/* Preview de prospecções dentro do card de grupo */
.nl-group-card__prosp[b-l0wbtg8rsd] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 4px;
}

.nl-group-card__prosp-tag[b-l0wbtg8rsd] {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #EFF6FF;
    color: #1D4ED8;
    border: 1px solid #DBEAFE;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nl-group-card--selected .nl-group-card__prosp-tag[b-l0wbtg8rsd] {
    background: #DBEAFE;
    border-color: #93C5FD;
}

.nl-group-card__prosp-tag--more[b-l0wbtg8rsd] {
    background: #F1F5F9 !important;
    color: #64748B !important;
    border-color: #E2E8F0 !important;
    font-style: italic;
}

/* Card "Criar novo" tem um input dentro — não pode ser button */
.nl-group-card--new[b-l0wbtg8rsd] {
    cursor: default;
    border-style: dashed;
}

.nl-group-card--new:hover[b-l0wbtg8rsd] {
    background: #fff;
    border-color: #C7DBFE;
}

.nl-group-card--new.nl-group-card--selected[b-l0wbtg8rsd] {
    border-style: solid;
    background: #EFF6FF;
}

.nl-input[b-l0wbtg8rsd] {
    width: 100%;
    height: 34px;
    padding: 0 10px;
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    font-size: 13px;
    background: #fff;
    font-family: inherit;
}

.nl-input:focus[b-l0wbtg8rsd] {
    outline: 2px solid rgba(37, 99, 235, 0.2);
    border-color: #2563EB;
}

/* ─── STEP 2 — Usuários ─────────────────────────────────────────────────── */
.nl-actions-bar[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.nl-actions-bar__count[b-l0wbtg8rsd] {
    font-size: 12px;
    color: #64748B;
}

.nl-link[b-l0wbtg8rsd] {
    background: none;
    border: none;
    color: #2563EB;
    font-size: 12px;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nl-link:hover[b-l0wbtg8rsd] { color: #1D4ED8; }

.nl-user-grid[b-l0wbtg8rsd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

.nl-user-card[b-l0wbtg8rsd] {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: all 0.15s ease;
    position: relative;
    user-select: none;
}

.nl-user-card:hover[b-l0wbtg8rsd] {
    border-color: #C7DBFE;
    background: #F8FAFF;
}

.nl-user-card--selected[b-l0wbtg8rsd] {
    border-color: #2563EB;
    background: #EFF6FF;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.nl-user-card--readonly[b-l0wbtg8rsd] {
    cursor: default;
    background: #F8FAFC;
    border-color: #EEF0F3;
}

.nl-user-card__cb[b-l0wbtg8rsd] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.nl-user-card__avatar[b-l0wbtg8rsd] {
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3B82F6, #8B5CF6);
    color: #fff;
    font-weight: 600;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nl-user-card__name[b-l0wbtg8rsd] {
    font-size: 13px;
    font-weight: 500;
    color: #1E293B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nl-user-card__role[b-l0wbtg8rsd] {
    font-size: 11px;
    color: #64748B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Edição inline do grupo (Step 2 com grupo existente) ───────────────── */

/* Card editável: igual aos outros mas com cursor default e botão X no hover */
.nl-user-card--editable[b-l0wbtg8rsd] {
    cursor: default;
}

.nl-user-card--editable:hover[b-l0wbtg8rsd] {
    border-color: #C7DBFE;
    background: #F8FAFF;
}

/* Botão X — escondido até hover do card */
.nl-user-card__remove[b-l0wbtg8rsd] {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    border: 0;
    background: rgba(255, 255, 255, 0.95);
    color: #DC2626;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.12s ease, transform 0.12s ease, background 0.12s ease;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
}

.nl-user-card--editable:hover .nl-user-card__remove[b-l0wbtg8rsd],
.nl-user-card__remove:focus-visible[b-l0wbtg8rsd] {
    opacity: 1;
    transform: scale(1);
}

.nl-user-card__remove:hover[b-l0wbtg8rsd] {
    background: #FEE2E2;
    color: #B91C1C;
}

/* Card recém-adicionado — destaque âmbar pra sinalizar "pendente de salvar" */
.nl-user-card--new[b-l0wbtg8rsd] {
    background: #FFFBEB;
    border-color: #FCD34D;
}

.nl-user-card--new:hover[b-l0wbtg8rsd] {
    background: #FEF3C7;
    border-color: #FBBF24;
}

.nl-user-card--new .nl-user-card__avatar[b-l0wbtg8rsd] {
    background: linear-gradient(135deg, #F59E0B, #D97706);
}

.nl-user-card--new .nl-user-card__role[b-l0wbtg8rsd] {
    color: #92400E;
    font-weight: 500;
}

/* Card "+" pra adicionar usuário — visual de "ghost" */
.nl-user-card--add[b-l0wbtg8rsd] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 16px 12px;
    border: 1.5px dashed #CBD5E1;
    background: #FAFBFC;
    cursor: pointer;
    color: #475569;
    font: inherit;
    transition: all 0.15s ease;
}

.nl-user-card--add:hover[b-l0wbtg8rsd] {
    border-color: #2563EB;
    background: #EFF6FF;
    color: #2563EB;
}

.nl-user-card--add-open[b-l0wbtg8rsd] {
    border-style: solid;
    border-color: #2563EB;
    background: #EFF6FF;
    color: #2563EB;
}

.nl-user-card__plus-circle[b-l0wbtg8rsd] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px dashed #CBD5E1;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}

.nl-user-card--add:hover .nl-user-card__plus-circle[b-l0wbtg8rsd],
.nl-user-card--add-open .nl-user-card__plus-circle[b-l0wbtg8rsd] {
    background: #2563EB;
    border-color: #2563EB;
    border-style: solid;
    color: #fff;
}

.nl-user-card__add-label[b-l0wbtg8rsd] {
    font-size: 12px;
    font-weight: 500;
}

/* ── Popover de seleção de usuário ─────────────────────────────────────── */
.nl-popover[b-l0wbtg8rsd] {
    margin-top: 12px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
    overflow: hidden;
    max-width: 520px;
}

.nl-popover__head[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid #EEF0F3;
    background: #F8FAFC;
}

.nl-popover__icon[b-l0wbtg8rsd] {
    color: #94A3B8;
    flex-shrink: 0;
}

.nl-popover__filter[b-l0wbtg8rsd] {
    flex: 1;
    height: 32px;
    padding: 0 4px;
    border: 0;
    background: transparent;
    font-size: 13px;
    font-family: inherit;
    color: #1E293B;
    outline: none;
}

.nl-popover__filter[b-l0wbtg8rsd]::placeholder {
    color: #94A3B8;
}

.nl-popover__close[b-l0wbtg8rsd] {
    width: 24px;
    height: 24px;
    border: 0;
    background: transparent;
    color: #64748B;
    font-size: 18px;
    line-height: 1;
    border-radius: 4px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nl-popover__close:hover[b-l0wbtg8rsd] {
    background: #F1F5F9;
    color: #1E293B;
}

.nl-popover__list[b-l0wbtg8rsd] {
    max-height: 280px;
    overflow-y: auto;
    padding: 4px 0;
}

.nl-popover__item[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: inherit;
    transition: background 0.1s ease;
}

.nl-popover__item:hover[b-l0wbtg8rsd] {
    background: #EFF6FF;
}

.nl-popover__item-avatar[b-l0wbtg8rsd] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3B82F6, #8B5CF6);
    color: #fff;
    font-weight: 600;
    font-size: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nl-popover__item-info[b-l0wbtg8rsd] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.nl-popover__item-name[b-l0wbtg8rsd] {
    font-size: 13px;
    font-weight: 500;
    color: #1E293B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nl-popover__item-email[b-l0wbtg8rsd] {
    font-size: 11px;
    color: #64748B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nl-popover__item-id[b-l0wbtg8rsd] {
    font-size: 10px;
    color: #94A3B8;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    flex-shrink: 0;
}

.nl-popover__empty[b-l0wbtg8rsd] {
    padding: 16px 12px;
    text-align: center;
    font-size: 12px;
    color: #94A3B8;
    font-style: italic;
}

.nl-loading--popover[b-l0wbtg8rsd] {
    padding: 16px;
    justify-content: center;
}

/* ── Barra de ação inline do step 2 (aparece quando há mudanças) ───────── */
.nl-step2-actions[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding: 10px 14px;
    border: 1px solid #FCD34D;
    border-radius: 8px;
    background: #FFFBEB;
}

.nl-step2-actions__summary[b-l0wbtg8rsd] {
    flex: 1;
    font-size: 13px;
    color: #92400E;
}

.nl-step2-actions__summary strong[b-l0wbtg8rsd] {
    color: #78350F;
}

/* ─── STEP 3 — CNPJs ────────────────────────────────────────────────────── */
.nl-cnpj-input-row[b-l0wbtg8rsd] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: stretch;
}

@media (max-width: 700px) {
    .nl-cnpj-input-row[b-l0wbtg8rsd] { grid-template-columns: 1fr; }
}

.nl-textarea[b-l0wbtg8rsd] {
    min-height: 110px;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    font-size: 12px;
    line-height: 1.6;
    resize: vertical;
}

.nl-cnpj-side[b-l0wbtg8rsd] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    min-width: 170px;
}

/* Wrapper estilizado para o InputFile (esconde o input nativo) */
.nl-file-btn[b-l0wbtg8rsd] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    height: 36px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #E2E8F0;
    color: #334155;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    position: relative;
    transition: background 0.15s;
}

.nl-file-btn:hover[b-l0wbtg8rsd] { background: #F1F5F9; }

.nl-file-btn--disabled[b-l0wbtg8rsd] {
    opacity: 0.5;
    cursor: not-allowed;
}

.nl-file-btn[b-l0wbtg8rsd]  input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: inherit;
}

.nl-counter[b-l0wbtg8rsd] {
    font-size: 12px;
    font-weight: 500;
    color: #2563EB;
    text-align: right;
}

.nl-counter--zero[b-l0wbtg8rsd] { color: #94A3B8; }

/* Dica de formatos aceitos, logo abaixo do botão de anexar */
.nl-file-hint[b-l0wbtg8rsd] {
    font-size: 11px;
    color: #94A3B8;
    text-align: right;
}

/* Erro de validação do arquivo anexado (formato/condições não atendidas).
   A mensagem vem do CnpjFileImportService com várias linhas — daí o
   white-space: pre-line pra preservar as quebras. */
.nl-file-error[b-l0wbtg8rsd] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    border-radius: 8px;
    color: #B91C1C;
}

.nl-file-error svg[b-l0wbtg8rsd] {
    flex-shrink: 0;
    margin-top: 1px;
}

.nl-file-error__text[b-l0wbtg8rsd] {
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-line;
}

/* Resumo da verificação */
.nl-summary[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 14px;
    background: #F8FAFC;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
    margin: 14px 0 12px;
    font-size: 13px;
}

.nl-summary__item[b-l0wbtg8rsd] { color: #475569; }
.nl-summary__item strong[b-l0wbtg8rsd] { color: #1E293B; }
.nl-summary__item--ok strong[b-l0wbtg8rsd] { color: #16A34A; }
.nl-summary__item--no strong[b-l0wbtg8rsd] { color: #DC2626; }
.nl-summary__sep[b-l0wbtg8rsd] { color: #CBD5E1; }

/* Cards de leads — reaproveita .icard de modal.css (estilos globais)
   sem precisar replicar nada aqui dentro do scope. */
.nl-cards-grid[b-l0wbtg8rsd] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
}

/* ── Resumo da verificação (boxes grandes) ─────────────────────────────── */
.nl-stats[b-l0wbtg8rsd] {
    display: grid;
    /* auto-fit + minmax permite o grid se reorganizar sozinho conforme o
       espaço disponível, sem precisar de media query custom. Em zoom alto
       (onde a fonte cresce mas o container não), os boxes empilham. */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin-top: 16px;
    min-width: 0;
}

.nl-stat[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid;
    border-radius: 10px;
    background: #fff;
    min-width: 0;
}

.nl-stat__body[b-l0wbtg8rsd] {
    min-width: 0;        /* permite o value/label encolher se necessário */
}

.nl-stat__icon[b-l0wbtg8rsd] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.nl-stat__body[b-l0wbtg8rsd] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.nl-stat__value[b-l0wbtg8rsd] {
    font-size: 22px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.nl-stat__label[b-l0wbtg8rsd] {
    font-size: 12px;
    color: #64748B;
    font-weight: 500;
}

.nl-stat--ok[b-l0wbtg8rsd] {
    background: #F0FDF4;
    border-color: #BBF7D0;
}

.nl-stat--ok .nl-stat__icon[b-l0wbtg8rsd] {
    background: #DCFCE7;
    color: #15803D;
}

.nl-stat--ok .nl-stat__value[b-l0wbtg8rsd] { color: #15803D; }

.nl-stat--no[b-l0wbtg8rsd] {
    background: #FEF2F2;
    border-color: #FECACA;
}

.nl-stat--no .nl-stat__icon[b-l0wbtg8rsd] {
    background: #FEE2E2;
    color: #B91C1C;
}

.nl-stat--no .nl-stat__value[b-l0wbtg8rsd] { color: #B91C1C; }

.nl-stat--total[b-l0wbtg8rsd] {
    background: #F8FAFC;
    border-color: #E2E8F0;
}

.nl-stat--total .nl-stat__icon[b-l0wbtg8rsd] {
    background: #E2E8F0;
    color: #475569;
}

/* Hint abaixo do resumo */
.nl-stats-hint[b-l0wbtg8rsd] {
    margin-top: 12px;
    padding: 10px 14px;
    background: #EFF6FF;
    border: 1px solid #C7DBFE;
    border-radius: 8px;
    font-size: 13px;
    color: #1E3A8A;
}

.nl-stats-hint strong[b-l0wbtg8rsd] {
    color: #1E3A8A;
    font-weight: 600;
}

.nl-stats-hint--warn[b-l0wbtg8rsd] {
    background: #FFFBEB;
    border-color: #FCD34D;
    color: #92400E;
}

.nl-stats-hint--warn strong[b-l0wbtg8rsd] { color: #78350F; }

/* ─── STEP 4 — Slider de leads por prospecção ──────────────────────────── */
.nl-slider-row[b-l0wbtg8rsd] {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 560px;
    margin-top: 4px;
}

.nl-slider[b-l0wbtg8rsd] {
    flex: 1;
    min-width: 0;
    appearance: none;
    -webkit-appearance: none;
    height: 6px;
    background: linear-gradient(90deg, #2563EB var(--fill, 10%), #E2E8F0 var(--fill, 10%));
    border-radius: 999px;
    outline: none;
    cursor: pointer;
}

.nl-slider[b-l0wbtg8rsd]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #2563EB;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.15);
    cursor: pointer;
    transition: transform 0.1s ease;
}

.nl-slider[b-l0wbtg8rsd]::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

.nl-slider[b-l0wbtg8rsd]::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #2563EB;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.15);
    cursor: pointer;
}

.nl-slider-label[b-l0wbtg8rsd] {
    font-size: 11px;
    color: #94A3B8;
    font-variant-numeric: tabular-nums;
    min-width: 24px;
    text-align: center;
}

.nl-slider-number[b-l0wbtg8rsd] {
    width: 80px;
    height: 36px;
    text-align: center;
    padding: 0 8px;
    font-variant-numeric: tabular-nums;
}

.nl-slider-hint[b-l0wbtg8rsd] {
    margin: 12px 0 0;
    font-size: 13px;
    color: #475569;
}

.nl-slider-hint strong[b-l0wbtg8rsd] {
    color: #1E293B;
    font-weight: 600;
}

/* ─── STEP 5 — Nome ─────────────────────────────────────────────────────── */
.nl-name-input[b-l0wbtg8rsd] {
    height: 40px;
    width: 100%;
    max-width: 520px;
    padding: 0 14px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    font-family: inherit;
}

.nl-name-input:focus[b-l0wbtg8rsd] {
    outline: 2px solid rgba(37, 99, 235, 0.2);
    border-color: #2563EB;
}

/* Posiciona o counter logo abaixo do input */
.step__body .nl-name-input + .nl-counter[b-l0wbtg8rsd] {
    display: block;
    margin-top: 6px;
    text-align: left;
    max-width: 520px;
}

/* ─── Barra de ação (rodapé sticky dentro do scroll) ───────────────────── */
.nl-actions[b-l0wbtg8rsd] {
    position: sticky;
    bottom: 0;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 12px;
    box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.06);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 4px;
}

.nl-actions__summary[b-l0wbtg8rsd] {
    font-size: 13px;
    color: #475569;
}

.nl-actions__hint[b-l0wbtg8rsd] {
    color: #94A3B8;
    font-style: italic;
}

.nl-actions__buttons[b-l0wbtg8rsd] {
    display: flex;
    gap: 8px;
}

/* =============================================================================
   Assistant Surface — realce do campo/ação que o assistente está guiando
   ===========================================================================*/
.asst-highlight[b-l0wbtg8rsd] {
    outline: 2px solid var(--color-primary, #2563EB);
    outline-offset: 2px;
    border-radius: 6px;
}
/* /Components/Pages/SuporteLogs.razor.rz.scp.css */
/* Análise de logs (suporte) — escopo da página.
   Prefixo sl- em tudo, no padrão das demais telas do portal. */

.sl-topbar[b-z4cj8d6i6w] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.sl-brand__eyebrow[b-z4cj8d6i6w] {
    display: block;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #64748B;
}

.sl-brand__title[b-z4cj8d6i6w] {
    margin: 2px 0 0;
    font-size: 22px;
    font-weight: 700;
    color: #0F172A;
}

.sl-headctl[b-z4cj8d6i6w] {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

.sl-field[b-z4cj8d6i6w] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sl-field__label[b-z4cj8d6i6w] {
    font-size: 11px;
    font-weight: 600;
    color: #64748B;
}

.sl-select[b-z4cj8d6i6w],
.sl-input[b-z4cj8d6i6w] {
    height: 34px;
    padding: 0 10px;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    color: #0F172A;
}

.sl-field--busca .sl-input[b-z4cj8d6i6w] { min-width: 220px; }
.sl-input--usuario[b-z4cj8d6i6w] { min-width: 170px; }
.sl-input--dt[b-z4cj8d6i6w] { min-width: 180px; }

.sl-select:disabled[b-z4cj8d6i6w] {
    opacity: .55;
    cursor: not-allowed;
}

.sl-limpar-range[b-z4cj8d6i6w] {
    align-self: flex-end;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    background: #fff;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.sl-limpar-range:hover[b-z4cj8d6i6w] {
    background: #F1F5F9;
    border-color: #94A3B8;
}

.sl-select:focus[b-z4cj8d6i6w],
.sl-input:focus[b-z4cj8d6i6w] {
    outline: 2px solid #2563EB33;
    border-color: #2563EB;
}

/* Tempo real */
.sl-live[b-z4cj8d6i6w] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
}

.sl-toggle[b-z4cj8d6i6w] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #0F172A;
    cursor: pointer;
}

.sl-live__dot[b-z4cj8d6i6w] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #16A34A;
    animation: sl-pulse-b-z4cj8d6i6w 1.6s ease-in-out infinite;
}

@keyframes sl-pulse-b-z4cj8d6i6w {
    0%, 100% { opacity: 1; }
    50%      { opacity: .25; }
}

.sl-updated[b-z4cj8d6i6w] {
    font-size: 11px;
    color: #64748B;
    font-variant-numeric: tabular-nums;
}

/* Conteúdo */
.sl-content[b-z4cj8d6i6w] { padding-bottom: 24px; }

.sl-loading[b-z4cj8d6i6w],
.sl-empty[b-z4cj8d6i6w] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    text-align: center;
    padding: 48px 24px;
    color: #64748B;
    font-size: 14px;
}

.sl-empty strong[b-z4cj8d6i6w] { color: #0F172A; font-size: 15px; }
.sl-empty--erro strong[b-z4cj8d6i6w] { color: #B91C1C; }

/* Grade */
.sl-table[b-z4cj8d6i6w] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.sl-table thead th[b-z4cj8d6i6w] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #F8FAFC;
    border-bottom: 1px solid #E2E8F0;
    padding: 8px 10px;
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #475569;
    white-space: nowrap;
}

.sl-table tbody td[b-z4cj8d6i6w] {
    padding: 8px 10px;
    border-bottom: 1px solid #F1F5F9;
    color: #0F172A;
    vertical-align: top;
}

.sl-table tbody tr:hover[b-z4cj8d6i6w] { background: #F8FAFC; }

/* Falha ganha marca lateral — o suporte varre a lista pelo olho. */
.sl-row--falha td:first-child[b-z4cj8d6i6w] { box-shadow: inset 3px 0 0 #DC2626; }

.sl-col-hora[b-z4cj8d6i6w] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    color: #475569;
}

.sl-col-res[b-z4cj8d6i6w],
.sl-col-acao[b-z4cj8d6i6w] { white-space: nowrap; }

/* Mensagem longa não pode empurrar a tabela: trunca com reticências e
   mostra o texto completo no title (nativo, sem JS). */
.sl-msg[b-z4cj8d6i6w] {
    max-width: 380px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sl-badge[b-z4cj8d6i6w] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.sl-badge--ok[b-z4cj8d6i6w]     { background: #DCFCE7; color: #166534; }
.sl-badge--erro[b-z4cj8d6i6w]   { background: #FEE2E2; color: #991B1B; }
.sl-badge--alerta[b-z4cj8d6i6w] { background: #FEF3C7; color: #92400E; }
.sl-badge--neutro[b-z4cj8d6i6w] { background: #F1F5F9; color: #475569; }

.sl-detalhar[b-z4cj8d6i6w] {
    border: 1px solid #CBD5E1;
    background: #fff;
    color: #1D4ED8;
    border-radius: 6px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.sl-detalhar:hover[b-z4cj8d6i6w] { background: #EFF6FF; border-color: #93C5FD; }

.sl-truncado[b-z4cj8d6i6w] {
    margin: 12px 0 0;
    padding: 8px 12px;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    border-radius: 8px;
    color: #92400E;
    font-size: 12px;
}
/* /Components/Pages/Wiki.razor.rz.scp.css */
/* ============================================================================
   WikiVillela — tela do acervo.

   Estilo SCOPED. Nada equivalente entra no app.css global: regra de mesma
   classe no global vence a scoped por vir antes no DOM, e o sintoma é layout
   inexplicável apesar do scoped estar correto.

   O ponto do layout: .page-fluid pressupõe UM container de scroll, e aqui são
   DOIS (árvore e conteúdo). Cada painel precisa do próprio min-height: 0 —
   sem isso o flex item não encolhe, o scroll escapa para a página e a barra
   some da borda da viewport.
   ============================================================================ */

.wiki[b-riw7tm0s4g] {
    background: #F5F7FA;
}

/* ── Abas: Assistente | Acervo ──────────────────────────────────────────── */

.wiki__abas[b-riw7tm0s4g] {
    flex-shrink: 0;
    display: flex;
    gap: 4px;
    padding: 6px 24px 0;
    background: #fff;
    border-bottom: 1px solid #E4E7EC;
}

.wiki__aba[b-riw7tm0s4g] {
    border: none;
    background: transparent;
    padding: 10px 16px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    color: #667085;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wiki__aba:hover[b-riw7tm0s4g] {
    color: #344054;
}

.wiki__aba.is-on[b-riw7tm0s4g] {
    color: #1849A9;
    font-weight: 600;
    border-bottom-color: #1849A9;
}

/* Pendências de curadoria visíveis desde a aba do chat — é o lembrete de que
   a fila existe sem obrigar ninguém a trocar de aba para saber. */
.wiki__aba-badge[b-riw7tm0s4g] {
    background: #FEF0C7;
    color: #93370D;
    font-size: 11px;
    font-weight: 600;
    padding: 1px 7px;
    border-radius: 999px;
}

/* Alertas no nível da página (os do chat aparecem mesmo sem a aba do acervo). */
.wiki > .wiki__alert[b-riw7tm0s4g] {
    margin: 8px 24px 0;
    flex-shrink: 0;
}

/* ── Aba Assistente: o chat ─────────────────────────────────────────────── */
/*
   Histórico | conversa (com o campo na base) e, quando a resposta cita
   materiais, a faixa de cards na base da janela. Cada painel com min-height: 0
   próprio — sem isso nenhum encolhe e o scroll escapa para a página inteira.
*/

.wiki__chat[b-riw7tm0s4g] {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    background: #fff;
}

/* Faixa de cards da base: o mesmo card de resumo da árvore, um por material
   citado na última resposta. Altura limitada — é área de conferência, não
   protagonista; a conversa continua mandando no espaço. */
.wiki__chat-cards[b-riw7tm0s4g] {
    flex-shrink: 0;
    max-height: 44%;
    overflow: auto;
    border-top: 2px solid #E4E7EC;
    background: #F9FAFB;
    padding: 10px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wiki__chat > :first-child[b-riw7tm0s4g] {
    width: 260px;
    flex-shrink: 0;
}

.wiki__conversa[b-riw7tm0s4g] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.wiki__conversa-scroll[b-riw7tm0s4g] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 4px 24px 0;
}

.wiki__conversa-vazia[b-riw7tm0s4g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    color: #667085;
    font-size: 13px;
    line-height: 1.6;
    gap: 4px;
}

.wiki__conversa-titulo[b-riw7tm0s4g] {
    font-size: 16px;
    font-weight: 600;
    color: #344054;
    margin: 0;
}

.wiki__conversa-vazia p[b-riw7tm0s4g] {
    margin: 0;
    max-width: 52ch;
}

/* Exemplos clicáveis do estado vazio — montados a partir do catálogo. */
.wiki__exemplos[b-riw7tm0s4g] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 2px 0 6px;
}

.wiki__exemplo[b-riw7tm0s4g] {
    border: 1px solid #d0d5dd;
    background: #fff;
    color: #344054;
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}

.wiki__exemplo:hover[b-riw7tm0s4g] {
    background: #f2f4f7;
    border-color: #98a2b3;
}

.wiki__header[b-riw7tm0s4g] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    flex-shrink: 0;
    padding: 12px 24px 0;
}

/* Campo de pergunta — na BASE da conversa, como em qualquer chat. */
.wiki__ask[b-riw7tm0s4g] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 24px 14px;
    background: #fff;
    border: 1px solid #D9E1EC;
    border-radius: 10px;
    padding: 9px 12px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
}

.wiki__ask-btn[b-riw7tm0s4g] {
    border: 0;
    background: #175CD3;
    color: #fff;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.wiki__ask-btn:disabled[b-riw7tm0s4g] {
    background: #EAECF0;
    color: #98A2B3;
    cursor: not-allowed;
}

.wiki__ask-icon[b-riw7tm0s4g] {
    opacity: .55;
}

.wiki__ask-input[b-riw7tm0s4g] {
    flex: 1;
    border: 0;
    outline: 0;
    font-size: 14px;
    background: transparent;
    color: #101828;
}

.wiki__ask-input:disabled[b-riw7tm0s4g] {
    color: #98A2B3;
    cursor: not-allowed;
}

.wiki__crumbs[b-riw7tm0s4g] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wiki__path[b-riw7tm0s4g] {
    font-size: 13px;
    color: #475467;
}

.wiki__badge[b-riw7tm0s4g] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #ECFDF3;
    color: #027A48;
    border: 1px solid #ABEFC6;
    border-radius: 999px;
    padding: 2px 8px;
}

/* ── Corpo: dois painéis, dois scrolls ─────────────────────────────────── */

.wiki__body[b-riw7tm0s4g] {
    flex: 1;
    min-height: 0;
    display: flex;
    gap: 0;
    margin-top: 10px;
}

.wiki__tree[b-riw7tm0s4g] {
    width: 280px;
    flex-shrink: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-right: 1px solid #E4E7EC;
}

.wiki__tree-head[b-riw7tm0s4g] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #667085;
    border-bottom: 1px solid #E4E7EC;
}

.wiki__tree-scroll[b-riw7tm0s4g] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 6px 0 16px;
}

.wiki__content[b-riw7tm0s4g] {
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: auto;
    padding: 0 0 16px 16px;
}

/* ── Nós da árvore ─────────────────────────────────────────────────────── */
/*
   ::deep é obrigatório aqui. Os nós das subpastas são renderizados pelo
   componente WikiTreeNode, que tem OUTRO escopo — CSS scoped não atravessa
   fronteira de componente, e sem o ::deep essas regras se aplicariam só ao nó
   raiz ("Acervo"), que mora nesta página. O sintoma era a árvore inteira sem
   estilo: sem recuo, sem hover, e o contador colado no nome.
*/

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px 5px 8px;
    font-size: 13px;
    color: #344054;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node:hover {
    background: #F2F4F7;
}

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node.is-sel {
    background: #EFF4FF;
    color: #1849A9;
    font-weight: 600;
}

/* Fora do ar por vigência recursiva — precisa ser visível, não escondido. */
.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node.is-off {
    opacity: .45;
    text-decoration: line-through;
}

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node-toggle {
    width: 12px;
    flex-shrink: 0;
    font-size: 10px;
    color: #98A2B3;
}

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node-icon {
    flex-shrink: 0;
}

.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node-name {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Contador à direita, separado do nome. */
.wiki__tree-scroll[b-riw7tm0s4g]  .wiki__node-count {
    margin-left: auto;
    padding-left: 8px;
    font-size: 11px;
    color: #98A2B3;
    font-variant-numeric: tabular-nums;
}

/* ── Barra de ações ────────────────────────────────────────────────────── */

.wiki__toolbar[b-riw7tm0s4g] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.wiki__btn[b-riw7tm0s4g] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #D0D5DD;
    background: #fff;
    color: #344054;
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
}

.wiki__btn:hover[b-riw7tm0s4g] {
    background: #F9FAFB;
}

.wiki__btn--primary[b-riw7tm0s4g] {
    background: #175CD3;
    border-color: #175CD3;
    color: #fff;
}

.wiki__btn--primary:hover[b-riw7tm0s4g] {
    background: #1849A9;
}

.wiki__btn--perigo[b-riw7tm0s4g] {
    background: #D92D20;
    border-color: #D92D20;
    color: #fff;
}

.wiki__file[b-riw7tm0s4g] {
    display: none;
}

.wiki__hint[b-riw7tm0s4g] {
    font-size: 12px;
    color: #667085;
}

.wiki__icon-btn[b-riw7tm0s4g] {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 13px;
    padding: 2px 4px;
    border-radius: 5px;
    opacity: .7;
}

.wiki__icon-btn:hover[b-riw7tm0s4g] {
    background: #F2F4F7;
    opacity: 1;
}

/* ── Tabela ────────────────────────────────────────────────────────────── */

.wiki__table[b-riw7tm0s4g] {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 13px;
}

.wiki__table th[b-riw7tm0s4g] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #F9FAFB;
    text-align: left;
    font-weight: 600;
    color: #475467;
    padding: 9px 12px;
    border-bottom: 1px solid #E4E7EC;
    white-space: nowrap;
}

.wiki__table td[b-riw7tm0s4g] {
    padding: 9px 12px;
    border-bottom: 1px solid #F2F4F7;
    color: #344054;
}

.wiki__table tr.is-off td[b-riw7tm0s4g] {
    opacity: .5;
}

.wiki__cell-icon[b-riw7tm0s4g] {
    text-align: center;
}

.wiki__mono[b-riw7tm0s4g] {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    color: #667085;
}

.wiki__link[b-riw7tm0s4g] {
    color: #175CD3;
    cursor: pointer;
    text-decoration: none;
}

.wiki__link:hover[b-riw7tm0s4g] {
    text-decoration: underline;
}

.wiki__acoes[b-riw7tm0s4g] {
    white-space: nowrap;
}

.wiki__empty[b-riw7tm0s4g] {
    color: #98A2B3;
    padding: 16px 12px;
    font-size: 13px;
}

/* Linha clicável — abre o painel de curadoria do material. */
.wiki__row[b-riw7tm0s4g] {
    cursor: pointer;
}

.wiki__row:hover[b-riw7tm0s4g] {
    background: #F9FAFB;
}

.wiki__row.is-sel[b-riw7tm0s4g] {
    background: #EFF4FF;
}

.wiki__desc[b-riw7tm0s4g] {
    font-size: 12px;
    line-height: 1.45;
    color: #475467;
}

.wiki__sub[b-riw7tm0s4g] {
    display: block;
    font-size: 11px;
    color: #98A2B3;
}

.wiki__tag[b-riw7tm0s4g] {
    display: inline-block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #F2F4F7;
    color: #667085;
    border-radius: 999px;
    padding: 1px 7px;
    margin-left: 6px;
    white-space: nowrap;
}

/* Descrição automática: a IA só INDICA este material, não responde a partir
   dele. Precisa ser visível na listagem, não escondido no detalhe. */
.wiki__tag--auto[b-riw7tm0s4g] {
    background: #FFFAEB;
    color: #B54708;
}

.wiki__tag--alerta[b-riw7tm0s4g] {
    background: #FEF3F2;
    color: #B42318;
}

.wiki__badge--pend[b-riw7tm0s4g] {
    background: #FFFAEB;
    color: #B54708;
    border-color: #FEDF89;
    cursor: pointer;
}

.wiki__badge--pend.is-on[b-riw7tm0s4g] {
    background: #B54708;
    color: #fff;
    border-color: #B54708;
}

.wiki__filtro[b-riw7tm0s4g] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    background: #FFFAEB;
    border: 1px solid #FEDF89;
    color: #B54708;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    margin-bottom: 12px;
}

.wiki__fila[b-riw7tm0s4g] {
    font-size: 12px;
    color: #475467;
    background: #F2F4F7;
    border-radius: 999px;
    padding: 4px 10px;
}

.wiki__fila-erro[b-riw7tm0s4g] {
    color: #B42318;
}

/* ── Enriquecimento em andamento ────────────────────────────────────────── */

.wiki__overlay--proc[b-riw7tm0s4g] {
    background: rgba(16, 24, 40, .55);
}

.wiki__modal--proc[b-riw7tm0s4g] {
    width: min(480px, 92vw);
}

.wiki__proc-head[b-riw7tm0s4g] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.wiki__proc-head h3[b-riw7tm0s4g] {
    margin: 0;
}

.wiki__proc-txt[b-riw7tm0s4g] {
    font-size: 13px;
    color: #344054;
    margin: 0 0 10px;
    word-break: break-word;
}

.wiki__proc-barra[b-riw7tm0s4g] {
    height: 6px;
    background: #EAECF0;
    border-radius: 999px;
    overflow: hidden;
}

.wiki__proc-barra-fill[b-riw7tm0s4g] {
    height: 100%;
    background: #175CD3;
    border-radius: 999px;
    transition: width .4s ease;
}

.wiki__proc-num[b-riw7tm0s4g] {
    font-size: 12px;
    color: #667085;
    margin: 8px 0 12px;
}

/* Minimizado: some do caminho mas continua visível no canto. */
.wiki__proc-mini[b-riw7tm0s4g] {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #101828;
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: 9px 16px;
    font-size: 13px;
    cursor: pointer;
    box-shadow: 0 8px 16px rgba(16, 24, 40, .2);
}

.wiki__spin[b-riw7tm0s4g] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: wiki-spin-b-riw7tm0s4g .8s linear infinite;
}

.wiki__modal--proc .wiki__spin[b-riw7tm0s4g] {
    border-color: #D0D5DD;
    border-top-color: #175CD3;
}

@keyframes wiki-spin-b-riw7tm0s4g {
    to { transform: rotate(360deg); }
}

/* ── Avisos ────────────────────────────────────────────────────────────── */

.wiki__alert[b-riw7tm0s4g] {
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
    margin-bottom: 12px;
}

.wiki__alert--erro[b-riw7tm0s4g] {
    background: #FEF3F2;
    border: 1px solid #FECDCA;
    color: #B42318;
}

.wiki__alert--aviso[b-riw7tm0s4g] {
    background: #FFFAEB;
    border: 1px solid #FEDF89;
    color: #B54708;
}

/* ── Modal ─────────────────────────────────────────────────────────────── */

.wiki__overlay[b-riw7tm0s4g] {
    position: fixed;
    inset: 0;
    background: rgba(16, 24, 40, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.wiki__modal[b-riw7tm0s4g] {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    width: min(460px, 92vw);
    box-shadow: 0 20px 24px -4px rgba(16, 24, 40, .1);
}

.wiki__modal h3[b-riw7tm0s4g] {
    margin: 0 0 12px;
    font-size: 16px;
    color: #101828;
}

.wiki__impacto[b-riw7tm0s4g] {
    font-size: 13px;
    color: #475467;
    line-height: 1.5;
    margin: 0 0 16px;
}

.wiki__input[b-riw7tm0s4g] {
    width: 100%;
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 14px;
    outline: 0;
}

.wiki__input:focus[b-riw7tm0s4g] {
    border-color: #84CAFF;
    box-shadow: 0 0 0 3px rgba(21, 112, 239, .15);
}

.wiki__modal-acoes[b-riw7tm0s4g] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

/* ── Decisão de versionamento ───────────────────────────────────────────── */

.wiki__modal--dec[b-riw7tm0s4g] {
    width: min(560px, 94vw);
}

.wiki__cands[b-riw7tm0s4g] {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
}

.wiki__cands li[b-riw7tm0s4g] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px 10px;
    border: 1px solid #E4E7EC;
    border-radius: 8px;
    margin-bottom: 6px;
    cursor: pointer;
    font-size: 13px;
}

.wiki__cands li:hover[b-riw7tm0s4g] {
    background: #F9FAFB;
}

.wiki__cands li.is-sel[b-riw7tm0s4g] {
    border-color: #84CAFF;
    background: #EFF4FF;
}

.wiki__cand-nome[b-riw7tm0s4g] {
    font-weight: 600;
    color: #344054;
}

.wiki__cand-sim[b-riw7tm0s4g] {
    font-size: 12px;
    color: #B54708;
    background: #FFFAEB;
    border-radius: 999px;
    padding: 1px 8px;
}

.wiki__dec-acoes[b-riw7tm0s4g] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
/* /Components/Propostas/GeradorProposta.razor.rz.scp.css */
/*
    Gerador de propostas — estrutura do protótipo aprovado (cards numerados +
    simulador fixo ao lado), pintada com os tokens do Águia para não parecer
    outro sistema dentro do portal.
*/

.gp[b-am7ixk784l] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 20px;
    align-items: start;
    padding-bottom: 76px; /* respiro pra barra de ação fixa */
}

.gp--modal[b-am7ixk784l] {
    grid-template-columns: minmax(0, 1fr) 300px;
}

@media (max-width: 1100px) {
    .gp[b-am7ixk784l], .gp--modal[b-am7ixk784l] { grid-template-columns: minmax(0, 1fr); }
}

.gp__form[b-am7ixk784l] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* ── Cards ─────────────────────────────────────────────────────────────── */

.gp__card[b-am7ixk784l] {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 18px 20px;
}

.gp__card-head[b-am7ixk784l] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 16px;
}

.gp__card-head h3[b-am7ixk784l] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.gp__card-head p[b-am7ixk784l] {
    margin: 2px 0 0;
    font-size: 12.5px;
    color: var(--color-text-secondary);
}

.gp__step[b-am7ixk784l] {
    margin-left: auto;
    flex: none;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--color-background);
    color: var(--color-text-muted);
    font-size: 12px;
    font-weight: 700;
}

/* ── Campos ────────────────────────────────────────────────────────────── */

.gp__grid2[b-am7ixk784l], .gp__grid3[b-am7ixk784l] {
    display: grid;
    gap: 12px;
}

.gp__grid2[b-am7ixk784l] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gp__grid3[b-am7ixk784l] { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 720px) {
    .gp__grid2[b-am7ixk784l], .gp__grid3[b-am7ixk784l] { grid-template-columns: minmax(0, 1fr); }
}

.gp__field[b-am7ixk784l] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.gp__field--wide[b-am7ixk784l] { grid-column: 1 / -1; }
.gp__field--narrow[b-am7ixk784l] { max-width: 260px; }

.gp__lb[b-am7ixk784l] {
    font-size: 12px;
    font-weight: 600;
    color: var(--color-text-secondary);
}

.gp__lb em[b-am7ixk784l], .gp__field em[b-am7ixk784l] {
    font-style: normal;
    font-weight: 400;
    color: var(--color-text-muted);
}

[b-am7ixk784l] .inp {
    width: 100%;
    padding: 9px 11px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-family);
    font-size: 13.5px;
    color: var(--color-text-primary);
    background: var(--color-surface);
    transition: border-color .15s ease, box-shadow .15s ease;
}

[b-am7ixk784l] .inp:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgb(37 99 235 / .12);
}

[b-am7ixk784l] .inp--money { font-variant-numeric: tabular-nums; }

[b-am7ixk784l] .inp--readonly, [b-am7ixk784l] .inp[readonly] {
    background: var(--color-background);
    color: var(--color-text-secondary);
}

.gp__group-title[b-am7ixk784l] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 18px 0 8px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.gp__hint[b-am7ixk784l] {
    margin: 10px 0 0;
    font-size: 12px;
    line-height: 1.5;
    color: var(--color-text-secondary);
}

/* Retorno de validação abaixo do campo (CNPJ, telefone). Altura reservada pelo
   próprio fluxo do label: o aviso só aparece com algo digitado, e como o campo
   é o último item do label, entrar e sair não empurra o formulário ao lado. */
.gp__check[b-am7ixk784l] {
    margin-top: 5px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.4;
}

.gp__check--ok[b-am7ixk784l] { color: var(--color-success); }

/* Alerta, não erro: enquanto o usuário digita o valor está incompleto o tempo
   todo, e pintar de vermelho a cada tecla treina o olho a ignorar o aviso. */
.gp__check--alerta[b-am7ixk784l] { color: var(--color-text-muted); }

.gp__warn[b-am7ixk784l] {
    font-style: normal;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--color-warning);
    text-transform: none;
    letter-spacing: 0;
}

.gp__warn--erro[b-am7ixk784l] { color: var(--color-danger); }

.gp__total[b-am7ixk784l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    padding: 12px 15px;
    background: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.gp__total span[b-am7ixk784l] { font-size: 12.5px; font-weight: 600; color: var(--color-text-secondary); }
.gp__total strong[b-am7ixk784l] { font-size: 18px; font-variant-numeric: tabular-nums; }

.gp__box[b-am7ixk784l] {
    margin-top: 14px;
    padding: 16px;
    background: var(--color-background);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

/* ── Pills e segmentos ─────────────────────────────────────────────────── */

.gp__pills[b-am7ixk784l] { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0; }

.gp__pill[b-am7ixk784l] {
    padding: 7px 14px;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    background: var(--color-surface);
    font-family: var(--font-family);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-text-secondary);
    cursor: pointer;
    transition: all .15s ease;
}

.gp__pill:hover[b-am7ixk784l] { border-color: var(--color-primary); color: var(--color-primary); }

.gp__pill--on[b-am7ixk784l] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.gp__seg[b-am7ixk784l] {
    display: inline-flex;
    padding: 3px;
    gap: 3px;
    background: var(--color-background);
    border-radius: var(--radius-md);
}

.gp__seg button[b-am7ixk784l] {
    padding: 6px 14px;
    border: 0;
    border-radius: calc(var(--radius-md) - 2px);
    background: transparent;
    font-family: var(--font-family);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-text-secondary);
    cursor: pointer;
}

.gp__seg button.on[b-am7ixk784l] {
    background: var(--color-surface);
    color: var(--color-primary);
    box-shadow: 0 1px 2px rgb(15 30 51 / .08);
}

/* ── Checkboxes de entrega ─────────────────────────────────────────────── */

.gp__checks[b-am7ixk784l] { display: flex; flex-direction: column; gap: 8px; }

.gp__check[b-am7ixk784l] {
    display: flex;
    gap: 10px;
    padding: 11px 13px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.gp__check:hover[b-am7ixk784l] { border-color: var(--color-primary); }

.gp__check--on[b-am7ixk784l] {
    border-color: var(--color-primary);
    background: rgb(37 99 235 / .04);
}

.gp__check input[b-am7ixk784l] { margin-top: 3px; accent-color: var(--color-primary); }
.gp__check span[b-am7ixk784l] { display: flex; flex-direction: column; gap: 3px; }
.gp__check b[b-am7ixk784l] { font-size: 13px; font-weight: 600; color: var(--color-text-primary); }
.gp__check small[b-am7ixk784l] { font-size: 12px; line-height: 1.45; color: var(--color-text-secondary); }

.gp__tag[b-am7ixk784l] {
    margin-left: 8px;
    padding: 2px 7px;
    border-radius: 999px;
    background: rgb(245 158 11 / .16);
    color: #92400E;
    font-style: normal;
    font-size: 10.5px;
    font-weight: 700;
}

.gp__tag--neutro[b-am7ixk784l] { background: var(--color-background); color: var(--color-text-secondary); }

/* ── Simulador ─────────────────────────────────────────────────────────── */

.gp__aside[b-am7ixk784l] { position: sticky; top: 0; }

.gp__sim[b-am7ixk784l] {
    background: var(--color-sidebar-bg);
    border-radius: var(--radius-lg);
    padding: 18px;
    color: #fff;
}

.gp__sim-head[b-am7ixk784l] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gp__sim-head h4[b-am7ixk784l] { margin: 0; font-size: 14px; font-weight: 600; }

.gp__sim-cfg[b-am7ixk784l] {
    margin-left: auto;
    padding: 5px 10px;
    border: 1px solid rgb(255 255 255 / .22);
    border-radius: var(--radius-sm);
    background: transparent;
    font-family: var(--font-family);
    font-size: 11.5px;
    font-weight: 600;
    color: rgb(255 255 255 / .82);
    cursor: pointer;
}

.gp__sim-cfg.on[b-am7ixk784l] { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }

.gp__sim-cfgpanel[b-am7ixk784l] {
    margin-top: 14px;
    padding: 14px;
    background: rgb(255 255 255 / .06);
    border-radius: var(--radius-md);
}

.gp__sim-cfgpanel .gp__lb[b-am7ixk784l],
.gp__sim-cfgpanel .gp__hint[b-am7ixk784l],
.gp__sim-cfgpanel .gp__group-title[b-am7ixk784l] { color: rgb(255 255 255 / .7); }

.gp__sim-vazio[b-am7ixk784l] {
    margin: 18px 0 0;
    font-size: 12.5px;
    line-height: 1.5;
    color: rgb(255 255 255 / .62);
}

/* De/para — o valor de hoje riscado, o negociado em destaque. */

.gp__sim-depara[b-am7ixk784l] {
    margin-top: 16px;
    padding: 14px;
    background: rgb(255 255 255 / .07);
    border-radius: var(--radius-md);
    text-align: center;
}

.gp__sim-depara span[b-am7ixk784l] {
    display: block;
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: rgb(255 255 255 / .58);
}

.gp__sim-de[b-am7ixk784l] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.gp__sim-de span[b-am7ixk784l] { text-align: left; }
.gp__sim-de strong[b-am7ixk784l] {
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    color: rgb(255 255 255 / .5);
    text-decoration: line-through;
}

.gp__sim-seta[b-am7ixk784l] { display: block; margin: 6px 0; color: rgb(255 255 255 / .4); }

.gp__sim-para[b-am7ixk784l] { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.gp__sim-para span[b-am7ixk784l] { text-align: left; }
.gp__sim-para strong[b-am7ixk784l] {
    font-size: 22px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #56CCF2;
}

/* Composição do acordo — uma coluna por corrente de pagamento. */

.gp__sim-blocos[b-am7ixk784l] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.gp__sim-bloco[b-am7ixk784l] {
    padding: 10px;
    background: rgb(255 255 255 / .07);
    border-radius: var(--radius-md);
}

.gp__sim-bloco-tit[b-am7ixk784l] {
    display: block;
    font-size: 10px;
    line-height: 1.3;
    color: rgb(255 255 255 / .58);
}

.gp__sim-bloco strong[b-am7ixk784l] {
    display: block;
    margin-top: 4px;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.gp__sim-bloco em[b-am7ixk784l] {
    display: block;
    font-style: normal;
    font-size: 10.5px;
    font-variant-numeric: tabular-nums;
    color: #56CCF2;
}

.gp__sim-fases[b-am7ixk784l] { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }

.gp__sim-fases-tit[b-am7ixk784l] { font-size: 12px; font-weight: 600; }

.gp__sim-fases-nota[b-am7ixk784l] {
    margin: 0 0 4px;
    font-size: 10.5px;
    line-height: 1.45;
    color: rgb(255 255 255 / .5);
}

.gp__sim-economia[b-am7ixk784l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 12px 14px;
    background: rgb(16 185 129 / .16);
    border-radius: var(--radius-md);
}

.gp__sim-economia span[b-am7ixk784l] { font-size: 12px; font-weight: 600; }
.gp__sim-economia strong[b-am7ixk784l] {
    font-size: 18px;
    font-variant-numeric: tabular-nums;
    color: var(--color-success);
}

.gp__sim-fase[b-am7ixk784l] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 9px 11px;
    background: rgb(255 255 255 / .05);
    border-radius: var(--radius-sm);
    font-size: 12px;
}

.gp__sim-fase em[b-am7ixk784l] { display: block; font-style: normal; font-size: 10.5px; color: rgb(255 255 255 / .55); }
.gp__sim-fase b[b-am7ixk784l] { font-variant-numeric: tabular-nums; }

.gp__aside .gp__hint[b-am7ixk784l] { color: rgb(255 255 255 / .6); }

/* ── Barra de ação ─────────────────────────────────────────────────────── */

.gp__actionbar[b-am7ixk784l] {
    position: sticky;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    background: var(--color-background);
    border-top: 1px solid var(--color-border);
}

.gp__spacer[b-am7ixk784l] { flex: 1; }

.gp__btn[b-am7ixk784l] {
    padding: 9px 18px;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    font-family: var(--font-family);
    font-size: 13px;
    font-weight: 600;
    color: var(--color-text-primary);
    cursor: pointer;
    transition: all .15s ease;
}

.gp__btn:hover:not(:disabled)[b-am7ixk784l] { border-color: var(--color-primary); color: var(--color-primary); }
.gp__btn:disabled[b-am7ixk784l] { opacity: .6; cursor: default; }

.gp__btn--primary[b-am7ixk784l] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

.gp__btn--primary:hover:not(:disabled)[b-am7ixk784l] { background: var(--color-primary-hover); color: #fff; }

.gp__btn--wa[b-am7ixk784l] { background: #25D366; border-color: #25D366; color: #fff; }
.gp__btn--wa:hover:not(:disabled)[b-am7ixk784l] { background: #1DA851; border-color: #1DA851; color: #fff; }

.gp__link[b-am7ixk784l] {
    border: 0;
    background: none;
    padding: 0;
    font-family: var(--font-family);
    font-size: 12.5px;
    font-weight: 600;
    color: var(--color-primary);
    cursor: pointer;
}

.gp__link--danger[b-am7ixk784l] { color: var(--color-danger); }

/* ── Modais ────────────────────────────────────────────────────────────── */

.gp__overlay[b-am7ixk784l] {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgb(15 30 51 / .55);
}

.gp__modal[b-am7ixk784l] {
    display: flex;
    flex-direction: column;
    width: min(920px, 100%);
    max-height: 100%;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.gp__modal--sm[b-am7ixk784l] { width: min(560px, 100%); }

.gp__modal-head[b-am7ixk784l] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--color-border);
}

.gp__modal-head h3[b-am7ixk784l] { margin: 0; font-size: 15px; font-weight: 600; }
.gp__modal-head .gp__seg[b-am7ixk784l] { margin-left: auto; }

.gp__modal-close[b-am7ixk784l] {
    border: 0;
    background: none;
    font-size: 16px;
    color: var(--color-text-muted);
    cursor: pointer;
}

.gp__modal-body[b-am7ixk784l] { padding: 18px; overflow: auto; background: var(--color-background); }

.gp__preview-scroll[b-am7ixk784l] { display: flex; justify-content: center; }

.gp__modal-foot[b-am7ixk784l] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 18px;
    border-top: 1px solid var(--color-border);
}

.gp__hist[b-am7ixk784l] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--color-border);
}

.gp__hist strong[b-am7ixk784l] { display: block; font-size: 13px; }
.gp__hist span[b-am7ixk784l] { font-size: 12px; color: var(--color-text-secondary); }
.gp__hist-acoes[b-am7ixk784l] { margin-left: auto; display: flex; gap: 12px; }

.gp__toast[b-am7ixk784l] {
    position: fixed;
    left: 50%;
    bottom: 28px;
    transform: translateX(-50%);
    z-index: 1300;
    padding: 11px 18px;
    border-radius: var(--radius-md);
    background: var(--color-sidebar-bg);
    color: #fff;
    font-size: 13px;
    box-shadow: 0 8px 24px rgb(15 30 51 / .28);
}
/* /Components/Propostas/GeradorPropostaModal.razor.rz.scp.css */
/* Moldura em modal do gerador — o conteúdo é o mesmo componente da página. */

.gpm__backdrop[b-0ft5ry3xth] {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgb(15 30 51 / .55);
}

.gpm[b-0ft5ry3xth] {
    display: flex;
    flex-direction: column;
    width: min(1180px, 100%);
    max-height: 100%;
    background: var(--color-background);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.gpm__head[b-0ft5ry3xth] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: var(--color-surface);
    border-bottom: 1px solid var(--color-border);
}

.gpm__head h3[b-0ft5ry3xth] {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--color-text-primary);
}

.gpm__empresa[b-0ft5ry3xth] {
    font-size: 13px;
    color: var(--color-text-secondary);
}

.gpm__close[b-0ft5ry3xth] {
    margin-left: auto;
    border: 0;
    background: none;
    font-size: 16px;
    color: var(--color-text-muted);
    cursor: pointer;
}

/* Único container de scroll da modal — o simulador sticky se apoia nele. */
.gpm__body[b-0ft5ry3xth] {
    padding: 20px;
    overflow: auto;
    min-height: 0;
}
/* /Components/Propostas/PropostaDocumento.razor.rz.scp.css */
/*
    Folha de estilo da proposta impressa — portada do protótipo aprovado pelo
    comercial (bloco A4 PDF PAGES do HTML anexado ao item 31975). Valores
    mantidos como estão lá: este CSS é o que define o PDF, então "arredondar"
    qualquer número aqui muda o documento que chega no cliente.

    Os tokens são locais (e não os do portal) de propósito: a proposta é peça
    de marca da Villela e não acompanha o tema da aplicação.
*/

.docwrap[b-rzk9ljoyo7] {
    --dark: #05232b;
    --mid: #0c4a5a;
    --sky: #55c2e6;
    --muted: #5d7178;
    --line: #e2e8e7;

    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ============ A4 PDF PAGES ============ */

.pg[b-rzk9ljoyo7] {
    width: 794px;
    min-height: 1123px;
    background: #fff;
    color: var(--dark);
    position: relative;
    overflow: hidden;
    font-family: 'Outfit', system-ui, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    box-shadow: 0 8px 26px -8px rgba(5, 35, 43, .4);
    flex: 0 0 auto;
}

.pg img[b-rzk9ljoyo7] { object-fit: contain; }
.pg h1[b-rzk9ljoyo7], .pg h2[b-rzk9ljoyo7], .pg h4[b-rzk9ljoyo7] { margin: 0; font-weight: inherit; }
.pg p[b-rzk9ljoyo7] { margin: 0; }

/* cover */

.pg.cover[b-rzk9ljoyo7] {
    background: linear-gradient(158deg, #05232b 0%, #08303b 55%, #0c4a5a 100%);
    color: #fff;
    padding: 64px 60px;
    display: flex;
    flex-direction: column;
}

.pg.cover .cwm[b-rzk9ljoyo7] { position: absolute; right: -90px; top: 120px; width: 520px; opacity: .07; }
.pg.cover .clogo[b-rzk9ljoyo7] { height: 46px; width: 104px; align-self: flex-start; flex: 0 0 auto; object-fit: contain; position: relative; z-index: 1; }
.pg.cover .ctag[b-rzk9ljoyo7] { margin-top: auto; position: relative; z-index: 1; }
.pg.cover .kick[b-rzk9ljoyo7] { font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--sky); font-weight: 600; }
.pg.cover h1[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 52px; line-height: 1.02; letter-spacing: -1px; margin: 14px 0 8px; }
.pg.cover .sub[b-rzk9ljoyo7] { font-size: 17px; opacity: .8; font-weight: 300; }
.pg.cover .empill[b-rzk9ljoyo7] { display: inline-block; background: var(--sky); color: var(--dark); font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; padding: 12px 22px; border-radius: 16px; margin-top: 26px; letter-spacing: -.3px; }
.pg.cover .cnpj[b-rzk9ljoyo7] { margin-top: 12px; font-size: 15px; opacity: .85; font-variant-numeric: tabular-nums; }
.pg.cover .cbar[b-rzk9ljoyo7] { position: relative; z-index: 1; margin-top: 44px; border-top: 1px solid rgba(255, 255, 255, .16); padding-top: 20px; display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; }
.pg.cover .cbar .ci[b-rzk9ljoyo7] { font-size: 12px; }
.pg.cover .cbar .ci .kk[b-rzk9ljoyo7] { opacity: .55; text-transform: uppercase; letter-spacing: 1px; font-size: 10px; margin-bottom: 3px; }
.pg.cover .cbar .ci .vv[b-rzk9ljoyo7] { font-weight: 600; font-size: 14px; }

/* content page frame */

.pg.doc[b-rzk9ljoyo7] { padding: 52px 56px 74px; display: flex; flex-direction: column; }

.dochead[b-rzk9ljoyo7] { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 2px solid var(--dark); margin-bottom: 26px; }
.dochead .dlogo[b-rzk9ljoyo7] { height: 26px; }
.dochead .dt[b-rzk9ljoyo7] { margin-left: auto; text-align: right; }
.dochead .dt .k[b-rzk9ljoyo7] { font-size: 9px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sky); font-weight: 700; }
.dochead .dt .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 15px; color: var(--dark); }

.docfoot[b-rzk9ljoyo7] { position: absolute; left: 56px; right: 56px; bottom: 30px; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; border-top: 1px solid var(--line); padding-top: 12px; }
.docfoot .disc[b-rzk9ljoyo7] { font-size: 8.4px; line-height: 1.4; color: var(--muted); max-width: 560px; }
.docfoot .pgn[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 11px; color: var(--mid); flex: 0 0 auto; }

.sec-title[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 20px; color: var(--dark); margin-bottom: 4px; letter-spacing: -.3px; }
.sec-title .ac[b-rzk9ljoyo7] { color: var(--sky); }
.sec-sub[b-rzk9ljoyo7] { font-size: 12.5px; color: var(--muted); margin-bottom: 18px; line-height: 1.5; }

/* debt cards */

.dgrid[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 8px; }
.dcell[b-rzk9ljoyo7] { border: 1.5px solid var(--line); border-radius: 14px; padding: 15px; }
.dcell .k[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); font-weight: 500; }
.dcell .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 19px; color: var(--dark); margin-top: 6px; font-variant-numeric: tabular-nums; }

.dtotal[b-rzk9ljoyo7] { margin-top: 12px; background: var(--dark); color: #fff; border-radius: 14px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; }
.dtotal .k[b-rzk9ljoyo7] { font-size: 13px; opacity: .75; }
.dtotal .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 24px; color: var(--sky); font-variant-numeric: tabular-nums; }

.orgline[b-rzk9ljoyo7] { margin-top: 12px; font-size: 12px; color: var(--mid); background: #f5faf9; border: 1px solid var(--line); border-radius: 10px; padding: 11px 14px; line-height: 1.5; }
.orgline b[b-rzk9ljoyo7] { color: var(--dark); }
.orgcap[b-rzk9ljoyo7] { font-size: 10.5px; color: var(--mid); margin-top: 7px; }
.orgcap b[b-rzk9ljoyo7] { color: var(--dark); }

/* deliverables */

.deliv[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.deliv .col .ch[b-rzk9ljoyo7] { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.deliv .col .ch .tag[b-rzk9ljoyo7] { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 5px 11px; border-radius: 999px; }
.deliv .col.extra .tag[b-rzk9ljoyo7] { background: #eaf7fc; color: var(--mid); }
.deliv .col.jud .tag[b-rzk9ljoyo7] { background: var(--dark); color: var(--sky); }

.ditem[b-rzk9ljoyo7] { display: flex; gap: 10px; margin-bottom: 13px; }
.ditem .dot[b-rzk9ljoyo7] { width: 22px; height: 22px; border-radius: 7px; background: linear-gradient(140deg, var(--dark), var(--mid)); color: var(--sky); display: grid; place-items: center; flex: 0 0 auto; font-weight: 700; font-size: 12px; font-family: 'Space Grotesk', sans-serif; }
.ditem .dtx b[b-rzk9ljoyo7] { display: block; font-size: 13px; font-weight: 600; color: var(--dark); margin-bottom: 2px; }
.ditem .dtx span[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); line-height: 1.42; }

/* numbers page */

.hero-depara[b-rzk9ljoyo7] { background: linear-gradient(150deg, var(--dark), var(--mid)); border-radius: 18px; padding: 24px 26px; color: #fff; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; position: relative; overflow: hidden; }
.hero-depara .hwm[b-rzk9ljoyo7] { position: absolute; right: -30px; bottom: -40px; width: 190px; opacity: .08; }
.hero-depara .side .k[b-rzk9ljoyo7] { font-size: 11px; opacity: .6; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
.hero-depara .side .old[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 26px; font-weight: 600; text-decoration: line-through; opacity: .55; font-variant-numeric: tabular-nums; }
.hero-depara .side .new[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 34px; font-weight: 700; color: var(--sky); font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.hero-depara .mid[b-rzk9ljoyo7] { font-size: 30px; color: var(--sky); flex: 0 0 auto; }

.ncards[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.ncard[b-rzk9ljoyo7] { border: 1.5px solid var(--line); border-radius: 14px; padding: 15px; position: relative; }
.ncard .bad[b-rzk9ljoyo7] { position: absolute; top: 12px; right: 12px; font-size: 9.5px; font-weight: 700; background: #eaf7fc; color: var(--mid); padding: 3px 8px; border-radius: 999px; }
.ncard .k[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); font-weight: 600; max-width: 120px; line-height: 1.3; }
.ncard .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 20px; color: var(--dark); margin-top: 16px; font-variant-numeric: tabular-nums; }
.ncard .v .permes[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); font-weight: 600; font-family: 'Outfit', sans-serif; margin-left: 2px; }
.ncard .par[b-rzk9ljoyo7] { font-size: 11.5px; color: var(--mid); margin-top: 4px; font-variant-numeric: tabular-nums; }
.ncard .par b[b-rzk9ljoyo7] { color: var(--dark); }

.fasebox[b-rzk9ljoyo7] { border: 1.5px solid var(--line); border-radius: 14px; padding: 16px 18px; margin-bottom: 18px; }
.fasebox .ft[b-rzk9ljoyo7] { font-size: 12px; font-weight: 700; color: var(--dark); margin-bottom: 4px; }
.fasebox .fh[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); margin-bottom: 10px; }
.faserow[b-rzk9ljoyo7] { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-top: 1px dashed var(--line); font-variant-numeric: tabular-nums; }
.faserow:first-of-type[b-rzk9ljoyo7] { border-top: none; }
.faserow .fl[b-rzk9ljoyo7] { font-size: 12.5px; color: var(--mid); }
.faserow .fv[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 15px; color: var(--dark); }

.ecobox[b-rzk9ljoyo7] { background: linear-gradient(120deg, rgba(21, 234, 187, .14), rgba(21, 234, 187, .03)); border: 1.5px solid rgba(21, 234, 187, .5); border-radius: 14px; padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; }
.ecobox .k[b-rzk9ljoyo7] { font-size: 13px; color: var(--mid); font-weight: 600; }
.ecobox .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 26px; color: #0aa588; font-variant-numeric: tabular-nums; }

.credbox[b-rzk9ljoyo7] { margin-top: 14px; border: 1.5px dashed var(--sky); border-radius: 12px; padding: 13px 16px; display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--mid); }
.credbox b[b-rzk9ljoyo7] { color: var(--dark); }

.simobs[b-rzk9ljoyo7] { font-size: 10.5px; color: var(--mid); background: #f6f9f9; border-left: 3px solid var(--sky); border-radius: 8px; padding: 9px 12px; margin-top: 12px; line-height: 1.45; }

/* honorarios page */

.honcard[b-rzk9ljoyo7] { border: 1.5px solid var(--dark); border-radius: 16px; padding: 20px 22px; margin-top: 14px; background: linear-gradient(180deg, #fbfdfd, #f4faf9); }
.honcard-h[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 16px; color: var(--dark); margin-bottom: 12px; display: flex; align-items: center; gap: 9px; }
.honcard-h[b-rzk9ljoyo7]::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--sky); }
.honcard .hr[b-rzk9ljoyo7] { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 11px 0; border-top: 1px dashed var(--line); font-variant-numeric: tabular-nums; }
.honcard .hr:first-of-type[b-rzk9ljoyo7] { border-top: none; }
.honcard .hr.ind[b-rzk9ljoyo7] { padding: 7px 0 7px 16px; border-top: 1px dotted #e5ecea; }
.honcard .hr.ind .hl[b-rzk9ljoyo7] { font-size: 12px; color: var(--muted); }
.honcard .hl[b-rzk9ljoyo7] { font-size: 13.5px; color: var(--dark); font-weight: 500; display: flex; flex-direction: column; gap: 2px; }
.honcard .hl .hsub[b-rzk9ljoyo7] { font-size: 10px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }
.honcard .hv[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 15px; color: var(--dark); text-align: right; display: flex; flex-direction: column; gap: 1px; align-items: flex-end; }
.honcard .hv.big[b-rzk9ljoyo7] { font-size: 19px; }
.honcard .hv.sky[b-rzk9ljoyo7] { color: #0a91c4; }
.honcard .hv .hsub2[b-rzk9ljoyo7] { font-size: 10.5px; color: var(--muted); font-weight: 500; font-family: 'Outfit', sans-serif; }

.tagm[b-rzk9ljoyo7] { display: inline-block; font-size: 9.5px; font-weight: 700; color: #0a6ea0; background: #e3f4fb; border-radius: 5px; padding: 2px 6px; margin-left: 4px; text-transform: uppercase; letter-spacing: .3px; vertical-align: middle; }

.honnotes[b-rzk9ljoyo7] { margin-top: 14px; }
.honnotes .hn1[b-rzk9ljoyo7] { font-size: 10.5px; color: var(--mid); line-height: 1.45; padding-left: 14px; position: relative; margin-bottom: 5px; }
.honnotes .hn1[b-rzk9ljoyo7]::before { content: "•"; position: absolute; left: 2px; color: var(--sky); font-weight: 700; }

.validbox[b-rzk9ljoyo7] { display: flex; align-items: center; gap: 12px; background: var(--dark); color: #fff; border-radius: 14px; padding: 15px 18px; margin-bottom: 16px; margin-top: 16px; }
.validbox svg[b-rzk9ljoyo7] { width: 22px; height: 22px; color: var(--sky); flex: 0 0 auto; }
.validbox .k[b-rzk9ljoyo7] { font-size: 11px; opacity: .65; text-transform: uppercase; letter-spacing: 1px; }
.validbox .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 16px; }

.sign[b-rzk9ljoyo7] { margin-top: auto; border-top: 1px solid var(--line); padding-top: 18px; display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.sign .who .k[b-rzk9ljoyo7] { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 1px; }
.sign .who .nm[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 17px; color: var(--dark); margin-top: 3px; }
.sign .who .ph[b-rzk9ljoyo7] { font-size: 13px; color: var(--mid); margin-top: 2px; font-variant-numeric: tabular-nums; }
.sign .stamp[b-rzk9ljoyo7] { height: 40px; opacity: .9; }

/* simplificado single page */

.pg.simple[b-rzk9ljoyo7] { padding: 44px 50px 66px; display: flex; flex-direction: column; }

.simple .band[b-rzk9ljoyo7] { background: linear-gradient(150deg, var(--dark), var(--mid)); border-radius: 16px; padding: 20px 22px; color: #fff; margin-bottom: 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; position: relative; overflow: hidden; }
.simple .band .swm[b-rzk9ljoyo7] { position: absolute; right: -30px; top: -20px; width: 140px; opacity: .08; }
.simple .band .kick[b-rzk9ljoyo7] { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--sky); font-weight: 700; }
.simple .band h2[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 22px; font-weight: 700; margin-top: 5px; letter-spacing: -.3px; }
.simple .band .em[b-rzk9ljoyo7] { font-size: 13px; opacity: .82; margin-top: 3px; }
.simple .band .em .cn[b-rzk9ljoyo7] { font-variant-numeric: tabular-nums; }

.mini-sec[b-rzk9ljoyo7] { margin-bottom: 16px; }
.mini-sec .mt[b-rzk9ljoyo7] { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--mid); margin-bottom: 9px; display: flex; align-items: center; gap: 7px; }
.mini-sec .mt[b-rzk9ljoyo7]::before { content: ""; width: 6px; height: 6px; border-radius: 2px; background: var(--sky); }

.sdeliv[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 20px; margin-top: 2px; }
.sd[b-rzk9ljoyo7] { display: flex; gap: 8px; }
.sd .sdmk[b-rzk9ljoyo7] { width: 5px; border-radius: 3px; background: var(--sky); flex: 0 0 auto; margin-top: 2px; margin-bottom: 2px; }
.sd.jud .sdmk[b-rzk9ljoyo7] { background: var(--dark); }
.sd .sdt .sdn[b-rzk9ljoyo7] { font-size: 11.5px; font-weight: 700; color: var(--dark); line-height: 1.25; }
.sd .sdt .sdd[b-rzk9ljoyo7] { font-size: 10.5px; color: var(--muted); line-height: 1.35; display: block; margin-top: 1px; }

.sdepara[b-rzk9ljoyo7] { display: flex; align-items: center; gap: 16px; background: #f5faf9; border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 18px; }
.sdepara .s .k[b-rzk9ljoyo7] { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; }
.sdepara .s .old[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 19px; font-weight: 600; text-decoration: line-through; color: #9aa; font-variant-numeric: tabular-nums; }
.sdepara .s .new[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 24px; font-weight: 700; color: var(--dark); font-variant-numeric: tabular-nums; }
.sdepara .ar[b-rzk9ljoyo7] { font-size: 22px; color: var(--sky); }
.sdepara .eco2[b-rzk9ljoyo7] { margin-left: auto; text-align: right; }
.sdepara .eco2 .k[b-rzk9ljoyo7] { font-size: 10px; color: #0aa588; text-transform: uppercase; letter-spacing: .5px; }
.sdepara .eco2 .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-size: 18px; font-weight: 700; color: #0aa588; font-variant-numeric: tabular-nums; }

.spar[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-top: 10px; }
.spar .sp1[b-rzk9ljoyo7] { border: 1.5px solid var(--line); border-radius: 12px; padding: 11px 13px; }
.spar .sp1 .k[b-rzk9ljoyo7] { font-size: 10px; color: var(--muted); }
.spar .sp1 .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 15px; color: var(--dark); margin-top: 4px; font-variant-numeric: tabular-nums; }
.spar .sp1 .v .pm[b-rzk9ljoyo7] { font-size: 9px; color: var(--muted); font-weight: 600; font-family: 'Outfit', sans-serif; }
.spar .sp1 .pp[b-rzk9ljoyo7] { font-size: 10px; color: var(--mid); margin-top: 2px; font-variant-numeric: tabular-nums; }

.shon[b-rzk9ljoyo7] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.shon .sh1[b-rzk9ljoyo7] { border: 1.5px solid var(--line); border-radius: 12px; padding: 13px 15px; }
.shon .sh1.hl[b-rzk9ljoyo7] { border-color: var(--sky); background: #f5fbfd; }
.shon .sh1 .k[b-rzk9ljoyo7] { font-size: 11px; color: var(--muted); font-weight: 600; }
.shon .sh1 .v[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 16px; color: var(--dark); margin-top: 5px; font-variant-numeric: tabular-nums; }
.shon .sh1 .v .pm[b-rzk9ljoyo7] { font-size: 9px; color: var(--muted); font-weight: 600; font-family: 'Outfit', sans-serif; }
.shon .sh1 .x[b-rzk9ljoyo7] { font-size: 11px; color: var(--mid); margin-top: 2px; }

.sfoot[b-rzk9ljoyo7] { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; }
.sfoot .disc[b-rzk9ljoyo7] { font-size: 8px; color: var(--muted); line-height: 1.4; max-width: 430px; }
.sfoot .who[b-rzk9ljoyo7] { text-align: right; flex: 0 0 auto; }
.sfoot .who .nm[b-rzk9ljoyo7] { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 14px; color: var(--dark); }
.sfoot .who .ph[b-rzk9ljoyo7] { font-size: 11px; color: var(--mid); font-variant-numeric: tabular-nums; }
.sfoot .who .val[b-rzk9ljoyo7] { font-size: 10px; color: var(--sky); font-weight: 700; margin-top: 3px; }
/* /Components/Shared/AssistantPanel.razor.rz.scp.css */
/* Painel do assistente — chat flutuante, canto inferior direito. */

.asst[b-ggtsnwacsq] {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

/* ── Botão flutuante (FAB) ─────────────────────────────────────────────────── */
.asst__fab[b-ggtsnwacsq] {
    width: 56px;
    height: 56px;
    border: none;
    border-radius: 50%;
    background: var(--color-primary, #2563EB);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(37, 99, 235, .38);
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
    align-self: flex-end;
}

.asst__fab:hover[b-ggtsnwacsq] {
    background: var(--color-primary-hover, #1D4ED8);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(37, 99, 235, .45);
}

/* ── Painel ────────────────────────────────────────────────────────────────── */
.asst__panel[b-ggtsnwacsq] {
    width: 360px;
    max-width: calc(100vw - 48px);
    height: 480px;
    max-height: calc(100vh - 120px);
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(15, 23, 42, .22);
    border: 1px solid #E2E8F0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: asst-rise-b-ggtsnwacsq .16s ease-out;
}

@keyframes asst-rise-b-ggtsnwacsq {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.asst__header[b-ggtsnwacsq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    background: var(--color-primary, #2563EB);
    color: #fff;
}

.asst__title[b-ggtsnwacsq] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
}

.asst__screen[b-ggtsnwacsq] {
    font-weight: 400;
    opacity: .85;
    font-size: 12px;
}

.asst__icon-btn[b-ggtsnwacsq] {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    padding: 2px;
    border-radius: 6px;
    opacity: .9;
}

.asst__icon-btn:hover[b-ggtsnwacsq] { opacity: 1; background: rgba(255, 255, 255, .15); }

/* ── Mensagens ─────────────────────────────────────────────────────────────── */
.asst__messages[b-ggtsnwacsq] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: #F8FAFC;
}

.asst__msg[b-ggtsnwacsq] {
    max-width: 85%;
    padding: 8px 11px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}

.asst__msg--user[b-ggtsnwacsq] {
    align-self: flex-end;
    background: var(--color-primary, #2563EB);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.asst__msg--assistant[b-ggtsnwacsq] {
    align-self: flex-start;
    background: #fff;
    border: 1px solid #E2E8F0;
    color: #1E293B;
    border-bottom-left-radius: 4px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.asst__msg--system[b-ggtsnwacsq] {
    align-self: center;
    background: #EEF2FF;
    color: #475569;
    font-size: 12px;
    text-align: center;
}

/* Indicador "pensando" enquanto a Agente API responde. */
.asst__typing[b-ggtsnwacsq] {
    display: inline-flex;
    gap: 4px;
    align-items: center;
}

.asst__typing span[b-ggtsnwacsq] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #94A3B8;
    animation: asst-blink-b-ggtsnwacsq 1.2s infinite ease-in-out both;
}

.asst__typing span:nth-child(2)[b-ggtsnwacsq] { animation-delay: .2s; }
.asst__typing span:nth-child(3)[b-ggtsnwacsq] { animation-delay: .4s; }

@keyframes asst-blink-b-ggtsnwacsq {
    0%, 80%, 100% { opacity: .3; }
    40% { opacity: 1; }
}

/* ── Composer ──────────────────────────────────────────────────────────────── */
.asst__composer[b-ggtsnwacsq] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid #E2E8F0;
    background: #fff;
}

.asst__input[b-ggtsnwacsq] {
    flex: 1;
    min-width: 0;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    padding: 9px 11px;
    font-size: 13px;
    outline: none;
}

.asst__input:focus[b-ggtsnwacsq] { border-color: var(--color-primary, #2563EB); }

.asst__send[b-ggtsnwacsq] {
    border: none;
    background: var(--color-primary, #2563EB);
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: none;
}

.asst__send:disabled[b-ggtsnwacsq] { opacity: .45; cursor: default; }
.asst__send:not(:disabled):hover[b-ggtsnwacsq] { background: var(--color-primary-hover, #1D4ED8); }
/* /Components/Shared/ChatSuporte.razor.rz.scp.css */
/* Chat de suporte — flutuante, canto inferior direito.
   Mesmo ancoramento do AssistantPanel (right/bottom 24px, z-index 1200): os
   dois nunca aparecem juntos hoje, mas se um dia aparecerem, ficam empilhados
   no mesmo canto e a colisão fica óbvia em vez de silenciosa. */

.chat-suporte[b-0blc66jgsl] {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

/* ── Painel ────────────────────────────────────────────────────────────────── */
/* Fechado = display:none, não visibility/opacity. O nó do SDK continua no DOM
   (não é remontado ao reabrir), mas não rouba clique nem área da tela. */
.chat-suporte__painel[b-0blc66jgsl] {
    position: relative;
    display: none;
    width: 380px;
    max-width: calc(100vw - 48px);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .18);
}

.chat-suporte--aberto .chat-suporte__painel[b-0blc66jgsl] {
    display: block;
}

/* × flutuante sobre a barra de título que o próprio SDK desenha. */
.chat-suporte__fechar[b-0blc66jgsl] {
    position: absolute;
    top: 9px;
    right: 10px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #6B7280;
    cursor: pointer;
}

.chat-suporte__fechar:hover[b-0blc66jgsl] {
    background: rgba(15, 23, 42, .08);
    color: #111827;
}

/* Território do SDK. A altura quem manda é ele, via --vc-altura (tema.altura):
   fixar height aqui brigaria com o .quadro dele e cortaria o rodapé de escrever.
   Nada de cor/tipografia — o conteúdo vive num shadow root e CSS scoped do
   Blazor não atravessa. */
.chat-suporte__host[b-0blc66jgsl] {
    border-radius: 12px;
    overflow: hidden;
}

/* ── Botão flutuante ───────────────────────────────────────────────────────── */
.chat-suporte__fab[b-0blc66jgsl] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border: none;
    border-radius: 50%;
    background: #16324F;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(22, 50, 79, .38);
    transition: transform .15s ease, box-shadow .15s ease;
}

.chat-suporte__fab:hover[b-0blc66jgsl] {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(22, 50, 79, .48);
}

/* Badge de não lidas — o número vem do data-attribute que o JS mantém. */
.chat-suporte__fab--alerta[b-0blc66jgsl]::after {
    content: attr(data-nao-lidas);
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 10px;
    background: #DC2626;
    color: #fff;
    font-size: .7rem;
    font-weight: 700;
    line-height: 20px;
    text-align: center;
}
/* /Components/Shared/CopyableText.razor.rz.scp.css */
/* Texto + botão de cópia. O botão ocupa espaço sempre (opacity, não display)
   pra não empurrar o layout ao aparecer no hover. Tamanho em `em`: acompanha
   a fonte de onde o componente for usado (cartão, tabela, header). */

.copyable[b-xd8pv41lua] {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    max-width: 100%;
    min-width: 0;
}

/* Sem regra de display de propósito: em .cnpj-meta-line o global já trata os
   spans, e o valor (CNPJ) é curto o bastante pra nunca precisar truncar. */
.copyable__text[b-xd8pv41lua] {
    min-width: 0;
}

.copyable__btn[b-xd8pv41lua] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0.15em;
    border-radius: 0.25em;
    color: inherit;
    cursor: pointer;
    opacity: 0;
    transition: opacity .12s ease, background-color .12s ease;
}

.copyable:hover .copyable__btn[b-xd8pv41lua],
.copyable__btn:focus-visible[b-xd8pv41lua] {
    opacity: .7;
}

.copyable__btn:hover[b-xd8pv41lua] {
    opacity: 1;
    background: rgba(100, 116, 139, .18);
}

.copyable__btn:focus-visible[b-xd8pv41lua] {
    outline: 2px solid rgba(59, 130, 246, .6);
    outline-offset: 1px;
}

.copyable__icon[b-xd8pv41lua] {
    width: 1.1em;
    height: 1.1em;
    display: block;
}

/* Touch não tem hover — sem isso o botão nunca apareceria no celular. */
@media (hover: none) {
    .copyable__btn[b-xd8pv41lua] { opacity: .55; }
}

/* Impressão (layout padrão) não leva ação de tela. O relatório Villela já
   sai por outro caminho: ShowCopy="false" no ReportMode do header. */
@media print {
    .copyable__btn[b-xd8pv41lua] { display: none; }
}
/* /Components/Shared/DiscadorIframe.razor.rz.scp.css */
/* Área de escolha de campanha do discador (item 31924).

   Ocupa o mesmo host do iframe (altura fixa de 360px), então tudo aqui cabe
   nessa caixa: o conteúdo rola internamente em vez de esticar o host e empurrar
   o menu da sidebar. Estilos SCOPED — não existe versão global destas classes.

   As regras do host, do iframe e do botão de toggle continuam no <style> do
   próprio .razor (não foram migradas: mexer nelas agora misturaria refatoração
   de CSS com a implementação do item). */

.discador-escolha[b-3sreothxrl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 100%;
    padding: 12px 12px 14px;
    overflow-y: auto;
    color: #fff;
    box-sizing: border-box;
}

/* Cabeçalho da área: título à esquerda, botão de minimizar à direita. Fora do
   fluxo que rola, pra continuar visível quando o conteúdo passa da altura. */
.discador-escolha__cabecalho[b-3sreothxrl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-shrink: 0;
}

/* Minimizada: só o cabeçalho, sem respiro nem rolagem sobrando. */
.discador-escolha--minimizada[b-3sreothxrl] {
    padding: 9px 12px;
    gap: 0;
    overflow: hidden;
}

/* Mesma pastilha do toggle do discador montado, mas no fluxo do cabeçalho. */
.discador-escolha__minimizar[b-3sreothxrl] {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease;
}

.discador-escolha__minimizar:hover[b-3sreothxrl] {
    background: rgba(255, 255, 255, .22);
}

.discador-escolha__minimizar:focus-visible[b-3sreothxrl] {
    outline: 2px solid rgba(255, 255, 255, .65);
    outline-offset: 1px;
}

.discador-escolha__titulo[b-3sreothxrl] {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
    opacity: .75;
}

.discador-escolha__subtitulo[b-3sreothxrl] {
    margin: 0;
    font-size: 12px;
    line-height: 1.35;
    opacity: .85;
}

.discador-escolha__status[b-3sreothxrl] {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.4;
}

.discador-escolha__nota[b-3sreothxrl] {
    margin: 0;
    font-size: 11.5px;
    line-height: 1.35;
    opacity: .7;
}

.discador-escolha__erro[b-3sreothxrl] {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: #FFD9DF;
    background: rgba(244, 63, 94, .18);
    border-left: 3px solid var(--color-danger, #F43F5E);
    border-radius: 4px;
    padding: 8px 10px;
}

/* Botões — base comum ao "tentar de novo", às opções e à confirmação. */
.discador-btn[b-3sreothxrl] {
    font: inherit;
    font-size: 12.5px;
    color: #fff;
    background: rgba(255, 255, 255, .10);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 6px;
    padding: 8px 10px;
    cursor: pointer;
    text-align: left;
    transition: background .15s ease, border-color .15s ease;
}

.discador-btn:hover:not(:disabled)[b-3sreothxrl] {
    background: rgba(255, 255, 255, .18);
}

.discador-btn:focus-visible[b-3sreothxrl] {
    outline: 2px solid rgba(255, 255, 255, .65);
    outline-offset: 1px;
}

.discador-btn:disabled[b-3sreothxrl] {
    opacity: .45;
    cursor: not-allowed;
}

/* Realce da última campanha usada (sugestão de continuidade). */
.discador-btn--primario[b-3sreothxrl] {
    background: var(--color-primary, #2563EB);
    border-color: var(--color-primary, #2563EB);
}

.discador-btn--primario:hover:not(:disabled)[b-3sreothxrl] {
    background: var(--color-primary-hover, #1D4ED8);
}

.discador-btn--opcao[b-3sreothxrl] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.discador-btn__rotulo[b-3sreothxrl] {
    font-weight: 600;
}

.discador-btn__detalhe[b-3sreothxrl] {
    font-size: 11px;
    line-height: 1.3;
    opacity: .8;
    /* Nome de campanha é um e-mail — não pode estourar a largura da sidebar. */
    overflow-wrap: anywhere;
}

/* Histórico de ligações (item 32283) na área de escolha. Fica colado no rodapé
   (margin-top: auto) pra não disputar atenção com as opções de campanha, que
   são o que a tela pede primeiro. Centralizado porque, ao contrário das opções,
   não tem rótulo + detalhe em duas linhas. */
.discador-escolha__historico[b-3sreothxrl] {
    font: inherit;
    font-size: 12px;
    color: rgba(255, 255, 255, .85);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 6px;
    padding: 7px 10px;
    margin-top: auto;
    cursor: pointer;
    text-align: center;
    flex-shrink: 0;
    transition: background .15s ease, color .15s ease;
}

.discador-escolha__historico:hover[b-3sreothxrl] {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.discador-escolha__historico:focus-visible[b-3sreothxrl] {
    outline: 2px solid rgba(255, 255, 255, .65);
    outline-offset: 1px;
}

/* Botão discreto de trocar campanha — canto inferior direito, por cima do
   iframe. Só é renderizado com o operador offline. */
.discador-trocar[b-3sreothxrl] {
    position: absolute;
    bottom: 4px;
    right: 6px;
    z-index: 2;
    font: inherit;
    font-size: 11px;
    color: #fff;
    background: rgba(255, 255, 255, .12);
    border: 0;
    border-radius: 999px;
    padding: 3px 10px;
    cursor: pointer;
    transition: background .15s ease;
}

.discador-trocar:hover[b-3sreothxrl] {
    background: rgba(255, 255, 255, .22);
}

.discador-trocar:focus-visible[b-3sreothxrl] {
    outline: 2px solid rgba(255, 255, 255, .65);
    outline-offset: 1px;
}

/* Confirmação da troca — cobre o discador para o clique ser deliberado. */
.discador-confirma[b-3sreothxrl] {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding: 14px;
    background: rgba(15, 30, 51, .95);
    box-sizing: border-box;
}

.discador-confirma__texto[b-3sreothxrl] {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.4;
    color: #fff;
}

.discador-confirma__acoes[b-3sreothxrl] {
    display: flex;
    gap: 8px;
}

/* Aviso do Sair automático no pós-atendimento. Mesmo z-index do host: com a
   modal de detalhes aberta, o aviso continua visível junto do discador. */
.discador-alerta[b-3sreothxrl] {
    position: relative;
    z-index: 1300;
    flex-shrink: 0;
    padding: 8px 12px;
    background: #FFF7ED;
    border-top: 3px solid #F59E0B;
    color: #7C2D12;
    font-size: 12px;
    line-height: 1.4;
}

/* Tabular-nums: sem isso a contagem muda de largura a cada segundo. */
.discador-alerta__tempo[b-3sreothxrl] {
    font-variant-numeric: tabular-nums;
}
/* /Components/Shared/DistribuirLeadsModal.razor.rz.scp.css */
/* =============================================================================
   DistribuirLeadsModal — pós-criação da lista
   ============================================================================= */

.dl-modal[b-r03uio3z1c] {
    width: min(640px, 92vw);
    max-height: min(720px, 92vh);
    display: flex;
    flex-direction: column;
}

.dl-body[b-r03uio3z1c] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow-y: auto;
    /* mín. necessário pra o flex-item ter scroll dentro do modal */
    min-height: 0;
}

.dl-intro[b-r03uio3z1c] {
    margin: 0;
    color: #475569;
    font-size: 13.5px;
    line-height: 1.5;
}

.dl-intro strong[b-r03uio3z1c] {
    color: #0F172A;
}

/* ─── Estado vazio ──────────────────────────────────────────────────────── */
.dl-empty[b-r03uio3z1c] {
    padding: 24px 16px;
    text-align: center;
    color: #94A3B8;
    background: #F8FAFC;
    border: 1px dashed #E2E8F0;
    border-radius: 8px;
    font-size: 13px;
}

/* ─── Ações da fase Picking ─────────────────────────────────────────────── */
.dl-pick-actions[b-r03uio3z1c] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 6px;
    border-bottom: 1px solid #EEF0F3;
    font-size: 12.5px;
    color: #64748B;
}

.dl-pick-actions .dl-pick-count[b-r03uio3z1c] {
    margin-left: auto;
    color: #475569;
}

.dl-link[b-r03uio3z1c] {
    background: none;
    border: none;
    padding: 0;
    color: #2563EB;
    cursor: pointer;
    font-size: 12.5px;
}

.dl-link:hover:not(:disabled)[b-r03uio3z1c] {
    text-decoration: underline;
}

.dl-link:disabled[b-r03uio3z1c] {
    color: #94A3B8;
    cursor: default;
}

.dl-link-sep[b-r03uio3z1c] {
    color: #CBD5E1;
}

/* ─── Lista de agentes ──────────────────────────────────────────────────── */
.dl-list[b-r03uio3z1c] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.dl-row[b-r03uio3z1c] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid #EEF0F3;
    background: #FFF;
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
    user-select: none;
}

.dl-row:hover[b-r03uio3z1c] {
    background: #F8FAFC;
}

.dl-row--on[b-r03uio3z1c] {
    background: #EFF6FF;
    border-color: #BFDBFE;
}

.dl-check[b-r03uio3z1c] {
    width: 16px;
    height: 16px;
    accent-color: #2563EB;
    cursor: pointer;
    flex-shrink: 0;
}

.dl-avatar[b-r03uio3z1c] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2563EB;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.dl-name[b-r03uio3z1c] {
    flex: 1 1 auto;
    font-size: 13.5px;
    color: #0F172A;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dl-id[b-r03uio3z1c] {
    font-size: 11.5px;
    color: #94A3B8;
    flex-shrink: 0;
}

/* ─── Fase Tracking ─────────────────────────────────────────────────────── */
.dl-list--status .dl-row[b-r03uio3z1c] {
    cursor: default;
}

.dl-list--status .dl-row:hover[b-r03uio3z1c] {
    background: #FFF;
}

.dl-row--status[b-r03uio3z1c] {
    border-color: #EEF0F3;
}

.dl-status[b-r03uio3z1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 500;
    flex-shrink: 0;
    min-width: 100px;
    justify-content: center;
}

.dl-status--pending[b-r03uio3z1c] {
    background: #F1F5F9;
    color: #475569;
}

.dl-status--processing[b-r03uio3z1c] {
    background: #DBEAFE;
    color: #1D4ED8;
}

.dl-status--completed[b-r03uio3z1c] {
    background: #DCFCE7;
    color: #166534;
}

.dl-status--failed[b-r03uio3z1c] {
    background: #FEE2E2;
    color: #B91C1C;
}

.dl-status__spinner[b-r03uio3z1c] {
    width: 10px;
    height: 10px;
    border: 1.5px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: dl-spin-b-r03uio3z1c 0.8s linear infinite;
}

@keyframes dl-spin-b-r03uio3z1c {
    to { transform: rotate(360deg); }
}

.dl-inserted[b-r03uio3z1c] {
    font-size: 12px;
    color: #0F172A;
    font-weight: 500;
    flex-shrink: 0;
    min-width: 56px;
    text-align: right;
}

.dl-inserted--dim[b-r03uio3z1c] {
    color: #CBD5E1;
    font-weight: 400;
}

.dl-poll-error[b-r03uio3z1c] {
    padding: 8px 10px;
    border-radius: 6px;
    background: #FEF3C7;
    color: #92400E;
    font-size: 12.5px;
}

/* ─── Footer ────────────────────────────────────────────────────────────── */
.dl-foot[b-r03uio3z1c] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.dl-foot__summary[b-r03uio3z1c] {
    margin-right: auto;
    font-size: 12.5px;
    color: #64748B;
}

.dl-foot__live[b-r03uio3z1c] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dl-foot__pulse[b-r03uio3z1c] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2563EB;
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4);
    animation: dl-pulse-b-r03uio3z1c 1.4s ease-out infinite;
}

@keyframes dl-pulse-b-r03uio3z1c {
    0%   { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.45); }
    70%  { box-shadow: 0 0 0 10px rgba(37, 99, 235, 0);  }
    100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);    }
}
/* /Components/Shared/FeedbackModal.razor.rz.scp.css */
/* Chrome da modal (.modal-backdrop / .modal / .modal__head / .modal__foot)
   vem do wwwroot/css/modal.css. Aqui só o que é específico do feedback. */

.modal--feedback[b-n6vdwccra0] {
    width: min(560px, 100%);
}

.feedback__body[b-n6vdwccra0] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.feedback__mensagem[b-n6vdwccra0] {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #475569;
}

.feedback__texto[b-n6vdwccra0] {
    width: 100%;
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
}

.feedback__contador[b-n6vdwccra0] {
    align-self: flex-end;
    font-size: 11px;
    color: #94A3B8;
}

.feedback__rodape[b-n6vdwccra0] {
    margin: 0;
    font-size: 12px;
    color: #92400E;
    background: #FEF3C7;
    border: 1px solid #FCD34D;
    border-radius: 8px;
    padding: 8px 10px;
}

/* O rodapé de botões precisa alinhar a recusa à esquerda e o resto à direita —
   o .modal__foot base é justify-content: flex-end, então o spacer empurra. */
.feedback__foot[b-n6vdwccra0] {
    flex-wrap: wrap;
}

.feedback__foot-spacer[b-n6vdwccra0] {
    flex: 1 1 auto;
}

/* "Não quero colaborar": vermelho, mas discreto (outline) — é uma saída
   legítima, não uma ação destrutiva que mereça preenchimento sólido. */
.feedback__btn-recusar[b-n6vdwccra0] {
    background: transparent;
    border: 1px solid #FCA5A5;
    color: #B91C1C;
}

.feedback__btn-recusar:hover:not(:disabled)[b-n6vdwccra0] {
    background: #FEF2F2;
    border-color: #F87171;
}

.feedback__btn-recusar:disabled[b-n6vdwccra0] {
    opacity: .6;
    cursor: not-allowed;
}

/* O .btn global não tem estado desabilitado — e aqui ele importa: o "Enviar"
   nasce desabilitado e só acende quando o usuário escreve. */
.modal--feedback .btn:disabled[b-n6vdwccra0] {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 520px) {
    .feedback__foot[b-n6vdwccra0] {
        gap: 8px;
    }

    .feedback__foot-spacer[b-n6vdwccra0] {
        flex-basis: 100%;
    }
}
/* /Components/Shared/FilterMultiSelect.razor.rz.scp.css */
.fms[b-q7i9b23wue] {
    position: relative;
}

.fms__box[b-q7i9b23wue] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: center;
    min-height: 38px;
    padding: 5px 8px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: #fff;
}

.fms--disabled .fms__box[b-q7i9b23wue] {
    background: #F8FAFC;
}

.fms__chip[b-q7i9b23wue] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 2px 4px 2px 8px;
    background: #EFF6FF;
    color: #1D4ED8;
    border-radius: 6px;
    font-size: 12px;
}

.fms__chip-label[b-q7i9b23wue] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fms__chip-x[b-q7i9b23wue] {
    border: none;
    background: none;
    cursor: pointer;
    color: #1D4ED8;
    font-size: 14px;
    line-height: 1;
    padding: 0 3px;
    border-radius: 4px;
}

.fms__chip-x:hover[b-q7i9b23wue] {
    background: #DBEAFE;
}

.fms__chip-x:disabled[b-q7i9b23wue] {
    cursor: not-allowed;
    opacity: 0.5;
}

.fms__input[b-q7i9b23wue] {
    flex: 1;
    min-width: 90px;
    border: none;
    outline: none;
    background: transparent;
    padding: 4px 2px;
    font-size: 13px;
    font-family: var(--font-family);
    color: var(--color-text-primary);
}

.fms__dropdown[b-q7i9b23wue] {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 30;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    max-height: 260px;
    overflow-y: auto;
}

.fms__list[b-q7i9b23wue] {
    list-style: none;
    margin: 0;
    padding: 4px;
}

.fms__opt[b-q7i9b23wue] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}

.fms__opt:hover[b-q7i9b23wue] {
    background: #F1F5F9;
}

.fms__opt--sel[b-q7i9b23wue] {
    color: #1D4ED8;
    font-weight: 500;
}

.fms__check[b-q7i9b23wue] {
    width: 14px;
    flex-shrink: 0;
    color: #2563EB;
    font-size: 12px;
}

.fms__opt-label[b-q7i9b23wue] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fms__empty[b-q7i9b23wue],
.fms__more[b-q7i9b23wue] {
    padding: 10px 12px;
    font-size: 12px;
    color: var(--color-text-secondary);
}

.fms__more[b-q7i9b23wue] {
    border-top: 1px solid var(--color-border);
}
/* /Components/Shared/HistoricoLigacoesModal.razor.rz.scp.css */
/* Histórico de ligações do agente (item 32283).

   O chrome da modal (.modal-backdrop, .modal, .modal__head, .modal__close,
   .modal__error, .input, .spinner) vem do global (wwwroot/css/modal.css e
   app.css). Aqui só o que é desta tela — as classes .hist__* não existem em
   lugar nenhum fora deste arquivo, então não há a disputa scoped x global
   descrita no CLAUDE.md. A exceção é .modal--historico, que sobrescreve a
   largura padrão por especificidade composta (.modal.modal--historico). */

.modal.modal--historico[b-y75by88ubv] {
    width: min(1100px, 96vw);
    max-width: 1100px;
    /* Sete colunas de dados pedem largura; a altura acompanha pra a tabela
       render o máximo de linhas sem a modal encostar nas bordas da viewport. */
    min-height: min(560px, 85vh);
    max-height: 88vh;
}

.hist__body[b-y75by88ubv] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 20px 12px;
    /* Flex item que precisa encolher pra o scroll morar na tabela, não aqui. */
    min-height: 0;
    overflow: hidden;
}

/* ── Filtros ─────────────────────────────────────────────────────────────── */

.hist__filtros[b-y75by88ubv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

.hist__periodo[b-y75by88ubv] {
    display: inline-flex;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    overflow: hidden;
}

.hist__periodo-btn[b-y75by88ubv] {
    border: 0;
    background: #fff;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    cursor: pointer;
    transition: background .12s ease, color .12s ease;
}

.hist__periodo-btn + .hist__periodo-btn[b-y75by88ubv] {
    border-left: 1px solid #E2E8F0;
}

.hist__periodo-btn:hover:not(:disabled)[b-y75by88ubv] {
    background: #F1F5F9;
}

.hist__periodo-btn--ativo[b-y75by88ubv] {
    background: #0F172A;
    color: #fff;
}

.hist__periodo-btn--ativo:hover:not(:disabled)[b-y75by88ubv] {
    background: #0F172A;
}

.hist__periodo-btn:disabled[b-y75by88ubv] {
    opacity: .55;
    cursor: default;
}

.hist__busca[b-y75by88ubv] {
    flex: 1;
    min-width: 240px;
    max-width: 380px;
}

/* ── Tabela ──────────────────────────────────────────────────────────────── */

/* Único container de scroll da modal: vertical pelas linhas, horizontal pelas
   sete colunas em telas estreitas. min-height:0 é o que permite encolher
   dentro do flex e fazer a barra aparecer aqui em vez de esticar o body. */
.hist__tabela-wrap[b-y75by88ubv] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid #EEF0F3;
    border-radius: 10px;
    background: #fff;
}

.hist__tabela[b-y75by88ubv] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.hist__tabela thead th[b-y75by88ubv] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #F8FAFC;
    border-bottom: 1px solid #E2E8F0;
    padding: 9px 12px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748B;
    white-space: nowrap;
}

.hist__tabela tbody td[b-y75by88ubv] {
    padding: 8px 12px;
    border-bottom: 1px solid #F1F5F9;
    color: #0F172A;
    vertical-align: top;
}

.hist__tabela tbody tr:last-child td[b-y75by88ubv] {
    border-bottom: 0;
}

.hist__tabela tbody tr:hover td[b-y75by88ubv] {
    background: #F8FAFC;
}

.hist__col--nowrap[b-y75by88ubv] {
    white-space: nowrap;
}

/* Atalho da coluna CNPJ → /consulta-cnpj/{cnpj}. Sublinhado pontilhado em vez
   de contínuo: a tabela tem muita linha e o azul cheio de link viraria ruído
   numa coluna inteira. O sublinhado firma no hover, quando o alvo é o item. */
.hist__cnpj-link[b-y75by88ubv] {
    color: #1D4ED8;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
    cursor: pointer;
}

.hist__cnpj-link:hover[b-y75by88ubv] {
    text-decoration-style: solid;
}

.hist__cnpj-link:focus-visible[b-y75by88ubv] {
    outline: 2px solid #1D4ED8;
    outline-offset: 2px;
    border-radius: 3px;
}

.hist__col--num[b-y75by88ubv] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── Estados e avisos ────────────────────────────────────────────────────── */

.hist__estado[b-y75by88ubv] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 16px;
    color: #64748B;
    font-size: 13px;
}

.hist__estado--vazio[b-y75by88ubv] {
    padding: 40px 16px;
}

/* Teto de linhas atingido — o agente precisa saber que a lista está cortada,
   senão lê parcial como se fosse tudo. */
.hist__aviso[b-y75by88ubv] {
    margin: 0;
    padding: 8px 12px;
    border-radius: 8px;
    background: #FEF3C7;
    border: 1px solid #FCD34D;
    color: #92400E;
    font-size: 12px;
    flex-shrink: 0;
}

.hist__rodape[b-y75by88ubv] {
    margin: 0;
    text-align: right;
    font-size: 12px;
    color: #94A3B8;
    flex-shrink: 0;
}
/* /Components/Shared/LogDetalheModal.razor.rz.scp.css */
/* Linha do tempo técnica do "Detalhar" (tela de análise de logs do suporte).
   O chrome do modal (.modal-backdrop/.modal/.modal__head) vem do app.css
   global; aqui só o conteúdo. */

[b-94z0w920zk] .modal--log {
    width: min(860px, 96vw);
    max-height: 88vh;
    display: flex;
    flex-direction: column;
}

.ld-body[b-94z0w920zk] {
    overflow-y: auto;
    padding: 16px 20px;
}

.ld-loading[b-94z0w920zk],
.ld-empty[b-94z0w920zk] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    text-align: center;
    padding: 40px 20px;
    color: #64748B;
    font-size: 14px;
}

.ld-empty strong[b-94z0w920zk] { color: #0F172A; }

/* Dados do evento (dimensões do jsonb) */
.ld-evento[b-94z0w920zk] {
    margin-bottom: 16px;
    padding: 12px 14px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
}

.ld-evento__titulo[b-94z0w920zk] {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #475569;
}

.ld-evento__lista[b-94z0w920zk] {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 8px 16px;
}

.ld-evento__item dt[b-94z0w920zk] {
    font-size: 11px;
    color: #64748B;
}

.ld-evento__item dd[b-94z0w920zk] {
    margin: 0;
    font-size: 13px;
    color: #0F172A;
    word-break: break-word;
}

/* Timeline */
.ld-timeline[b-94z0w920zk] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ld-step[b-94z0w920zk] {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 12px;
    padding: 10px 0 10px 12px;
    border-left: 2px solid #E2E8F0;
}

.ld-step--http[b-94z0w920zk]      { border-left-color: #93C5FD; }
.ld-step--exception[b-94z0w920zk] { border-left-color: #FCA5A5; background: #FEF2F2; }
.ld-step--step[b-94z0w920zk]      { border-left-color: #CBD5E1; }

.ld-step__time[b-94z0w920zk] {
    font-size: 11px;
    color: #64748B;
    font-variant-numeric: tabular-nums;
    padding-top: 2px;
}

.ld-step__body[b-94z0w920zk] { min-width: 0; }

/* HTTP */
.ld-http[b-94z0w920zk] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.ld-http__method[b-94z0w920zk] {
    font-weight: 700;
    font-size: 12px;
    color: #0F172A;
}

.ld-http__dur[b-94z0w920zk],
.ld-http__plat[b-94z0w920zk] {
    font-size: 11px;
    color: #64748B;
}

.ld-status[b-94z0w920zk] {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.ld-status--ok[b-94z0w920zk]     { background: #DCFCE7; color: #166534; }
.ld-status--aviso[b-94z0w920zk]  { background: #FEF3C7; color: #92400E; }
.ld-status--erro[b-94z0w920zk]   { background: #FEE2E2; color: #991B1B; }
.ld-status--neutro[b-94z0w920zk] { background: #F1F5F9; color: #475569; }

/* URL pode ser longa: quebra em qualquer ponto em vez de estourar o modal. */
.ld-url[b-94z0w920zk] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    color: #334155;
    word-break: break-all;
}

.ld-erro-linha[b-94z0w920zk] {
    margin-top: 4px;
    font-size: 12px;
    color: #B91C1C;
}

/* Exceção */
.ld-exc__type[b-94z0w920zk] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px;
    font-weight: 700;
    color: #991B1B;
    word-break: break-all;
}

.ld-exc__msg[b-94z0w920zk] {
    font-size: 13px;
    color: #0F172A;
    margin-top: 2px;
}

.ld-stepmsg[b-94z0w920zk] {
    font-size: 13px;
    color: #0F172A;
}

/* Blocos recolhíveis (corpo da resposta / stack) */
.ld-details[b-94z0w920zk] { margin-top: 6px; }

.ld-details > summary[b-94z0w920zk] {
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    color: #1D4ED8;
    user-select: none;
}

.ld-pre[b-94z0w920zk] {
    margin: 6px 0 0;
    padding: 10px;
    background: #0F172A;
    color: #E2E8F0;
    border-radius: 8px;
    font-size: 11.5px;
    line-height: 1.5;
    max-height: 260px;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
}

.ld-corr[b-94z0w920zk] {
    font-size: 11px;
    color: #64748B;
}

.ld-corr code[b-94z0w920zk] {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px;
    color: #475569;
}
/* /Components/Shared/MoverParaTimeModal.razor.rz.scp.css */
.tam-target[b-ic8wh2yw4g] {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--color-text-secondary);
}

.tam-list[b-ic8wh2yw4g] {
    margin-top: 10px;
    max-height: 340px;
    overflow-y: auto;
    border: 1px solid var(--color-border);
    border-radius: 8px;
}

.tam-empty[b-ic8wh2yw4g] {
    padding: 18px 14px;
    text-align: center;
    color: var(--color-text-secondary);
    font-size: 13px;
}

.tam-row[b-ic8wh2yw4g] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 12px;
    background: transparent;
    border: none;
    border-bottom: 1px solid #F1F5F9;
    text-align: left;
    cursor: pointer;
}

.tam-row:last-child[b-ic8wh2yw4g] {
    border-bottom: none;
}

.tam-row:hover:not(:disabled)[b-ic8wh2yw4g] {
    background: #F8FAFC;
}

.tam-row--sel[b-ic8wh2yw4g] {
    background: #EFF6FF;
}

.tam-row--sel:hover[b-ic8wh2yw4g] {
    background: #EFF6FF;
}

.tam-row:disabled[b-ic8wh2yw4g] {
    cursor: default;
    opacity: 0.7;
}

.tam-row__count[b-ic8wh2yw4g] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    min-width: 34px;
    justify-content: center;
    padding: 2px 6px;
    border-radius: 999px;
    background: #F1F5F9;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
}

.tam-row__count-num[b-ic8wh2yw4g] {
    line-height: 1;
}

.tam-row__count-ic[b-ic8wh2yw4g] {
    font-size: 10px;
    line-height: 1;
}

.tam-row--sel .tam-row__count[b-ic8wh2yw4g] {
    background: #DBEAFE;
    color: #1D4ED8;
}

.tam-row__avatar[b-ic8wh2yw4g] {
    flex: 0 0 auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #E2E8F0;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

.tam-row__info[b-ic8wh2yw4g] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1 1 auto;
}

.tam-row__name[b-ic8wh2yw4g] {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Badge "autogestão" — candidato é o próprio agente (só aparece para Admin). */
.tam-row__self[b-ic8wh2yw4g] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: 999px;
    background: #EDE9FE;
    color: #6D28D9;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    vertical-align: middle;
}

.tam-row__email[b-ic8wh2yw4g] {
    font-size: 11.5px;
    color: var(--color-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tam-row__check[b-ic8wh2yw4g] {
    flex: 0 0 auto;
    color: #2563EB;
    font-weight: 700;
}
/* /Components/Shared/PoliticasUsoModal.razor.rz.scp.css */
/* Modal das Políticas de Uso. Autocontido: aparece sobre a tela de login (sem
   sessão, sem layout do portal). Prefixo pu- em todas as classes pra não herdar
   nem sobrescrever as regras globais de .modal* do app.css. */

.pu-backdrop[b-1ix9fw0cxl] {
    position: fixed;
    inset: 0;
    z-index: 4000;              /* acima de tudo do login */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(11, 26, 46, 0.55);
}

.pu-modal[b-1ix9fw0cxl] {
    display: flex;
    flex-direction: column;
    width: min(680px, 100%);
    max-height: min(80vh, 720px);   /* o corpo rola; head/foot ficam fixos */
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.24);
    overflow: hidden;
}

.pu-head[b-1ix9fw0cxl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    border-bottom: 1px solid #EEF0F3;
}

.pu-head__title[b-1ix9fw0cxl] {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0B1A2E;
}

.pu-close[b-1ix9fw0cxl] {
    border: none;
    background: transparent;
    font-size: 16px;
    line-height: 1;
    padding: 6px 8px;
    border-radius: 8px;
    color: #64748B;
    cursor: pointer;
}

.pu-close:hover[b-1ix9fw0cxl] { background: #F1F5F9; color: #0F172A; }

/* Único container de scroll do modal — min-height:0 pro flex item encolher. */
.pu-body[b-1ix9fw0cxl] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 22px;
    font-size: 13.5px;
    line-height: 1.6;
    color: #334155;
}

.pu-intro[b-1ix9fw0cxl] {
    margin: 0 0 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #F1F5F9;
    color: #475569;
}

.pu-sec[b-1ix9fw0cxl] { margin-bottom: 18px; }

.pu-sec h3[b-1ix9fw0cxl] {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 700;
    color: #0F172A;
}

.pu-sec p[b-1ix9fw0cxl] { margin: 0 0 8px; }

.pu-sec ul[b-1ix9fw0cxl] {
    margin: 8px 0 8px;
    padding-left: 20px;
}

.pu-sec li[b-1ix9fw0cxl] { margin-bottom: 6px; }

/* Seção da proibição de automação — é a regra que motiva a política, então
   ganha destaque visual em vez de ficar diluída no meio do texto. */
.pu-sec--destaque[b-1ix9fw0cxl] {
    background: #FEF2F2;
    border: 1px solid #FEE2E2;
    border-left: 3px solid #EF4444;
    border-radius: 10px;
    padding: 14px 16px;
}

.pu-sec--destaque h3[b-1ix9fw0cxl] { color: #B91C1C; }

.pu-atualizacao[b-1ix9fw0cxl] {
    margin: 20px 0 0;
    padding-top: 14px;
    border-top: 1px solid #F1F5F9;
    font-size: 12px;
    color: #94A3B8;
}

.pu-foot[b-1ix9fw0cxl] {
    display: flex;
    justify-content: flex-end;
    padding: 14px 22px;
    border-top: 1px solid #EEF0F3;
    background: #FAFBFC;
}

.pu-btn[b-1ix9fw0cxl] {
    padding: 9px 20px;
    border: 1px solid #E2E8F0;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.pu-btn:hover[b-1ix9fw0cxl] { background: #F8FAFC; }

@media (max-width: 600px) {
    .pu-backdrop[b-1ix9fw0cxl] { padding: 0; }
    .pu-modal[b-1ix9fw0cxl] {
        width: 100%;
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
    }
}
/* /Components/Shared/ProspectionStatsModal.razor.rz.scp.css */
/* =============================================================================
   Modal de estatísticas de uma lista (Prospection)
   ===========================================================================*/

/* Modal larga — override do .modal base (min(520px)) via especificidade scoped */
.modal--stats[b-dz6p3znb97] {
    width: min(1100px, 96vw);
    max-height: 92vh;
}

.stats__list-name[b-dz6p3znb97] {
    color: #2563EB;
}

.stats__body[b-dz6p3znb97] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 0;
}

/* ─── Filtros ────────────────────────────────────────────────────────────── */
.stats__filters[b-dz6p3znb97] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.stats__period[b-dz6p3znb97] {
    display: inline-flex;
    background: #F1F5F9;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}

.stats__period-btn[b-dz6p3znb97] {
    border: 0;
    background: transparent;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.12s ease;
}

.stats__period-btn:hover:not(:disabled)[b-dz6p3znb97] {
    color: #1E293B;
}

.stats__period-btn--active[b-dz6p3znb97] {
    background: #fff;
    color: #2563EB;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.stats__period-btn:disabled[b-dz6p3znb97] {
    opacity: 0.6;
    cursor: not-allowed;
}

.stats__user-filter[b-dz6p3znb97] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.stats__user-filter label[b-dz6p3znb97] {
    font-size: 12px;
    font-weight: 500;
    color: #64748B;
}

.stats__user-filter .input[b-dz6p3znb97] {
    height: 34px;
    min-width: 200px;
}

/* ─── Layout 2/3 + 1/3 ───────────────────────────────────────────────────── */
.stats__layout[b-dz6p3znb97] {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    min-height: 0;
}

@media (max-width: 860px) {
    .stats__layout[b-dz6p3znb97] { grid-template-columns: 1fr; }
}

.stats__main[b-dz6p3znb97],
.stats__side[b-dz6p3znb97] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

/* ─── Abas do gráfico ────────────────────────────────────────────────────── */
.stats__chart-tabs[b-dz6p3znb97] {
    display: flex;
    gap: 4px;
    border-bottom: 1px solid #EEF0F3;
}

.stats__tab[b-dz6p3znb97] {
    border: 0;
    background: transparent;
    padding: 8px 14px 10px;
    font-size: 13px;
    font-weight: 500;
    color: #64748B;
    cursor: pointer;
    font-family: inherit;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.12s ease, border-color 0.12s ease;
}

.stats__tab:hover[b-dz6p3znb97] {
    color: #1E293B;
}

.stats__tab--active[b-dz6p3znb97] {
    color: #2563EB;
    border-bottom-color: #2563EB;
}

/* ─── Gráfico ────────────────────────────────────────────────────────────── */
.stats__chart-wrap[b-dz6p3znb97] {
    position: relative;
    height: 280px;
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 10px;
    padding: 12px;
}

.stats__chart-wrap canvas[b-dz6p3znb97] {
    width: 100% !important;
    height: 100% !important;
}

/* ─── Grid de execuções ──────────────────────────────────────────────────── */
.stats__grid-section h4[b-dz6p3znb97],
.stats__ranking h4[b-dz6p3znb97] {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 600;
    color: #0F172A;
}

.stats__table[b-dz6p3znb97] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    border: 1px solid #EEF0F3;
    border-radius: 8px;
    overflow: hidden;
}

.stats__table thead[b-dz6p3znb97] {
    background: #F8FAFC;
}

.stats__table thead th[b-dz6p3znb97] {
    text-align: left;
    padding: 8px 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748B;
}

.stats__table tbody tr[b-dz6p3znb97] {
    border-top: 1px solid #F1F5F9;
}

.stats__table tbody td[b-dz6p3znb97] {
    padding: 8px 10px;
    color: #1E293B;
}

.stats__num[b-dz6p3znb97] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.stats__center[b-dz6p3znb97] {
    text-align: center;
}

/* ─── Cards quantitativos ────────────────────────────────────────────────── */
.stats__cards[b-dz6p3znb97] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.stats__card[b-dz6p3znb97] {
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stats__card-value[b-dz6p3znb97] {
    font-size: 22px;
    font-weight: 700;
    color: #0F172A;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.stats__card-label[b-dz6p3znb97] {
    font-size: 11px;
    color: #64748B;
    font-weight: 500;
}

.stats__last-exec[b-dz6p3znb97] {
    font-size: 11px;
    color: #94A3B8;
    padding: 0 2px;
}

.stats__last-exec strong[b-dz6p3znb97] {
    color: #475569;
    font-weight: 600;
}

/* ─── Ranking ────────────────────────────────────────────────────────────── */
.stats__ranking[b-dz6p3znb97] {
    background: #fff;
    border: 1px solid #EEF0F3;
    border-radius: 10px;
    padding: 12px 14px;
}

.stats__rank-list[b-dz6p3znb97] {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: rank;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.stats__rank-list li[b-dz6p3znb97] {
    counter-increment: rank;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 4px;
    border-top: 1px solid #F8FAFC;
}

.stats__rank-list li:first-child[b-dz6p3znb97] {
    border-top: 0;
}

.stats__rank-list li[b-dz6p3znb97]::before {
    content: counter(rank);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #F1F5F9;
    color: #64748B;
    font-size: 10px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.stats__rank-list li:nth-child(1)[b-dz6p3znb97]::before { background: #FEF3C7; color: #B45309; }
.stats__rank-list li:nth-child(2)[b-dz6p3znb97]::before { background: #E2E8F0; color: #475569; }
.stats__rank-list li:nth-child(3)[b-dz6p3znb97]::before { background: #FDE8D7; color: #C2410C; }

.stats__rank-name[b-dz6p3znb97] {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    color: #1E293B;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats__rank-value[b-dz6p3znb97] {
    font-size: 12px;
    font-weight: 600;
    color: #0F172A;
    font-variant-numeric: tabular-nums;
}

/* ─── Estados ────────────────────────────────────────────────────────────── */
.stats__loading[b-dz6p3znb97] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 40px;
    justify-content: center;
    color: #64748B;
    font-size: 13px;
}

.stats__loading .spinner[b-dz6p3znb97] {
    width: 22px;
    height: 22px;
    border: 3px solid #E2E8F0;
    border-top-color: #2563EB;
    border-radius: 50%;
}

.stats__empty[b-dz6p3znb97] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #94A3B8;
    font-size: 13px;
    font-style: italic;
}

.stats__empty--sm[b-dz6p3znb97] {
    height: auto;
    padding: 16px;
}
/* /Components/Shared/SuporteModal.razor.rz.scp.css */
/* Chrome da modal vem do wwwroot/css/modal.css. Aqui só as duas opções. */

.modal--suporte[b-7mrgxfcovb] {
    width: min(560px, 100%);
}

.suporte__intro[b-7mrgxfcovb] {
    margin: 0 0 16px;
    font-size: 14px;
    color: #475569;
}

.suporte__opcoes[b-7mrgxfcovb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Mesmo bloco visual pro <button> e pro <a> — os dois são "um ícone grande com
   rótulo", e a diferença de tag é só semântica (um age, o outro navega). */
.suporte__opcao[b-7mrgxfcovb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 20px 16px;
    background: #fff;
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    color: inherit;
    font-family: inherit;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.suporte__opcao:hover[b-7mrgxfcovb] {
    border-color: #CBD5E1;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.suporte__icone[b-7mrgxfcovb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
}

.suporte__icone svg[b-7mrgxfcovb] {
    width: 30px;
    height: 30px;
}

.suporte__icone--fale[b-7mrgxfcovb] {
    background: #E0F2FE;
    color: #0369A1;
}

.suporte__icone--zap[b-7mrgxfcovb] {
    background: #DCFCE7;
    color: #16A34A;
}

.suporte__opcao-titulo[b-7mrgxfcovb] {
    font-size: 15px;
    font-weight: 600;
    color: #1E293B;
}

.suporte__opcao-desc[b-7mrgxfcovb] {
    font-size: 12px;
    line-height: 1.45;
    color: #64748B;
}

@media (max-width: 520px) {
    .suporte__opcoes[b-7mrgxfcovb] {
        grid-template-columns: 1fr;
    }

    .suporte__opcao[b-7mrgxfcovb] {
        flex-direction: row;
        align-items: center;
        text-align: left;
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "icone titulo"
            "icone desc";
        column-gap: 14px;
        row-gap: 2px;
    }

    .suporte__icone[b-7mrgxfcovb] { grid-area: icone; width: 44px; height: 44px; }
    .suporte__opcao-titulo[b-7mrgxfcovb] { grid-area: titulo; align-self: end; }
    .suporte__opcao-desc[b-7mrgxfcovb] { grid-area: desc; align-self: start; }
}
/* /Components/Shared/UsageMetricsBoard.razor.rz.scp.css */
/* =============================================================================
   UsageMetricsBoard — dois skins sobre a mesma marcação.

   Todos os valores de cor abaixo saíram do validador de dataviz, rodado contra
   as superfícies REAIS de cada skin (#FFFFFF no portal, #0F1E33 na TV):

     categórica (linha)  → azul + aqua ....... PASS nos dois modos
     ordinal  (fluxo)    → azul 250/350/450/600 (light) e 300/400/500/600 (dark)
                           ... PASS: monotônica, ΔL >= .06, ponta clara >= 2:1

   Único WARN: o aqua fica em 2.82:1 sobre o branco (< 3:1). A regra de alívio
   exige rótulo visível — por isso as duas séries têm legenda E rótulo direto na
   ponta, e a identidade nunca depende só da cor.

   Texto NUNCA veste cor de série — só tokens de tinta (ink / ink2 / muted).
   ============================================================================= */

.umb[b-y9ogklm30u] {
    --umb-surface: #FFFFFF;
    --umb-ink: #1E293B;
    --umb-ink2: #64748B;
    --umb-muted: #94A3B8;
    --umb-grid: #EEF0F3;
    --umb-track: #F1F5F9;
    --umb-border: rgba(11, 11, 11, .10);
    --umb-shadow: 0 1px 2px rgba(15, 30, 51, .06);

    /* séries do gráfico de linha (categórica, 2 slots) */
    --umb-s1: #2a78d6;
    --umb-s2: #1baf7a;

    /* camadas do fluxo (rampa ordinal azul, 4 passos) */
    --umb-l0: #86b6ef;
    --umb-l1: #5598e7;
    --umb-l2: #2a78d6;
    --umb-l3: #184f95;

    --umb-hero: clamp(52px, 5.2vw, 84px);
    --umb-kpi: clamp(26px, 2.2vw, 36px);

    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
    color: var(--umb-ink);
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Skin kiosk. Não é um "flip" automático do claro: são passos escolhidos e
   validados contra a superfície escura. */
.umb--tv[b-y9ogklm30u] {
    --umb-surface: #0F1E33;
    --umb-ink: #FFFFFF;
    --umb-ink2: #C7D2E1;
    --umb-muted: #8FA3BC;
    --umb-grid: #1E3A5F;
    --umb-track: #172D4A;
    --umb-border: rgba(255, 255, 255, .10);
    --umb-shadow: none;

    --umb-s1: #3987e5;
    --umb-s2: #199e70;

    --umb-l0: #6da7ec;
    --umb-l1: #3987e5;
    --umb-l2: #256abf;
    --umb-l3: #184f95;

    --umb-hero: clamp(80px, 7vw, 132px);
    --umb-kpi: clamp(38px, 3vw, 56px);

    gap: 20px;
}

/* ── Cartões ─────────────────────────────────────────────────────────────── */

.umb__card[b-y9ogklm30u] {
    background: var(--umb-surface);
    border: 1px solid var(--umb-border);
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: var(--umb-shadow);
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.umb--tv .umb__card[b-y9ogklm30u] {
    padding: 20px 24px;
    border-radius: 16px;
}

.umb__hero[b-y9ogklm30u] { grid-column: span 3; justify-content: center; gap: 6px; }
.umb__kpi[b-y9ogklm30u] { grid-column: span 2; justify-content: center; gap: 4px; }
.umb__serie[b-y9ogklm30u] { grid-column: span 9; }
.umb__fluxo[b-y9ogklm30u] { grid-column: 1 / -1; }
.umb__funil[b-y9ogklm30u] { grid-column: span 3; }
.umb__recursos[b-y9ogklm30u] { grid-column: span 4; }
.umb__usuarios[b-y9ogklm30u] { grid-column: span 5; }

@media (max-width: 1240px) {
    .umb__hero[b-y9ogklm30u] { grid-column: span 6; grid-row: auto; }
    .umb__kpi[b-y9ogklm30u] { grid-column: span 6; }
    .umb__serie[b-y9ogklm30u],
    .umb__funil[b-y9ogklm30u],
    .umb__recursos[b-y9ogklm30u],
    .umb__usuarios[b-y9ogklm30u] { grid-column: 1 / -1; }
}

/* ── Herói + KPIs ────────────────────────────────────────────────────────── */

/* Figuras proporcionais (sem tabular-nums): em corpo grande, "121" com dígitos
   de largura fixa fica frouxo. tabular-nums só nas colunas das tabelas. */
.umb__hero-value[b-y9ogklm30u] {
    font-size: var(--umb-hero);
    font-weight: 650;
    line-height: .98;
    letter-spacing: -.02em;
    color: var(--umb-ink);
}

.umb__hero-label[b-y9ogklm30u] {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--umb-ink2);
}

.umb__hero-sub[b-y9ogklm30u],
.umb__kpi-sub[b-y9ogklm30u] { font-size: 12px; color: var(--umb-muted); }

.umb--tv .umb__hero-label[b-y9ogklm30u] { font-size: 16px; }
.umb--tv .umb__hero-sub[b-y9ogklm30u],
.umb--tv .umb__kpi-sub[b-y9ogklm30u] { font-size: 15px; }

.umb__kpi-label[b-y9ogklm30u] { font-size: 12px; font-weight: 600; color: var(--umb-ink2); }
.umb__kpi-value[b-y9ogklm30u] { font-size: var(--umb-kpi); font-weight: 650; line-height: 1.05; }
.umb--tv .umb__kpi-label[b-y9ogklm30u] { font-size: 15px; }

/* ── Cabeçalho de cartão ─────────────────────────────────────────────────── */

.umb__head[b-y9ogklm30u] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.umb__title[b-y9ogklm30u] { font-size: 14px; font-weight: 650; margin: 0; color: var(--umb-ink); }
.umb__caption[b-y9ogklm30u] { font-size: 12px; color: var(--umb-muted); }
.umb--tv .umb__title[b-y9ogklm30u] { font-size: 19px; }
.umb--tv .umb__caption[b-y9ogklm30u] { font-size: 14px; }

.umb__empty[b-y9ogklm30u] {
    margin: auto 0;
    padding: 24px 0;
    text-align: center;
    font-size: 13px;
    color: var(--umb-muted);
}

/* ── Legenda (sempre presente com 2+ séries) ─────────────────────────────── */

.umb__legend[b-y9ogklm30u] { display: flex; gap: 14px; }

.umb__legend-item[b-y9ogklm30u] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--umb-ink2); /* texto em tinta, nunca na cor da série */
}

.umb--tv .umb__legend-item[b-y9ogklm30u] { font-size: 14px; }

.umb__swatch[b-y9ogklm30u] { width: 14px; height: 3px; border-radius: 2px; display: inline-block; }
.umb__swatch--s1[b-y9ogklm30u] { background: var(--umb-s1); }
.umb__swatch--s2[b-y9ogklm30u] { background: var(--umb-s2); }

/* ── Gráfico de linha ────────────────────────────────────────────────────── */

.umb__chart[b-y9ogklm30u] { width: 100%; height: auto; display: block; overflow: visible; }

/* Hairline sólida, um passo fora da superfície. Nunca tracejada. */
.umb__grid[b-y9ogklm30u] { stroke: var(--umb-grid); stroke-width: 1; }

.umb__tick[b-y9ogklm30u] {
    fill: var(--umb-muted);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
}

.umb--tv .umb__tick[b-y9ogklm30u] { font-size: 13px; }

.umb__line[b-y9ogklm30u] { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.umb__line--s1[b-y9ogklm30u] { stroke: var(--umb-s1); }
.umb__line--s2[b-y9ogklm30u] { stroke: var(--umb-s2); }

.umb__area[b-y9ogklm30u] { fill: var(--umb-s1); opacity: .10; }

/* Anel na cor da superfície: mantém o ponto legível onde cruza a outra linha. */
.umb__dot[b-y9ogklm30u] { stroke: var(--umb-surface); stroke-width: 2; }
.umb__dot--s1[b-y9ogklm30u] { fill: var(--umb-s1); }
.umb__dot--s2[b-y9ogklm30u] { fill: var(--umb-s2); }

.umb__endlabel[b-y9ogklm30u] { font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.umb__endlabel--s1[b-y9ogklm30u] { fill: var(--umb-ink); }
.umb__endlabel--s2[b-y9ogklm30u] { fill: var(--umb-ink2); }
.umb--tv .umb__endlabel[b-y9ogklm30u] { font-size: 15px; }

/* Alvo de hover generoso — não o ponto de 8px. */
.umb__hit[b-y9ogklm30u] { fill: transparent; cursor: default; }

/* ── Mapa de fluxo — painel "fibra ótica" ────────────────────────────────────
   O painel é SEMPRE preto, nos dois skins: o conceito é um quadro de fibras
   apagadas com luzes correndo dentro. As cores das luzes são fixas (não seguem
   o tema) e foram validadas contra o preto: ciano/azul/fúcsia/âmbar, CVD pior
   par 44.3 (protan), contraste > 3:1 em todas.

   Desvio deliberado da banda de luminosidade do dark mode: essas cores são
   EMISSIVAS (luzes num painel preto), não preenchimentos sobre superfície —
   ficar acima da banda é o efeito desejado, e os cheques que protegem leitura
   (CVD, contraste) passam com folga.

   A ESPESSURA é uniforme e não codifica nada; o volume da rota vive no PULSO
   (velocidade + densidade, inline por aresta) e em --vol (fallback estático
   pro prefers-reduced-motion). O brilho vem de traços empilhados, NÃO de
   filter/feGaussianBlur — filtro SVG re-rasteriza a cada frame e derrete a GPU
   de um TV stick 24/7; stroke-dashoffset é composited, custo ~zero.
   ──────────────────────────────────────────────────────────────────────────── */

.umb__fiber[b-y9ogklm30u] {
    /* Luzes da fibra, por camada de origem da aresta. */
    --umb-f0: #22d3ee;   /* ciano  — Origem */
    --umb-f1: #2563eb;   /* azul   — Enriquecimento */
    --umb-f2: #f0abfc;   /* fúcsia — Acionamento */
    --umb-f3: #fbbf24;   /* âmbar  — Resultado */

    background: #05070D;
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 12px;
    padding: 10px 14px 4px;
}

/* max-height segura o painel: sem ela, width:100% num card de tela inteira
   escala o SVG junto e ele engole a viewport. preserveAspectRatio centraliza. */
.umb__flow[b-y9ogklm30u] {
    width: 100%;
    height: auto;
    max-height: 260px;
    display: block;
    margin: 0 auto;
}

.umb--tv .umb__flow[b-y9ogklm30u] { max-height: 320px; }

.umb__edge path[b-y9ogklm30u] { fill: none; stroke-linecap: round; }

.umb__edge-halo[b-y9ogklm30u] { stroke-width: 4; opacity: .07; }
.umb__edge-base[b-y9ogklm30u] { stroke-width: 1.4; opacity: .20; }

.umb__edge-pulse[b-y9ogklm30u] {
    stroke-width: 1.8;
    opacity: 1;
    /* dasharray e duration vêm inline por aresta (densidade/velocidade ∝ volume) */
    stroke-dashoffset: 100;
    animation: umb-pulse-b-y9ogklm30u linear infinite;
}

@keyframes umb-pulse-b-y9ogklm30u {
    from { stroke-dashoffset: 100; }
    to { stroke-dashoffset: 0; }
}

.umb__edge--l0 path[b-y9ogklm30u] { stroke: var(--umb-f0); }
.umb__edge--l1 path[b-y9ogklm30u] { stroke: var(--umb-f1); }
.umb__edge--l2 path[b-y9ogklm30u] { stroke: var(--umb-f2); }
.umb__edge--l3 path[b-y9ogklm30u] { stroke: var(--umb-f3); }

/* Nó: cartão apagado com contorno na cor da luz da camada; texto em tinta
   fixa clara (o painel é preto nos dois skins, os tokens do tema não valem aqui). */
.umb__node rect[b-y9ogklm30u] { fill: #0B1322; stroke: currentColor; stroke-width: 1.25; }
.umb__node--l0[b-y9ogklm30u] { color: var(--umb-f0); }
.umb__node--l1[b-y9ogklm30u] { color: var(--umb-f1); }
.umb__node--l2[b-y9ogklm30u] { color: var(--umb-f2); }
.umb__node--l3[b-y9ogklm30u] { color: var(--umb-f3); }
.umb__node.is-empty[b-y9ogklm30u] { opacity: .32; }

.umb__node-label[b-y9ogklm30u] { fill: #8A9BB4; font-size: 10px; font-weight: 500; }
.umb__node-value[b-y9ogklm30u] { fill: #FFFFFF; font-size: 14px; font-weight: 650; }
.umb--tv .umb__node-label[b-y9ogklm30u] { font-size: 10.5px; }
.umb--tv .umb__node-value[b-y9ogklm30u] { font-size: 15px; }

.umb__layer-label[b-y9ogklm30u] {
    fill: #5B6B82;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}

/* Sem movimento, o volume não pode sumir: a fibra acende estática com brilho
   proporcional ao volume da rota (--vol, inline por aresta). */
@media (prefers-reduced-motion: reduce) {
    .umb__edge-pulse[b-y9ogklm30u] { animation: none; opacity: 0; }
    .umb__edge-base[b-y9ogklm30u] { opacity: calc(.18 + .6 * var(--vol, 0)); stroke-width: 1.8; }
}

/* ── Tabela-espelho do fluxo (só no portal) ──────────────────────────────── */

.umb__table-view[b-y9ogklm30u] { margin-top: 12px; }

.umb__table-view summary[b-y9ogklm30u] {
    cursor: pointer;
    font-size: 12px;
    color: var(--umb-ink2);
    user-select: none;
}

/* ── Funil ───────────────────────────────────────────────────────────────── */

.umb__funil-rows[b-y9ogklm30u] { display: flex; flex-direction: column; gap: 14px; }

.umb__funil-head[b-y9ogklm30u] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.umb__funil-name[b-y9ogklm30u] { font-size: 12px; color: var(--umb-ink2); }
.umb__funil-value[b-y9ogklm30u] { font-size: 18px; font-weight: 650; font-variant-numeric: tabular-nums; }
.umb--tv .umb__funil-name[b-y9ogklm30u] { font-size: 15px; }
.umb--tv .umb__funil-value[b-y9ogklm30u] { font-size: 24px; }

.umb__funil-track[b-y9ogklm30u] {
    height: 12px;
    background: var(--umb-track);
    border-radius: 2px;
    overflow: hidden;
    margin-top: 4px;
}

.umb--tv .umb__funil-track[b-y9ogklm30u] { height: 18px; }

/* Ponta arredondada no fim do dado, quadrada na baseline. */
.umb__funil-fill[b-y9ogklm30u] { display: block; height: 100%; border-radius: 0 4px 4px 0; }

/* Estágios do funil = 3 passos da rampa ordinal (250 / 450 / 600). Ordem tem
   significado (fundo do funil = mais escuro), então rampa e não categórica. */
.umb__funil-fill--0[b-y9ogklm30u] { background: var(--umb-l0); }
.umb__funil-fill--1[b-y9ogklm30u] { background: var(--umb-l2); }
.umb__funil-fill--2[b-y9ogklm30u] { background: var(--umb-l3); }

.umb__funil-pct[b-y9ogklm30u] { font-size: 11px; color: var(--umb-muted); margin-top: 3px; }
.umb--tv .umb__funil-pct[b-y9ogklm30u] { font-size: 13px; }

/* ── Barras (recursos) ───────────────────────────────────────────────────── */

.umb__bars[b-y9ogklm30u] { display: flex; flex-direction: column; gap: 10px; }

.umb__bar-row[b-y9ogklm30u] {
    display: grid;
    grid-template-columns: minmax(90px, 34%) 1fr auto;
    align-items: center;
    gap: 10px;
}

.umb__bar-label[b-y9ogklm30u] {
    font-size: 12px;
    color: var(--umb-ink2);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.umb__bar-track[b-y9ogklm30u] { background: var(--umb-track); border-radius: 2px; height: 14px; }
.umb--tv .umb__bar-track[b-y9ogklm30u] { height: 20px; }

/* Série única → uma cor só. Nunca "mais escuro onde é maior": isso duplicaria o
   comprimento da barra na matiz e queimaria o único canal livre. */
.umb__bar-fill[b-y9ogklm30u] {
    display: block;
    height: 100%;
    background: var(--umb-l2);
    border-radius: 0 4px 4px 0;
}

.umb__bar-value[b-y9ogklm30u] {
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--umb-ink);
    min-width: 3ch;
    text-align: right;
}

.umb--tv .umb__bar-label[b-y9ogklm30u] { font-size: 15px; }
.umb--tv .umb__bar-value[b-y9ogklm30u] { font-size: 17px; }

/* ── Tabelas ─────────────────────────────────────────────────────────────── */

.umb__table[b-y9ogklm30u] { width: 100%; border-collapse: collapse; font-size: 13px; }

.umb__table th[b-y9ogklm30u] {
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--umb-muted);
    padding: 6px 8px;
    border-bottom: 1px solid var(--umb-border);
}

.umb__table td[b-y9ogklm30u] {
    padding: 7px 8px;
    border-bottom: 1px solid var(--umb-border);
    color: var(--umb-ink);
}

.umb__table tbody tr:last-child td[b-y9ogklm30u] { border-bottom: none; }

.umb__num[b-y9ogklm30u] { text-align: right; font-variant-numeric: tabular-nums; }

.umb__rank-name[b-y9ogklm30u] { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.umb__medal[b-y9ogklm30u] { width: 1.2em; display: inline-block; }

.umb--tv .umb__table[b-y9ogklm30u] { font-size: 16px; }
.umb--tv .umb__table th[b-y9ogklm30u] { font-size: 13px; }
.umb--tv .umb__table td[b-y9ogklm30u] { padding: 10px 8px; }

/* ── Modo fit (canvas lógico escalado ao viewport) ───────────────────────────
   O board vive num canvas de 1920px de largura escalado pelo usage-fit.js —
   nunca cria scroll. Consequências:

   • Grid com LINHAS FIXAS (o canvas tem altura conhecida); cards não crescem
     com o conteúdo — cortam (overflow hidden) em vez de empurrar a página.
   • SVGs param de ditar a própria altura (height:auto vira 100% + letterbox
     do preserveAspectRatio) — era o gráfico com width:100% que inflava tudo.
   • Fontes-fluido (vw) viram PX: dentro de canvas escalado, vw dobraria a
     escala (uma do viewport, outra do transform).
   • As media queries responsivas de cima medem o VIEWPORT, não o canvas; as
     regras daqui têm especificidade maior (.umb--fit .x) justamente pra
     vencê-las — o canvas é sempre 1920 por definição.

   Fica no FIM do arquivo de propósito: os vars de .umb--fit precisam vencer os
   de .umb--tv (mesma especificidade → ordem decide). */

.umb--fit[b-y9ogklm30u] {
    --umb-hero: 96px;
    --umb-kpi: 44px;

    height: 100%;
    grid-template-rows: 190px 350px minmax(0, 1fr);
    gap: 20px;
}

.umb--fit .umb__hero[b-y9ogklm30u]     { grid-row: 1; grid-column: span 3; }
.umb--fit .umb__kpi[b-y9ogklm30u]      { grid-row: 1; grid-column: span 2; }
.umb--fit .umb__serie[b-y9ogklm30u]    { grid-row: 2; grid-column: span 6; }
.umb--fit .umb__fluxo[b-y9ogklm30u]    { grid-row: 2; grid-column: span 6; }
.umb--fit .umb__funil[b-y9ogklm30u]    { grid-row: 3; grid-column: span 3; }
.umb--fit .umb__recursos[b-y9ogklm30u] { grid-row: 3; grid-column: span 4; }
.umb--fit .umb__usuarios[b-y9ogklm30u] { grid-row: 3; grid-column: span 5; }

.umb--fit .umb__card[b-y9ogklm30u] { overflow: hidden; min-height: 0; }

.umb--fit .umb__chart[b-y9ogklm30u] {
    flex: 1;
    min-height: 0;
    height: 100%;
    width: 100%;
}

.umb--fit .umb__fiber[b-y9ogklm30u] {
    flex: 1;
    min-height: 0;
    display: flex;
    padding: 8px 14px;
}

.umb--fit .umb__flow[b-y9ogklm30u] {
    max-height: none;
    height: 100%;
    width: 100%;
}

/* Expandir a tabela do fluxo rola DENTRO do card — o canvas não estica. */
.umb--fit .umb__table-view[b-y9ogklm30u] { overflow: auto; min-height: 0; }

/* ── Seletor de visão do caminho (Trilha / Todas conexões / Transições) ────── */

.umb__fmode[b-y9ogklm30u] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.umb__fmode-btn[b-y9ogklm30u] {
    border: 1px solid var(--umb-border);
    background: transparent;
    color: var(--umb-ink2);
    font-size: 11px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 999px;
    cursor: pointer;
}

.umb__fmode-btn:hover[b-y9ogklm30u] { color: var(--umb-ink); }

.umb__fmode-btn.is-on[b-y9ogklm30u] {
    background: var(--umb-l2);
    border-color: var(--umb-l2);
    color: #FFFFFF;
}

/* Na TV não há clique: dots de progresso + o nome da visão ativa. */
.umb__fmode-dot[b-y9ogklm30u] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--umb-grid);
    display: inline-block;
}

.umb__fmode-dot.is-on[b-y9ogklm30u] { background: var(--umb-s1); }

.umb__fmode-label[b-y9ogklm30u] {
    margin-left: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--umb-ink2);
}

/* ── Delta vs período anterior (chips ±X) ────────────────────────────────────
   Cores de STATUS (não são as cores de série): verde = subiu, vermelho =
   caiu, cinza = igual. O sinal (+/−/=) é o canal primário; a cor reforça. */

.umb__delta[b-y9ogklm30u] {
    display: inline-block;
    vertical-align: middle;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 999px;
    margin-left: 6px;
    font-variant-numeric: tabular-nums;
}

.umb__delta--up[b-y9ogklm30u]   { color: #006300; background: rgba(12, 163, 12, .12); }
.umb__delta--down[b-y9ogklm30u] { color: #b02a2a; background: rgba(208, 59, 59, .12); }
.umb__delta--flat[b-y9ogklm30u] { color: var(--umb-muted); background: var(--umb-track); }

.umb--tv .umb__delta[b-y9ogklm30u] { font-size: 15px; padding: 4px 9px; }
.umb--tv .umb__delta--up[b-y9ogklm30u]   { color: #4ade80; background: rgba(74, 222, 128, .14); }
.umb--tv .umb__delta--down[b-y9ogklm30u] { color: #f87171; background: rgba(248, 113, 113, .14); }

/* Delta dentro dos nós da fibra (painel sempre preto — cores fixas claras). */
.umb__node-delta[b-y9ogklm30u] { font-size: 9px; font-weight: 600; }
.umb__node-delta--up[b-y9ogklm30u]   { fill: #4ade80; }
.umb__node-delta--down[b-y9ogklm30u] { fill: #f87171; }
.umb__node-delta--flat[b-y9ogklm30u] { fill: #5B6B82; }

/* Rodapé do corte de legibilidade (top-N arestas). */
.umb__flow-note[b-y9ogklm30u] {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: var(--umb-muted);
}

.umb--tv .umb__flow-note[b-y9ogklm30u] { font-size: 13px; }
/* /Components/Shared/WikiChatHistory.razor.rz.scp.css */
/* Histórico de conversas — coluna esquerda do chat. */

.hist[b-02o1dxm0e7] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    background: #fff;
    border-right: 1px solid #E4E7EC;
}

.hist__head[b-02o1dxm0e7] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #667085;
    border-bottom: 1px solid #E4E7EC;
}

.hist__nova[b-02o1dxm0e7] {
    border: 1px solid #D0D5DD;
    background: #fff;
    color: #344054;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 11px;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
}

.hist__nova:hover[b-02o1dxm0e7] {
    background: #F9FAFB;
}

/* Único container de scroll da coluna — precisa do min-height:0 acima. */
.hist__lista[b-02o1dxm0e7] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 6px;
}

.hist__vazio[b-02o1dxm0e7] {
    font-size: 12px;
    line-height: 1.5;
    color: #98A2B3;
    padding: 12px 8px;
    margin: 0;
}

.hist__item[b-02o1dxm0e7] {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 8px 10px;
    margin-bottom: 2px;
    cursor: pointer;
}

.hist__item:hover[b-02o1dxm0e7] {
    background: #F9FAFB;
}

.hist__item.is-sel[b-02o1dxm0e7] {
    background: #EFF4FF;
}

.hist__titulo[b-02o1dxm0e7] {
    display: block;
    font-size: 13px;
    color: #344054;
    line-height: 1.35;
    /* Duas linhas e corta: o título é a primeira pergunta, que pode ser longa. */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hist__item.is-sel .hist__titulo[b-02o1dxm0e7] {
    color: #1849A9;
    font-weight: 600;
}

.hist__meta[b-02o1dxm0e7] {
    display: block;
    font-size: 11px;
    color: #98A2B3;
    margin-top: 2px;
}
/* /Components/Shared/WikiChatPanel.razor.rz.scp.css */
/* A conversa sobre o acervo. Scoped. */

.chat[b-h6zprav6e1] {
    max-width: 78ch;
    padding-bottom: 12px;
}

.chat__pergunta[b-h6zprav6e1] {
    background: #EFF4FF;
    color: #1849A9;
    border-radius: 12px 12px 12px 4px;
    padding: 9px 14px;
    font-size: 14px;
    margin: 16px 0 10px;
    display: inline-block;
    max-width: 100%;
}

.chat__resposta[b-h6zprav6e1] {
    background: #fff;
    border: 1px solid #E4E7EC;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 8px;
}

/* Indicação tem cara diferente de resposta, de propósito: se saíssem iguais o
   usuário trataria "encontrei este material" como afirmação sobre o conteúdo. */
.chat__resposta--present[b-h6zprav6e1] {
    border-left: 3px solid #FEDF89;
}

.chat__resposta--answer[b-h6zprav6e1] {
    border-left: 3px solid #12B76A;
}

.chat__modo[b-h6zprav6e1] {
    font-size: 12px;
    color: #B54708;
    background: #FFFAEB;
    border-radius: 6px;
    padding: 6px 10px;
    margin-bottom: 10px;
}

.chat__texto[b-h6zprav6e1] {
    font-size: 14px;
    line-height: 1.65;
    color: #101828;
}

/* A citação É o link: o nome do material dentro da própria frase.
   Vale para <a> e <button> — o segundo cobre o caso sem arquivo. */
.chat__cit[b-h6zprav6e1] {
    font-family: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    background: #EFF4FF;
    border: 1px solid #B2CCFF;
    color: #1849A9;
    border-radius: 6px;
    padding: 0 6px;
    margin: 0 1px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.45;
}

.chat__cit:hover[b-h6zprav6e1] {
    background: #D1E0FF;
}

/* Material com descrição não revisada: a cor avisa sem precisar de rótulo. */
.chat__cit.is-auto[b-h6zprav6e1] {
    background: #FFFAEB;
    border-color: #FEDF89;
    color: #B54708;
}

.chat__cit.is-auto:hover[b-h6zprav6e1] {
    background: #FEF0C7;
}

.chat__cit-icone[b-h6zprav6e1] {
    font-size: 10px;
    opacity: .7;
}

/* Categoria e aviso viajam COM a citação, não numa lista embaixo — quem lê o
   trecho precisa saber ali mesmo de onde ele veio e se foi revisado. */
.chat__cit-grupo[b-h6zprav6e1] {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    flex-wrap: wrap;
}

/* Um bloco por documento: o link uma vez no topo, as respostas numeradas
   embaixo. O número vai em cada RESPOSTA, não no documento — é o que separa
   visualmente as afirmações que saíram do mesmo arquivo. */
.chat__bloco[b-h6zprav6e1] {
    margin: 12px 0;
}

.chat__bloco:first-child[b-h6zprav6e1] {
    margin-top: 0;
}

.chat__bloco:last-child[b-h6zprav6e1] {
    margin-bottom: 0;
}

.chat__trecho-num[b-h6zprav6e1] {
    font-weight: 600;
    color: #475467;
    margin-right: 4px;
}

.chat__bloco-fontes[b-h6zprav6e1] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.chat__bloco-trecho[b-h6zprav6e1] {
    margin: 0 0 4px;
}

.chat__bloco-trecho:last-child[b-h6zprav6e1] {
    margin-bottom: 0;
}

.chat__cit-cat[b-h6zprav6e1] {
    font-size: 11px;
    color: #98A2B3;
}

.chat__cit-auto[b-h6zprav6e1] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #FFFAEB;
    color: #B54708;
    border: 1px solid #FEDF89;
    border-radius: 999px;
    padding: 0 6px;
    white-space: nowrap;
}

.chat__nao[b-h6zprav6e1] {
    font-size: 14px;
    color: #475467;
    margin: 0;
}

.chat__saida[b-h6zprav6e1] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #F2F4F7;
    font-size: 13px;
    color: #667085;
}

.chat__pergunta-volta[b-h6zprav6e1] {
    font-size: 14px;
    color: #101828;
    margin: 0 0 10px;
}

.chat__opcoes[b-h6zprav6e1] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.chat__btn[b-h6zprav6e1] {
    border: 1px solid #D0D5DD;
    background: #fff;
    color: #344054;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
}

.chat__btn:hover[b-h6zprav6e1] {
    background: #F9FAFB;
}

.chat__btn--opcao[b-h6zprav6e1] {
    border-color: #84CAFF;
    color: #175CD3;
}

.chat__btn--sm[b-h6zprav6e1] {
    padding: 3px 9px;
    font-size: 12px;
}

/* ── Fontes ─────────────────────────────────────────────────────────────── */

.chat__fontes[b-h6zprav6e1] {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #F2F4F7;
}

.chat__fontes-titulo[b-h6zprav6e1] {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #98A2B3;
    margin-bottom: 6px;
}

.chat__fonte[b-h6zprav6e1] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    text-decoration: none;
}

.chat__fonte:hover[b-h6zprav6e1] {
    background: #F9FAFB;
}

.chat__fonte-id[b-h6zprav6e1] {
    color: #175CD3;
    font-weight: 600;
    font-size: 12px;
}

.chat__fonte-nome[b-h6zprav6e1] {
    color: #344054;
}

.chat__fonte-cat[b-h6zprav6e1] {
    font-size: 11px;
    color: #98A2B3;
}

.chat__fonte-auto[b-h6zprav6e1] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #FFFAEB;
    color: #B54708;
    border-radius: 999px;
    padding: 1px 7px;
}

/* ── Feedback ───────────────────────────────────────────────────────────── */

.chat__feedback[b-h6zprav6e1] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #F2F4F7;
}

.chat__fb[b-h6zprav6e1] {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 15px;
    padding: 2px 6px;
    border-radius: 6px;
    opacity: .6;
}

.chat__fb:hover[b-h6zprav6e1] {
    background: #F2F4F7;
    opacity: 1;
}

.chat__fb-ok[b-h6zprav6e1] {
    font-size: 12px;
    color: #027A48;
}

.chat__hint[b-h6zprav6e1] {
    font-size: 12px;
    color: #667085;
}

.chat__custo[b-h6zprav6e1] {
    margin-left: auto;
    font-size: 11px;
    color: #98A2B3;
    font-variant-numeric: tabular-nums;
}

.chat__erro[b-h6zprav6e1] {
    background: #FEF3F2;
    border: 1px solid #FECDCA;
    color: #B42318;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    margin-bottom: 8px;
}

.chat__pensando[b-h6zprav6e1] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #667085;
    padding: 10px 2px;
}

.chat__spin[b-h6zprav6e1] {
    width: 13px;
    height: 13px;
    border: 2px solid #D0D5DD;
    border-top-color: #175CD3;
    border-radius: 50%;
    animation: chat-spin-b-h6zprav6e1 .8s linear infinite;
}

@keyframes chat-spin-b-h6zprav6e1 {
    to { transform: rotate(360deg); }
}
/* /Components/Shared/WikiMaterialDetail.razor.rz.scp.css */
/* Painel de curadoria do material. Scoped — nada equivalente no app.css. */

.det[b-dzu80mzxdq] {
    background: #fff;
    border: 1px solid #E4E7EC;
    border-radius: 10px;
    padding: 16px 18px 20px;
    margin-bottom: 16px;
}

.det__head[b-dzu80mzxdq] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.det__title[b-dzu80mzxdq] {
    margin: 0;
    font-size: 17px;
    color: #101828;
}

.det__path[b-dzu80mzxdq] {
    margin: 2px 0 0;
    font-size: 12px;
    color: #667085;
}

.det__head-acoes[b-dzu80mzxdq] {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

/* ── O portão da IA: o estado mais importante da tela ───────────────────── */

/* Processando: a edição está travada, e isso precisa ser óbvio. */
.det__proc[b-dzu80mzxdq] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    background: #EFF4FF;
    border: 1px solid #B2CCFF;
    color: #1849A9;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 12px;
}

.det__proc strong[b-dzu80mzxdq] {
    display: block;
}

.det__spin[b-dzu80mzxdq] {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    margin-top: 3px;
    border: 2px solid #B2CCFF;
    border-top-color: #175CD3;
    border-radius: 50%;
    animation: det-spin-b-dzu80mzxdq .8s linear infinite;
}

@keyframes det-spin-b-dzu80mzxdq {
    to { transform: rotate(360deg); }
}

.det__gate[b-dzu80mzxdq] {
    display: flex;
    gap: 8px;
    align-items: baseline;
    flex-wrap: wrap;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    margin-bottom: 16px;
}

.det__gate.is-curada[b-dzu80mzxdq] {
    background: #ECFDF3;
    border: 1px solid #ABEFC6;
    color: #027A48;
}

.det__gate.is-auto[b-dzu80mzxdq] {
    background: #FFFAEB;
    border: 1px solid #FEDF89;
    color: #B54708;
}

/* ── Duas colunas: editar à esquerda, contexto à direita ────────────────── */

.det__cols[b-dzu80mzxdq] {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.det__main[b-dzu80mzxdq] {
    flex: 1 1 460px;
    min-width: 0;
}

.det__aside[b-dzu80mzxdq] {
    flex: 0 1 340px;
    min-width: 0;
    border-left: 1px solid #F2F4F7;
    padding-left: 16px;
}

.det__label[b-dzu80mzxdq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    color: #475467;
    margin-bottom: 5px;
}

.det__label--top[b-dzu80mzxdq] {
    margin-top: 20px;
    flex-direction: column;
    align-items: flex-start;
}

.det__counter[b-dzu80mzxdq] {
    font-weight: 500;
    color: #98A2B3;
    font-variant-numeric: tabular-nums;
}

.det__counter.is-over[b-dzu80mzxdq] {
    color: #B42318;
    font-weight: 700;
}

.det__textarea[b-dzu80mzxdq] {
    width: 100%;
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    line-height: 1.5;
    font-family: inherit;
    resize: vertical;
    outline: 0;
}

.det__textarea:focus[b-dzu80mzxdq] {
    border-color: #84CAFF;
    box-shadow: 0 0 0 3px rgba(21, 112, 239, .15);
}

.det__textarea.is-over[b-dzu80mzxdq] {
    border-color: #FDA29B;
    background: #FFFBFA;
}

.det__regra[b-dzu80mzxdq] {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.55;
    color: #667085;
    background: #F9FAFB;
    border-left: 3px solid #D0D5DD;
    padding: 8px 10px;
    border-radius: 0 6px 6px 0;
}

.det__acoes[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.det__btn[b-dzu80mzxdq] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #D0D5DD;
    background: #fff;
    color: #344054;
    border-radius: 8px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}

.det__btn:hover[b-dzu80mzxdq] {
    background: #F9FAFB;
}

.det__btn:disabled[b-dzu80mzxdq] {
    opacity: .5;
    cursor: not-allowed;
}

.det__btn--primary[b-dzu80mzxdq] {
    background: #175CD3;
    border-color: #175CD3;
    color: #fff;
}

.det__btn--primary:hover:not(:disabled)[b-dzu80mzxdq] {
    background: #1849A9;
}

.det__btn--link[b-dzu80mzxdq] {
    border: 0;
    background: transparent;
    color: #175CD3;
    padding: 6px 0;
    font-size: 12px;
}

.det__btn--link:hover[b-dzu80mzxdq] {
    background: transparent;
    text-decoration: underline;
}

.det__btn--sm[b-dzu80mzxdq] {
    padding: 4px 10px;
    font-size: 12px;
}

.det__inline[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* ── Blocos recolhidos: o que não serve à tarefa principal ──────────────── */

.det__bloco[b-dzu80mzxdq] {
    margin-top: 16px;
    border-top: 1px solid #F2F4F7;
    padding-top: 12px;
}

.det__bloco > summary[b-dzu80mzxdq] {
    cursor: pointer;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #667085;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

.det__bloco > summary:hover[b-dzu80mzxdq] {
    color: #344054;
}

.det__bloco > *[b-dzu80mzxdq] {
    margin-top: 8px;
}

.det__pill[b-dzu80mzxdq] {
    text-transform: none;
    letter-spacing: 0;
    font-size: 10px;
    background: #ECFDF3;
    color: #027A48;
    border-radius: 999px;
    padding: 1px 7px;
}

.det__hint--bloco[b-dzu80mzxdq] {
    line-height: 1.55;
    max-width: 80ch;
}

.det__hint[b-dzu80mzxdq] {
    font-size: 12px;
    color: #667085;
    font-weight: 400;
}

.det__grid[b-dzu80mzxdq] {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 8px 12px;
    align-items: center;
    margin: 20px 0 12px;
}

.det__grid .det__label[b-dzu80mzxdq] {
    margin-bottom: 0;
}

.det__input[b-dzu80mzxdq] {
    border: 1px solid #D0D5DD;
    border-radius: 8px;
    padding: 7px 10px;
    font-size: 13px;
    outline: 0;
    background: #fff;
}

/* ── Contexto ───────────────────────────────────────────────────────────── */

.det__aside-title[b-dzu80mzxdq] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #667085;
    margin: 0 0 8px;
}

.det__aside-title:not(:first-child)[b-dzu80mzxdq] {
    margin-top: 20px;
}

.det__irmaos[b-dzu80mzxdq] {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.det__irmaos li[b-dzu80mzxdq] {
    padding: 7px 0;
    border-bottom: 1px solid #F2F4F7;
}

.det__irmao-nome[b-dzu80mzxdq] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #344054;
}

.det__irmao-desc[b-dzu80mzxdq] {
    display: block;
    font-size: 12px;
    line-height: 1.45;
    color: #667085;
    margin-top: 2px;
}

.det__irmao-desc--vazia[b-dzu80mzxdq] {
    font-style: italic;
    color: #98A2B3;
}

.det__jobs[b-dzu80mzxdq] {
    width: 100%;
    border-collapse: collapse;
    font-size: 11px;
}

.det__jobs td[b-dzu80mzxdq] {
    padding: 4px 6px 4px 0;
    color: #475467;
    border-bottom: 1px solid #F2F4F7;
}

.det__jobs tr.is-erro td[b-dzu80mzxdq] {
    color: #B42318;
}

.det__jobs-model[b-dzu80mzxdq] {
    color: #98A2B3;
}

.det__jobs-erro[b-dzu80mzxdq] {
    font-size: 11px;
    line-height: 1.4;
    padding-bottom: 6px;
}

.det__hist[b-dzu80mzxdq] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.det__hist li[b-dzu80mzxdq] {
    padding: 6px 0;
    border-bottom: 1px solid #F2F4F7;
}

.det__hist-tag[b-dzu80mzxdq] {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #98A2B3;
}

.det__hist-txt[b-dzu80mzxdq] {
    display: block;
    font-size: 12px;
    line-height: 1.45;
    color: #667085;
    margin-top: 2px;
}

/* ── Conteúdo do arquivo: largura total, destaque de leitura ────────────── */

.det__conteudo[b-dzu80mzxdq] {
    margin-top: 20px;
    border-top: 1px solid #E4E7EC;
    padding-top: 14px;
}

.det__conteudo-head[b-dzu80mzxdq] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.det__conteudo-head .det__aside-title[b-dzu80mzxdq] {
    margin: 0;
}

/* A área vazia com o botão: o texto não vem no load da tela. */
.det__vazio[b-dzu80mzxdq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    min-height: 130px;
    background: #F9FAFB;
    border: 1px dashed #D0D5DD;
    border-radius: 8px;
    padding: 20px;
}

.det__vazio p[b-dzu80mzxdq] {
    margin: 0;
    font-size: 12px;
    color: #667085;
    max-width: 46ch;
    line-height: 1.5;
}

.det__texto[b-dzu80mzxdq] {
    max-height: 60vh;
    overflow: auto;
    background: #fff;
    border: 1px solid #E4E7EC;
    border-radius: 8px;
    padding: 16px 20px;
    /* Serifada e com medida de leitura: aqui se LÊ o documento para conferir se
       a descrição bate. Monoespaçada estreita atrapalhava isso. */
    font-family: Georgia, "Times New Roman", serif;
    font-size: 13.5px;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
    color: #344054;
    margin: 0;
}

/* ── Avisos ─────────────────────────────────────────────────────────────── */

.det__alert[b-dzu80mzxdq] {
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    margin-bottom: 12px;
}

.det__alert--erro[b-dzu80mzxdq] {
    background: #FEF3F2;
    border: 1px solid #FECDCA;
    color: #B42318;
}

.det__alert--ok[b-dzu80mzxdq] {
    background: #ECFDF3;
    border: 1px solid #ABEFC6;
    color: #027A48;
}

.det__file[b-dzu80mzxdq] {
    display: none;
}

/* ══ MODO CONSULTA ═══════════════════════════════════════════════════════ */
/*
   O que quase todo mundo quer quase sempre: reconhecer o material e abrir o
   arquivo. Sem campo de edição, sem diagnóstico — isso vive atrás do botão
   "Curar descrição".
*/

.det--simples[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    padding: 16px 18px;
}

.det__cartao[b-dzu80mzxdq] {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex: 1 1 380px;
    min-width: 0;
}

/* Ícone grande: é o que identifica o tipo antes de ler qualquer coisa. */
.det__icone[b-dzu80mzxdq] {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    background: #F9FAFB;
    border: 1px solid #E4E7EC;
    border-radius: 12px;
}

.det__corpo[b-dzu80mzxdq] {
    min-width: 0;
}

.det__descricao[b-dzu80mzxdq] {
    font-size: 14px;
    line-height: 1.6;
    color: #344054;
    margin: 8px 0 0;
    max-width: 70ch;
}

.det__descricao--vazia[b-dzu80mzxdq] {
    color: #98A2B3;
    font-style: italic;
}

.det__aviso-auto[b-dzu80mzxdq] {
    display: inline-block;
    margin-top: 6px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #FFFAEB;
    color: #B54708;
    border-radius: 999px;
    padding: 2px 8px;
}

.det__tags[b-dzu80mzxdq] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.det__tag[b-dzu80mzxdq] {
    font-size: 11px;
    color: #667085;
    background: #F2F4F7;
    border-radius: 999px;
    padding: 2px 9px;
}

.det__tag--off[b-dzu80mzxdq] {
    background: #FEF3F2;
    color: #B42318;
}

.det__acoes-simples[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    flex-shrink: 0;
}

/* Diagnóstico só aparece no modo curadoria. */
.det__bloco--diag[b-dzu80mzxdq] {
    opacity: .85;
}

/* Falha visível no modo consulta — é o que explica a ausência de descrição. */
.det__falha[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    background: #FEF3F2;
    border: 1px solid #FECDCA;
    color: #B42318;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.5;
    margin-top: 10px;
}

.det__proc-travou[b-dzu80mzxdq] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid #B2CCFF;
    font-size: 12px;
}
