/* /Features/Bancada/AssinaturaDoca.razor.rz.scp.css */
/* Aba Assinatura da doca (v6 linha 3, D2): cartão da seção herdado de
   .bc-doca-secao (casco); aqui vivem os estados honestos, o CTA do
   checkout e a fileira de ações desabilitadas — todos com tokens do
   mockup bancada.css, nenhuma cor solta. */

.bc-assinatura-meta[b-ogwpjx3tdx] {
    margin: 0 0 0.6rem;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

.assinatura-aguardando[b-ogwpjx3tdx] {
    margin: 0 0 0.35rem;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

.assinatura-estado[b-ogwpjx3tdx] {
    margin: 0 0 0.35rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--tinta);
}

.assinatura-detalhe[b-ogwpjx3tdx],
.assinatura-offline[b-ogwpjx3tdx],
.assinatura-janela[b-ogwpjx3tdx] {
    margin: 0 0 0.35rem;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

/* v7 linha 2 (D3): banner do teste em curso — calmo (tokens calm, sem
   urgência falsa), só um filete de borda para distinguir do detalhe. */
.assinatura-trial-aviso[b-ogwpjx3tdx],
.assinatura-trial-vencido[b-ogwpjx3tdx] {
    margin: 0 0 0.5rem;
    padding: 0.35rem 0.55rem;
    font-size: 0.8rem;
    color: var(--tinta);
    border-left: 2px solid var(--verde-tinta);
    border-radius: 4px;
    background: var(--fundo-superficie, transparent);
}

/* v7 linha 11 (Y06): CTA do teste encerrado (link para a escolha de plano
   na landing — mesma família visual do botão de checkout). */
.assinatura-cta-link[b-ogwpjx3tdx] {
    text-decoration: none;
}

.assinatura-janela a[b-ogwpjx3tdx],
.assinatura-recusa-acoes a[b-ogwpjx3tdx] {
    color: var(--verde-tinta);
}

.assinatura-erro[b-ogwpjx3tdx] {
    margin: 0 0 0.5rem;
    font-size: 0.8rem;
    color: var(--status-aviso-texto);
}

.assinatura-recusa h4[b-ogwpjx3tdx] {
    margin: 0 0 0.3rem;
    font-size: 0.82rem;
    color: var(--tinta);
}

.assinatura-recusa-acoes[b-ogwpjx3tdx] {
    display: flex;
    gap: 0.9rem;
    margin: 0;
    font-size: 0.8rem;
}

/* CTA do checkout (pending_checkout): ação primária da aba — verde do
   produto, texto claro (família do bc-entrar/bc-comecar, só que sólido). */
.assinatura-cta[b-ogwpjx3tdx] {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: 0.25rem 0 0.4rem;
    padding: 0 0.95rem;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--fundo);
    background: var(--verde-tinta);
    border: 1px solid var(--verde-tinta);
    border-radius: 8px;
    cursor: pointer;
}

/* v7 linha 1b: bloco do plano pré-selecionado (intenção vinda da landing) —
   mesmo corte superior da fileira de ações, separa do status. */
.assinatura-intencao[b-ogwpjx3tdx] {
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--fio);
}

.assinatura-intencao h4[b-ogwpjx3tdx] {
    margin: 0 0 0.3rem;
    font-size: 0.82rem;
    color: var(--tinta);
}

.assinatura-intencao-assistido[b-ogwpjx3tdx] {
    display: block;
    margin: 0.25rem 0;
    font-size: 0.8rem;
    color: var(--verde-tinta);
}

.assinatura-botao[b-ogwpjx3tdx] {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 0.25rem 0;
    padding: 0 0.75rem;
    font: inherit;
    font-size: 0.8rem;
    color: var(--verde-tinta);
    background: none;
    border: 1px solid var(--fio);
    border-radius: 8px;
    cursor: pointer;
}

/* Fileira de ações programáticas (linhas 4/6 do v6): desabilitadas com
   tooltip honesto — o corte superior separa do status. */
.bc-assinatura-acoes[b-ogwpjx3tdx] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--fio);
}

.assinatura-acao[b-ogwpjx3tdx] {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 0.75rem;
    font: inherit;
    font-size: 0.8rem;
    color: var(--tinta-suave);
    background: none;
    border: 1px solid var(--fio);
    border-radius: 8px;
}

.assinatura-acao:disabled[b-ogwpjx3tdx] {
    cursor: not-allowed;
    opacity: 0.7;
}
/* /Features/Bancada/DocumentTabs.razor.rz.scp.css */
/*
 * Bancada de abas (fila 3) — porta o mockup tests/uiux/fixtures/bancada
 * (bancada.css, fonte visual aprovada) para o casco 100vh do produto: a
 * faixa fica fixa no topo do centro enquanto o documento rola (divergência
 * deliberada wb/1 — o mockup flui como página para captura).
 *
 * Tokens: SOMENTE a família --tinta/--verde de wwwroot/css/app.css + os
 * pares de status FIXOS já consolidados (âmbar de aviso #b45309; vermelho
 * de erro #8c2f24; branco sobre botão primário). Nenhum hex novo.
 */

/* ---------- faixa de abas: o tablist contém SÓ abas; o ✕ da aba ativa
   fica FORA do tablist (aria-required-children/nested-interactive, spec
   wb/1) ---------- */

.bc-abas-zona[b-a6zvih4oxj] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
}

.bc-abas-fila[b-a6zvih4oxj] {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid var(--fio);
    background: var(--fundo-suave);
}

.bc-abas[b-a6zvih4oxj] {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-height: 40px;
    overflow-x: auto;
}

.bc-aba[b-a6zvih4oxj] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0.25rem 0.85rem;
    font: inherit;
    font-size: 0.88rem;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-right: 1px solid var(--fio);
    cursor: pointer;
    white-space: nowrap;
}

.bc-aba:hover[b-a6zvih4oxj] {
    color: var(--tinta);
    background: var(--fundo);
}

/* Aba ativa: o nome vai na tinta verde (padrão vfs-aba-ativa do produto) —
   sem faixa/risco de acento na caixa. */
.bc-aba[aria-selected="true"][b-a6zvih4oxj] {
    color: var(--verde-tinta);
    background: var(--fundo);
    font-weight: 700;
    border-bottom: 1px solid var(--fundo);
}

.bc-aba-nome[b-a6zvih4oxj] {
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 16rem;
}

/* Ponto sujo âmbar (par fixo de aviso): alterações não sincronizadas. */
.bc-aba-sujo[b-a6zvih4oxj] {
    flex: 0 0 auto;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    background: #b45309;
}

.bc-aba-fechar[b-a6zvih4oxj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 44px;
    min-height: 40px;
    margin: 0;
    font: inherit;
    font-size: 0.8rem;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-left: 1px solid var(--fio);
    cursor: pointer;
}

.bc-aba-fechar:hover[b-a6zvih4oxj] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
    background: var(--fundo-suave);
}

/* ---------- painel do documento ativo ---------- */

.bc-doc-area[b-a6zvih4oxj] {
    padding: 1.25rem clamp(0.9rem, 4vw, 3rem) 2.5rem;
}

/* ---------- estado vazia: bancada sem abas ---------- */

.bc-vazio[b-a6zvih4oxj] {
    max-width: 34rem;
    margin: 8vh auto 0;
    padding: 0 1rem;
    text-align: left;
}

.bc-vazio h2[b-a6zvih4oxj] {
    margin: 0 0 0.35rem;
    font-size: 1.25rem;
}

.bc-vazio p[b-a6zvih4oxj] {
    color: var(--tinta-suave);
    margin: 0 0 1.1rem;
}

.bc-vazio-acao[b-a6zvih4oxj] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.4rem;
}

.bc-vazio-recentes[b-a6zvih4oxj] {
    margin: 0;
    padding: 0.9rem 0 0;
    border-top: 1px solid var(--fio);
    list-style: none;
}

.bc-vazio-recentes .bc-rotulo[b-a6zvih4oxj] {
    display: block;
    margin-bottom: 0.4rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}

.bc-vazio-sem-recentes[b-a6zvih4oxj] {
    padding: 0.4rem 0 0.6rem;
    color: var(--tinta-suave);
    font-style: italic;
    font-size: 0.88rem;
}

.bc-recente[b-a6zvih4oxj] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.7rem;
    width: 100%;
    min-height: 44px;
    padding: 0.35rem 0.5rem;
    font: inherit;
    color: var(--tinta);
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--fio);
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
}

.bc-recente:hover[b-a6zvih4oxj] {
    background: var(--fundo-suave);
    color: var(--verde-tinta);
}

.bc-recente-sub[b-a6zvih4oxj] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
    margin-left: auto;
}

/* ---------- botões do estado vazio (mockup bc-botao-primario/bc-botao) ---------- */

.bc-botao-primario[b-a6zvih4oxj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0.5rem 1.1rem;
    font: inherit;
    font-weight: 600;
    color: #ffffff; /* par fixo do produto (botão primário) */
    background: var(--verde);
    border: 1px solid var(--verde);
    border-radius: 8px;
    cursor: pointer;
}

.bc-botao-primario:hover[b-a6zvih4oxj] {
    background: var(--verde-escuro);
    border-color: var(--verde-escuro);
}

.bc-botao[b-a6zvih4oxj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0.45rem 1rem;
    font: inherit;
    font-weight: 600;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    cursor: pointer;
}

.bc-botao:hover[b-a6zvih4oxj] {
    background: var(--fundo-suave);
}

/* Leitor de tela (padrão do contrato do mockup, escopado aqui). */
.bc-apenas-leitor[b-a6zvih4oxj] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* /Features/Bancada/ExplorerTree.razor.rz.scp.css */
/*
 * Árvore do explorador (fila 5 do plano v3) — porta o trilho do mockup
 * tests/uiux/fixtures/bancada (bancada.css, fonte visual aprovada): chevron
 * + ícones, linha >= 40px, hover/seleção, guias de nível com fio à esquerda.
 * Selecionado = aba ativa: texto na tinta verde sobre fundo cheio, sem
 * risco lateral de acento.
 *
 * Fila 6: menu de contexto por nó (bc-menu-ctx/bc-no-mais/bc-menu-item —
 * PORTA da lei do mockup), painel de versões, diálogo compartilhar e
 * renomeação inline.
 *
 * Fila 7: busca do trilho (bc-rail-busca/bc-filtro), realce da zona de
 * solta (bc-soltando), rodapé de envio (bc-enviar-zona), linha de nova
 * pasta inline e consentimento LGPD da importação.
 *
 * Tokens: SOMENTE a família --tinta/--verde de wwwroot/css/app.css. Os
 * únicos hex são os pares FIXOS consolidados do produto (vermelho de erro
 * #8c2f24 e seu par claro #f0a099 — mesmos bytes do mockup). As regras de
 * linha usam ::deep porque os nós folha são outro componente
 * (ExplorerTreeNode) dentro da subárvore desta.
 */

.bc-arvore[b-n8no73o325] {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0.15rem 0.4rem 0.75rem;
}

.bc-arvore[b-n8no73o325]  ul[role="tree"],
.bc-arvore[b-n8no73o325]  ul[role="group"] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.bc-arvore[b-n8no73o325]  ul[role="group"] {
    padding: 0 0 0 1.05rem;
    border-left: 1px solid var(--fio);
}

.bc-arvore[b-n8no73o325]  .bc-no-linha {
    display: flex;
    align-items: center;
    gap: 0.15rem;
    min-height: 40px;
    border-radius: 8px;
}

.bc-arvore[b-n8no73o325]  .bc-no-linha:hover {
    background: var(--fundo);
}

.bc-arvore[b-n8no73o325]  .bc-expansor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 40px;
    padding: 0;
    font: inherit;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.bc-arvore[b-n8no73o325]  .bc-expansor:hover {
    color: var(--tinta);
}

.bc-arvore[b-n8no73o325]  li[role="treeitem"][aria-expanded="true"] > .bc-no-linha .bc-seta {
    transform: rotate(90deg);
}

.bc-arvore[b-n8no73o325]  .bc-seta {
    transition: transform 0.15s ease-in-out;
    display: inline-flex;
}

.bc-arvore[b-n8no73o325]  .bc-no-item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 40px;
    padding: 0.2rem 0.5rem 0.2rem 0.15rem;
    font: inherit;
    font-size: 0.92rem;
    color: var(--tinta);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
}

.bc-arvore[b-n8no73o325]  .bc-no-item:hover {
    color: var(--verde-tinta);
}

.bc-arvore[b-n8no73o325]  .bc-no-nome {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
}

.bc-arvore[b-n8no73o325]  .bc-no-raiz > .bc-no-linha > .bc-no-item {
    font-weight: 700;
}

.bc-arvore[b-n8no73o325]  .bc-no-sub {
    flex: 0 0 auto;
    font-size: 0.72rem;
    color: var(--tinta-suave);
    white-space: nowrap;
}

/* Item da árvore correspondente à aba ativa (ou à leitura pública
   selecionada): texto na tinta verde sobre fundo cheio. */
.bc-arvore[b-n8no73o325]  .bc-no-item[aria-current="true"] {
    background: var(--fundo);
    color: var(--verde-tinta);
    font-weight: 600;
}

/* ---------- estados honestos (vazio / carregando / aviso / erro) ---------- */

.bc-arvore[b-n8no73o325]  .bc-arvore-vazio,
.bc-arvore[b-n8no73o325]  .bc-arvore-status {
    margin: 0.15rem 0 0.35rem 1.35rem;
    font-size: 0.82rem;
    font-style: italic;
    color: var(--tinta-suave);
}

.bc-arvore-status[data-testid="bc-arvore-restaurando"][b-n8no73o325],
p[data-testid="bc-arvore-aviso"][b-n8no73o325],
p[data-testid="bc-arvore-erro"][b-n8no73o325] {
    margin: 0.25rem 0.75rem 0.5rem;
    font-size: 0.85rem;
    color: var(--tinta-suave);
}

p[data-testid="bc-arvore-erro"][b-n8no73o325] {
    font-style: normal;
    font-weight: 600;
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

p[data-testid="bc-arvore-erro"] a[b-n8no73o325] {
    font-weight: 400;
    margin-left: 0.4rem;
}

.bc-arvore-recusa[b-n8no73o325] {
    margin: 0.25rem 0.75rem 0.5rem;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--fio);
    border-radius: 8px;
    background: var(--fundo);
}

.bc-arvore-recusa p[b-n8no73o325] {
    margin: 0 0 0.3rem;
    font-size: 0.85rem;
    color: var(--tinta);
}

.bc-arvore-nota[b-n8no73o325] {
    margin: 0.25rem 0.75rem 0.5rem;
    padding: 0.4rem 0.6rem;
    border-left: 3px solid var(--fio-forte);
    font-size: 0.82rem;
    color: var(--tinta-suave);
}

.bc-arvore-nota .bc-no-sub[b-n8no73o325] {
    display: block;
    margin-bottom: 0.15rem;
    font-weight: 700;
}

/* Leitor de tela (mesmo recorte do DocumentTabs da fila 3). */
.bc-arvore[b-n8no73o325]  .bc-apenas-leitor {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- fila 6: menu de contexto (porta do mockup bc-menu-ctx) ------- */

/* A linha é a âncora: o menu abre colado abaixo dela, à esquerda
   (equivalente estático do posicionamento bottom+4/left do mockup). */
.bc-arvore[b-n8no73o325]  .bc-no-linha {
    position: relative;
}

.bc-arvore[b-n8no73o325]  .bc-no-mais {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 40px;
    padding: 0;
    font: inherit;
    font-size: 1rem;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.bc-arvore[b-n8no73o325]  .bc-no-mais:hover {
    color: var(--tinta);
    background: var(--fundo-suave);
}

.bc-arvore[b-n8no73o325]  .bc-menu-ctx {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 70;
    min-width: 13rem;
    padding: 0.3rem;
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 10px;
    box-shadow: 0 8px 28px rgb(0 0 0 / 0.22);
}

.bc-arvore[b-n8no73o325]  .bc-menu-ctx ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.1rem;
}

.bc-arvore[b-n8no73o325]  .bc-menu-ctx .bc-menu-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 40px;
    padding: 0.25rem 0.6rem;
    font: inherit;
    font-size: 0.9rem;
    color: var(--tinta);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    text-align: left;
}

.bc-arvore[b-n8no73o325]  .bc-menu-ctx .bc-menu-item:hover,
.bc-arvore[b-n8no73o325]  .bc-menu-ctx .bc-menu-item:focus-visible {
    background: var(--fundo-suave);
}

/* Destrutivo em vermelho fixo do produto (par claro para contraste). */
.bc-arvore[b-n8no73o325]  .bc-menu-ctx .bc-menu-item.perigo {
    color: #8c2f24;
}

.bc-arvore[b-n8no73o325]  .bc-menu-ctx .bc-menu-sep {
    height: 1px;
    margin: 0.25rem 0.2rem;
    background: var(--fio);
    border: none;
}

/* ---------- fila 6: renomeação inline no próprio nó (lei do mockup) ------ */

.bc-arvore[b-n8no73o325]  .bc-renomear {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.2rem 0;
}

.bc-arvore[b-n8no73o325]  .bc-renomear-input {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 32px;
    padding: 0.1rem 0.4rem;
    font: inherit;
    font-size: 0.9rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--verde-tinta);
    border-radius: 6px;
}

.bc-arvore[b-n8no73o325]  .bc-renomear-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 28px;
    height: 32px;
    padding: 0;
    font: inherit;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.bc-arvore[b-n8no73o325]  .bc-renomear-botao:hover {
    color: var(--tinta);
    background: var(--fundo-suave);
}

/* ---------- fila 6: painel de versões (rodapé do trilho) ----------------- */

.bc-painel[b-n8no73o325] {
    flex: 0 0 auto;
    margin: 0.4rem 0.75rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid var(--fio-forte);
    border-radius: 10px;
    background: var(--fundo);
}

.bc-painel h3[b-n8no73o325] {
    margin: 0 0 0.35rem;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--tinta);
}

.bc-versoes-lista[b-n8no73o325] {
    list-style: none;
    margin: 0 0 0.45rem;
    padding: 0;
    display: grid;
    gap: 0.2rem;
    max-height: 11rem;
    overflow-y: auto;
}

.bc-versao-item[b-n8no73o325] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 32px;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

.bc-versao-numero[b-n8no73o325] {
    flex: 0 0 auto;
    min-width: 2rem;
    font-weight: 700;
    color: var(--tinta);
}

.bc-chip[b-n8no73o325] {
    flex: 0 0 auto;
    padding: 0.05rem 0.45rem;
    font-size: 0.72rem;
    color: var(--verde-tinta);
    background: var(--fundo-suave);
    border-radius: 999px;
}

/* Botão compacto do trilho (padrão do cabeçalho da fila 5). */
.bc-botao-menor[b-n8no73o325] {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0.15rem 0.7rem;
    font: inherit;
    font-size: 0.82rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 6px;
    cursor: pointer;
}

.bc-botao-menor:hover[b-n8no73o325] {
    border-color: var(--verde-tinta);
    color: var(--verde-tinta);
}

/* ---------- fila 6: diálogo compartilhar (sobreposição modal) ------------ */

.bc-modal[b-n8no73o325] {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgb(15 23 42 / 0.45);
}

.bc-dialogo[b-n8no73o325] {
    width: min(30rem, 100%);
    max-height: min(34rem, 90vh);
    overflow-y: auto;
    padding: 0.9rem 1.1rem 1rem;
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 12px;
    box-shadow: 0 12px 36px rgb(0 0 0 / 0.28);
}

.bc-dialogo h3[b-n8no73o325] {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--tinta);
}

.bc-dialogo h4[b-n8no73o325] {
    margin: 0.7rem 0 0.3rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--tinta);
}

.bc-dialogo p[b-n8no73o325] {
    margin: 0.25rem 0;
    font-size: 0.85rem;
    color: var(--tinta-suave);
}

.bc-form[b-n8no73o325] {
    display: grid;
    gap: 0.25rem;
    margin: 0.4rem 0 0.7rem;
}

.bc-form label[b-n8no73o325] {
    font-size: 0.8rem;
    color: var(--tinta);
}

.bc-form select[b-n8no73o325],
.bc-form input[b-n8no73o325] {
    min-height: 34px;
    padding: 0.15rem 0.5rem;
    font: inherit;
    font-size: 0.88rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 6px;
}

.bc-dica[b-n8no73o325] {
    font-size: 0.78rem;
    color: var(--tinta-suave);
}

.bc-shares[b-n8no73o325] {
    width: 100%;
    margin: 0.25rem 0 0.5rem;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.bc-shares th[b-n8no73o325],
.bc-shares td[b-n8no73o325] {
    padding: 0.25rem 0.4rem;
    text-align: left;
    border-bottom: 1px solid var(--fio);
}

.bc-shares th[b-n8no73o325] {
    font-weight: 700;
    color: var(--tinta);
}

.bc-shares td[b-n8no73o325] {
    color: var(--tinta-suave);
    overflow-wrap: anywhere;
}

.bc-link-resultado[b-n8no73o325] {
    font-size: 0.82rem;
    color: var(--verde-tinta);
    overflow-wrap: anywhere;
}

@media (prefers-reduced-motion: reduce) {
    .bc-arvore[b-n8no73o325]  .bc-seta {
        transition: none;
    }
}

/* ---------- fila 7: busca do trilho (porta do mockup bc-rail-busca) ------ */

.bc-rail-busca[b-n8no73o325] {
    position: relative;
    flex: 0 0 auto;
    padding: 0 0.75rem 0.5rem;
}

.bc-rail-busca input[b-n8no73o325] {
    width: 100%;
    min-height: 40px;
    padding: 0.3rem 1.9rem 0.3rem 0.6rem;
    font: inherit;
    font-size: 0.9rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
}

.bc-filtro-limpar[b-n8no73o325] {
    position: absolute;
    top: 50%;
    right: 1.15rem;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    font: inherit;
    color: var(--tinta-suave);
    background: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.bc-filtro-limpar:hover[b-n8no73o325] {
    color: var(--tinta);
    background: var(--fundo-suave);
}

/* ---------- fila 7: zona de solta visível no hover (bc-soltando) --------- */

.bc-arvore[b-n8no73o325]  li[data-soltar-pasta].bc-soltando > .bc-no-linha,
.bc-arvore[b-n8no73o325]  li[data-soltar-raiz].bc-soltando > .bc-no-linha {
    background: var(--fundo);
    outline: 2px dashed var(--verde-tinta);
    outline-offset: -2px;
    border-radius: 8px;
}

.bc-arvore[b-n8no73o325]  li[data-soltar-pasta].bc-soltando > .bc-no-linha .bc-no-item,
.bc-arvore[b-n8no73o325]  li[data-soltar-raiz].bc-soltando > .bc-no-linha .bc-no-item {
    color: var(--verde-tinta);
}

/* ---------- fila 7: rodapé do trilho — zona de envio (porta do mockup) --- */

.bc-rail-envio[b-n8no73o325] {
    flex: 0 0 auto;
    padding: 0.6rem 0.75rem 0.75rem;
    border-top: 1px solid var(--fio);
}

.bc-enviar-zona[b-n8no73o325] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-height: 3.8rem;
    padding: 0.5rem 0.8rem;
    border: 2px dashed var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta-suave);
    cursor: pointer;
}

.bc-enviar-zona:hover[b-n8no73o325],
.bc-enviar-zona:focus-within[b-n8no73o325] {
    background: var(--fundo);
    border-color: var(--verde-tinta);
}

.bc-enviar-zona:focus-within[b-n8no73o325] {
    outline: 3px solid var(--verde-tinta);
    outline-offset: 2px;
}

.bc-enviar-rotulo[b-n8no73o325] {
    color: var(--tinta);
    font-weight: 600;
    font-size: 0.9rem;
}

.bc-enviar-sub[b-n8no73o325] {
    font-size: 0.78rem;
}

.bc-input-arquivo[b-n8no73o325] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.bc-dica-envio[b-n8no73o325] {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    color: var(--tinta-suave);
}

/* ---------- fila 7: linha de nova pasta inline ---------------------------- */

.bc-arvore[b-n8no73o325]  .bc-no-nova-pasta {
    list-style: none;
}

/* ---------- fila 7: consentimento LGPD da importação --------------------- */

.bc-lgpd-consentimento[b-n8no73o325] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin: 0.5rem 0;
    font-size: 0.85rem;
    color: var(--tinta);
}

.bc-lgpd-consentimento input[b-n8no73o325] {
    flex: 0 0 auto;
    min-height: 18px;
    min-width: 18px;
    margin-top: 0.1rem;
}

.bc-lgpd-acoes[b-n8no73o325] {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
    margin-top: 0.6rem;
}

.bc-botao-verde[b-n8no73o325] {
    color: var(--verde-tinta);
    border-color: var(--verde-tinta);
}

.bc-botao-verde:disabled[b-n8no73o325] {
    opacity: 0.55;
    cursor: not-allowed;
}
/* /Features/Bancada/PaletaComandos.razor.rz.scp.css */
/* Paleta de comandos / busca rápida (fila 10) — porta a sobreposição
   bc-overlay/bc-palette do mockup (tests/uiux/fixtures/bancada/bancada.css,
   a lei visual da spec wb/1 §6) como CSS escopado do componente. SÓ tokens
   do contrato (--tinta/--verde + famílias de fio/fundo); nenhum token novo. */

.bc-overlay[b-kkl2hj8yoq] {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 6vh 1rem 1rem;
    background: rgb(10 15 20 / 0.62);
}

.bc-overlay-caixa[b-kkl2hj8yoq] {
    position: relative;
    width: min(40rem, 100%);
    max-height: 88vh;
    overflow: auto;
    background: var(--fundo);
    color: var(--tinta);
    border: 1px solid var(--fio-forte);
    border-radius: 12px;
    box-shadow: 0 10px 40px rgb(0 0 0 / 0.25);
    padding: 0.85rem 1rem 0.9rem;
}

.bc-overlay-caixa h2[b-kkl2hj8yoq] {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
}

.bc-overlay-fechar[b-kkl2hj8yoq] {
    position: absolute;
    top: 0.6rem;
    right: 0.7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    font: inherit;
    font-size: 0.85rem;
    color: var(--tinta-suave);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

.bc-overlay-fechar:hover[b-kkl2hj8yoq],
.bc-overlay-fechar:focus-visible[b-kkl2hj8yoq] {
    color: var(--tinta);
    background: var(--fundo-suave);
    border-color: var(--fio);
}

.bc-overlay-dica[b-kkl2hj8yoq] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
    margin: 0 0 0.7rem;
}

.bc-palette-busca[b-kkl2hj8yoq] {
    width: 100%;
    min-height: 44px;
    font-size: 0.95rem;
    border-radius: 8px;
}

/* Estado pós-execução honesto (sem aba ativa, sem pendências…): a dica
   vive DENTRO do diálogo, o usuário não perde o contexto. */
.bc-palette-status[b-kkl2hj8yoq] {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: var(--tinta);
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
}

.bc-palette-vazio[b-kkl2hj8yoq] {
    margin: 0.6rem 0 0;
    color: var(--tinta-suave);
    font-size: 0.88rem;
}

.bc-palette-lista[b-kkl2hj8yoq] {
    list-style: none;
    margin: 0.6rem 0 0;
    padding: 0;
    display: grid;
    gap: 0.2rem;
}

.bc-palette-item[b-kkl2hj8yoq] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.7rem;
    width: 100%;
    min-height: 44px;
    padding: 0.35rem 0.6rem;
    font: inherit;
    font-size: 0.92rem;
    color: var(--tinta);
    background: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    text-align: left;
}

.bc-palette-item:hover[b-kkl2hj8yoq],
.bc-palette-item[aria-selected="true"][b-kkl2hj8yoq] {
    background: var(--fundo-suave);
}

.bc-palette-item[aria-disabled="true"][b-kkl2hj8yoq] {
    color: var(--tinta-suave);
    cursor: default;
}

.bc-palette-item:focus-visible[b-kkl2hj8yoq] {
    outline: 2px solid var(--verde-tinta);
    outline-offset: -2px;
}

.bc-palette-item .bc-palette-icone[b-kkl2hj8yoq] {
    flex: none;
    color: var(--tinta-suave);
}

.bc-palette-sub[b-kkl2hj8yoq] {
    color: var(--tinta-suave);
    font-size: 0.78rem;
}

/* Chip kbd do atalho real do comando (fila 11, desvio #6 da fila 10 pago):
   à direita do item, como no mockup (bc-palette-item kbd) — só onde o
   binding existe (Gerar = Ctrl+Enter; Atalhos = ?). */
.bc-palette-item kbd[b-kkl2hj8yoq] {
    margin-left: auto;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 0.72rem;
    color: var(--tinta-suave);
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 6px;
    padding: 0.05rem 0.4rem;
}

/* ---------- mapa de atalhos (comando "Atalhos" — resumo da spec) ---------- */

.bc-atalhos-grelha[b-kkl2hj8yoq] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.6rem;
}

.bc-atalhos-grelha .bc-atalhos[b-kkl2hj8yoq] {
    flex: 1 1 15rem;
}

.bc-atalhos[b-kkl2hj8yoq] {
    width: 100%;
    border-collapse: collapse;
}

.bc-atalhos th[b-kkl2hj8yoq],
.bc-atalhos td[b-kkl2hj8yoq] {
    text-align: left;
    padding: 0.28rem 0.4rem;
    border-bottom: 1px solid var(--fio);
    font-size: 0.85rem;
    line-height: 1.4;
}

.bc-atalhos tr:last-child th[b-kkl2hj8yoq],
.bc-atalhos tr:last-child td[b-kkl2hj8yoq] {
    border-bottom: none;
}

.bc-atalhos th[scope="colgroup"][b-kkl2hj8yoq] {
    padding-top: 0.55rem;
    border-bottom-color: var(--fio-forte);
    color: var(--tinta-suave);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bc-atalhos td:first-child[b-kkl2hj8yoq] {
    white-space: nowrap;
}

.bc-atalhos kbd[b-kkl2hj8yoq],
.bc-overlay-dica kbd[b-kkl2hj8yoq] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 0.72rem;
    color: var(--tinta);
    background: var(--fundo-suave);
    border: 1px solid var(--fio-forte);
    border-radius: 6px;
    padding: 0.05rem 0.4rem;
}

/* Leitor de tela (o mesmo contrato sr-only do mockup/themes). */
.bc-apenas-leitor[b-kkl2hj8yoq] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Nota de qualificador de atalho no mapa ("(durante execução)"). */
.bc-atalhos-nota[b-kkl2hj8yoq] {
    font-weight: 400;
    color: var(--tinta-suave);
    font-size: 0.78rem;
}
/* /Features/Bancada/SteeringDock.razor.rz.scp.css */
/*
 * Doca de IA própria (fila 8 v3) — porta o mockup tests/uiux/fixtures/
 * bancada/bancada.css (fonte visual aprovada, seções bc-gerar / bc-fases /
 * bc-steer da spec wb/1). Tokens: SÓ a família --tinta/--verde de
 * wwwroot/css/app.css + os pares fixos consolidados (vermelho de erro
 * #8c2f24; família --status-aviso). Nenhum hex novo fora dessas famílias.
 *
 * Tudo vive neste escopo porque o casco (WorkbenchLayout.razor.css) é scoped:
 * elementos de componentes filhos não herdam os seletores dele — a doca traz
 * as próprias seções/botões (mesmo padrão do ExplorerTree/DocumentTabs).
 */

.bc-doca-painel[b-s7jfm173su] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bc-doca-secao[b-s7jfm173su] {
    border: 1px solid var(--fio);
    border-radius: 10px;
    background: var(--fundo);
    padding: 0.7rem 0.85rem;
}

.bc-doca-secao > h3[b-s7jfm173su] {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}

.bc-doca-secao > h3 .bc-contador[b-s7jfm173su] {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: var(--verde-tinta);
}

.bc-doca-secao > h3 .bc-contador[data-testid="bc-doca-estado-execucao"][b-s7jfm173su] {
    color: var(--tinta);
}

.bc-dica-vazio[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-style: italic;
    font-size: 0.85rem;
    margin: 0;
}

.bc-apenas-leitor[b-s7jfm173su] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- botões (mockup bc-botao-primario / bc-botao-menor) ---------- */

.bc-botao-primario[b-s7jfm173su] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0.5rem 1.1rem;
    font: inherit;
    font-weight: 600;
    color: #ffffff; /* par fixo do produto (botão primário) */
    background: var(--verde);
    border: 1px solid var(--verde);
    border-radius: 8px;
    cursor: pointer;
}

.bc-botao-primario:hover:not(:disabled)[b-s7jfm173su] {
    background: var(--verde-escuro);
    border-color: var(--verde-escuro);
}

.bc-botao-primario:disabled[b-s7jfm173su] {
    opacity: 0.55;
    cursor: not-allowed;
}

.bc-botao-menor[b-s7jfm173su] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 36px;
    padding: 0.25rem 0.8rem;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    cursor: pointer;
}

.bc-botao-menor:hover:not(:disabled)[b-s7jfm173su] {
    background: var(--fundo-suave);
}

.bc-botao-menor:disabled[b-s7jfm173su] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ---------- cartão Gerar ---------- */

.bc-gerar-texto[b-s7jfm173su],
.bc-steer-texto[b-s7jfm173su] {
    width: 100%;
    min-height: 84px;
    font: inherit;
    font-size: 0.9rem;
    padding: 0.45rem 0.6rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    box-sizing: border-box;
}

.bc-steer-texto[b-s7jfm173su] {
    min-height: 56px;
}

.bc-steer-texto:disabled[b-s7jfm173su] {
    background: var(--fundo-suave);
}

.bc-gerar-linha[b-s7jfm173su] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.55rem;
}

.bc-gerar-dica[b-s7jfm173su] {
    flex: 1 1 10rem;
    color: var(--tinta-suave);
    font-size: 0.78rem;
    margin: 0;
}

.bc-gerar-tarefa[b-s7jfm173su] {
    margin: 0 0 0.45rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--tinta);
}

/* ---------- Execução: feed de fases (lendo → analisando → redigindo → verificando) ---------- */

.bc-doca-conexao[b-s7jfm173su] {
    margin: 0 0 0.45rem;
    font-size: 0.78rem;
    color: var(--tinta-suave);
}

.bc-doca-aviso-chip[b-s7jfm173su] {
    margin: 0 0 0.45rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--status-aviso-texto);
}

.bc-fases[b-s7jfm173su] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.3rem;
}

.bc-fase[b-s7jfm173su] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 32px;
    padding: 0.15rem 0.3rem;
    font-size: 0.88rem;
    color: var(--tinta-suave);
    border-radius: 6px;
}

.bc-fase-feita[b-s7jfm173su] {
    color: var(--tinta);
}

.bc-fase-feita .bc-fase-marca[b-s7jfm173su] {
    color: var(--verde-tinta);
    font-weight: 700;
}

.bc-fase-atual[b-s7jfm173su] {
    color: var(--tinta);
    font-weight: 600;
    background: var(--fundo-suave);
}

.bc-fase-atual .bc-fase-marca[b-s7jfm173su] {
    color: var(--verde-tinta);
}

.bc-fase-falhou[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
    font-weight: 600;
}

.bc-fase-falhou .bc-fase-marca[b-s7jfm173su] {
    font-weight: 700;
}

.bc-fase-marca[b-s7jfm173su] {
    flex: 0 0 1.1rem;
    text-align: center;
}

.bc-fase-rotulo[b-s7jfm173su] {
    flex: 1 1 auto;
    min-width: 0;
}

.bc-fase-icone[b-s7jfm173su] {
    font-size: 0.78rem;
    color: var(--tinta-suave);
}

.bc-fase-atual .bc-fase-icone[b-s7jfm173su] {
    color: var(--verde-tinta);
}

.bc-fase-nota[b-s7jfm173su] {
    flex: 0 0 auto;
    font-size: 0.72rem;
    color: var(--tinta-suave);
}

.bc-fase-pulso[b-s7jfm173su] {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
    animation: bc-doca-pulso-b-s7jfm173su 1.2s ease-in-out infinite;
}

@keyframes bc-doca-pulso-b-s7jfm173su {
    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bc-fase-pulso[b-s7jfm173su] {
        animation: none;
    }
}

.bc-feed-nota[b-s7jfm173su] {
    margin: 0.45rem 0 0;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

.bc-feed-erro-caixa[b-s7jfm173su] {
    margin: 0.45rem 0 0;
    padding: 0.45rem 0.65rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8c2f24; /* vermelho de erro fixo do produto */
    background: var(--fundo-suave);
    border: 1px solid #8c2f24;
    border-radius: 8px;
}

.bc-feed-erro-caixa .bc-botao-menor[b-s7jfm173su] {
    display: inline-flex;
    margin-left: 0.5rem;
    color: #8c2f24;
    border-color: #8c2f24;
}

/* ---------- Direcionar ---------- */

.bc-steer-nota[b-s7jfm173su] {
    margin: 0 0 0.45rem;
    font-size: 0.8rem;
    color: var(--status-aviso-texto);
}

.bc-steer-acoes[b-s7jfm173su] {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.bc-steer-enviando[b-s7jfm173su] {
    margin: 0.45rem 0 0;
    font-size: 0.82rem;
    color: var(--verde-tinta);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.bc-doca-erro[b-s7jfm173su] {
    margin: 0.45rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

.bc-steer-entrar[b-s7jfm173su] {
    font-weight: 400;
    margin-left: 0.4rem;
}

.bc-doca-aviso[b-s7jfm173su] {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--verde-tinta);
}

/* ---------- fila 9: caixa de supervisão (spec wb/1 4.4) ---------- */

.bc-inbox-lista[b-s7jfm173su] {
    display: grid;
    gap: 0.55rem;
}

.bc-inbox-item[b-s7jfm173su] {
    border-top: 1px solid var(--fio);
    padding-top: 0.55rem;
}

.bc-inbox-item:first-child[b-s7jfm173su] {
    border-top: none;
    padding-top: 0;
}

.bc-inbox-cab[b-s7jfm173su] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.6rem;
    align-items: baseline;
    margin: 0 0 0.3rem;
    font-size: 0.88rem;
}

.bc-inbox-quem[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
}

.bc-inbox-pedido[b-s7jfm173su] {
    margin: 0 0 0.45rem;
    font-size: 0.85rem;
}

.bc-inbox-status[b-s7jfm173su] {
    font-weight: 600;
    color: var(--verde-tinta);
}

.bc-inbox-item[data-status="rejected"] .bc-inbox-status[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

.bc-inbox-item[data-status="submitted"] .bc-inbox-status[b-s7jfm173su] {
    color: var(--status-aviso-texto);
}

.bc-inbox-acoes[b-s7jfm173su] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.bc-inbox-ok[b-s7jfm173su] {
    color: var(--verde-tinta);
    border-color: var(--verde-tinta);
}

.bc-inbox-nao[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
    border-color: #8c2f24;
}

.bc-inbox-decidida .bc-inbox-cab strong[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-weight: 500;
}

/* ---------- fila 9: pontos de restauração (spec wb/1 4.5) ---------- */

.bc-checkpoints[b-s7jfm173su] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.bc-checkpoint[b-s7jfm173su] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.6rem;
    padding: 0.3rem 0.15rem;
    border-bottom: 1px dashed var(--fio);
    font-size: 0.86rem;
}

.bc-checkpoint:last-child[b-s7jfm173su] {
    border-bottom: none;
}

.bc-checkpoint-rotulo[b-s7jfm173su] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.bc-checkpoint-selo[b-s7jfm173su] {
    flex: 0 0 auto;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--verde-tinta);
    border: 1px solid var(--verde-tinta);
    border-radius: 999px;
    padding: 0.05rem 0.5rem;
}

.bc-checkpoint-quando[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-size: 0.75rem;
    margin-left: auto;
    white-space: nowrap;
}

.bc-checkpoint-nota[b-s7jfm173su] {
    margin: 0.45rem 0 0;
    font-size: 0.75rem;
    color: var(--tinta-suave);
}

/* ---------- fila 9: execuções recentes (spec wb/1 4.6) ---------- */

.bc-historico[b-s7jfm173su] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.35rem;
}

.bc-hist-linha[b-s7jfm173su] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.3rem 0.6rem;
    padding: 0.3rem 0.15rem;
    border-bottom: 1px solid var(--fio);
    font-size: 0.85rem;
}

.bc-hist-linha:last-child[b-s7jfm173su] {
    border-bottom: none;
}

.bc-hist-status[b-s7jfm173su] {
    font-weight: 700;
    color: var(--verde-tinta);
}

.bc-hist-status.falhou[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

.bc-hist-tokens[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-size: 0.78rem;
}

.bc-hist-quando[b-s7jfm173su] {
    color: var(--tinta-suave);
    font-size: 0.75rem;
    margin-left: auto;
    white-space: nowrap;
}

/* ---------- fila 9: citações + selo (spec wb/1 4.7) ---------- */

.bc-citacoes[b-s7jfm173su] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.3rem;
}

.bc-citacao[b-s7jfm173su] {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 0.78rem;
    color: var(--tinta);
    overflow-wrap: anywhere;
}

.bc-citacao-marca[b-s7jfm173su] {
    font-weight: 700;
    font-family: inherit;
    color: var(--tinta-suave);
}

.bc-veredito-pass[b-s7jfm173su] {
    color: var(--verde-tinta);
}

.bc-veredito-fail[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

.bc-doca-selo[b-s7jfm173su] {
    margin: 0.6rem 0 0;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--verde-tinta);
}

.bc-doca-selo-pendente[b-s7jfm173su] {
    color: var(--status-aviso-texto);
}

.bc-doca-selo-falhou[b-s7jfm173su] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

.bc-selo-chip[b-s7jfm173su] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.15rem 0.6rem;
    border: 1px solid currentColor;
    border-radius: 999px;
}

.bc-doca-selo .bc-selo-nota[b-s7jfm173su] {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--tinta-suave);
}
/* /Features/Editor/CollaborativeLegalEditor.razor.rz.scp.css */
/* Cromologia do componente editor (todo 25). Os estilos do CONTEÚDO gerido
   pelo TipTap (.lx-editor, .lx-sec, sugestões) ficam em wwwroot/css/app.css
   porque o DOM do editor não recebe o atributo de escopo do Blazor. */

.ed-root[b-mp9qzfgyxs] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ed-topo[b-mp9qzfgyxs] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.ed-topo h1[b-mp9qzfgyxs] {
    margin: 0;
    font-size: 1.5rem;
}

.ed-doc[b-mp9qzfgyxs] {
    margin: 0;
    color: var(--tinta-suave);
    font-size: 0.95rem;
    word-break: break-all;
}

.ed-estados[b-mp9qzfgyxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ed-badge[b-mp9qzfgyxs] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    padding: 0.2rem 0.7rem;
    border-radius: 999px;
    border: 1px solid var(--fio);
    background: var(--fundo);
    font-size: 0.85rem;
    font-weight: 600;
}

.ed-badge-ok[b-mp9qzfgyxs] {
    background: var(--status-ok-fundo);
    color: var(--status-ok-texto);
    border-color: var(--status-ok-borda);
}

.ed-badge-off[b-mp9qzfgyxs] {
    background: var(--status-aviso-fundo);
    color: var(--status-aviso-texto);
    border-color: var(--status-aviso-borda);
}

.ed-badge-wait[b-mp9qzfgyxs] {
    color: var(--tinta-suave);
}

.ed-badge-pend[b-mp9qzfgyxs] {
    background: var(--status-aviso-fundo);
    color: var(--status-aviso-texto);
    border-color: var(--status-aviso-borda);
}

.ed-ponto[b-mp9qzfgyxs] {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: var(--tinta-suave);
    border: 1px solid var(--tinta);
}

.ed-badge-ok .ed-ponto[b-mp9qzfgyxs] {
    background: #16a34a;
}

.ed-badge-off .ed-ponto[b-mp9qzfgyxs],
.ed-badge-pend .ed-ponto[b-mp9qzfgyxs] {
    background: #d97706;
}

.ed-selado[b-mp9qzfgyxs] {
    border: 3px solid #7f1d1d;
    border-left-width: 10px;
    background: #fef2f2;
    color: #450a0a;
    padding: 0.9rem 1rem;
    border-radius: 8px;
}

.ed-selado h2[b-mp9qzfgyxs] {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
}

.ed-selado p[b-mp9qzfgyxs] {
    margin: 0;
}

.ed-aviso-sigilo[b-mp9qzfgyxs] {
    margin: 0;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    background: var(--status-aviso-fundo);
    color: var(--status-aviso-texto);
    border: 1px dashed var(--status-aviso-borda);
}

.ed-painel[b-mp9qzfgyxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: flex-start;
}

.ed-modo[b-mp9qzfgyxs] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 0.6rem 0.9rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    background: var(--fundo);
}

.ed-modo legend[b-mp9qzfgyxs] {
    font-weight: 600;
    padding: 0 0.35rem;
}

.ed-pares[b-mp9qzfgyxs] {
    flex: 1 1 14rem;
    min-width: 14rem;
}

.ed-rotulo-painel[b-mp9qzfgyxs] {
    font-size: 0.9rem;
    margin: 0 0 0.35rem;
    color: var(--tinta-suave);
}

.ed-pares-lista[b-mp9qzfgyxs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ed-par[b-mp9qzfgyxs] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: 1px solid var(--fio);
    background: var(--fundo);
    border-radius: 999px;
    padding: 0.2rem 0.75rem;
    font-size: 0.9rem;
}

.ed-par-cor[b-mp9qzfgyxs] {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    border: 2px solid var(--fundo);
    outline: 1px solid var(--tinta);
}

.ed-par-ia[b-mp9qzfgyxs] {
    border-style: dashed;
    border-color: #7c3aed;
    background: #f5f3ff;
}

.ed-par-nota[b-mp9qzfgyxs] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
}

/* Estados (ícone + texto + ação) — carregamento/espera vira esqueleto;
   erro e vazio usam o bloco .ed-estado. Cor por status apenas (todo 23). */
.ed-estado[b-mp9qzfgyxs] {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    border-radius: 8px;
    border: 1px solid var(--fio);
    background: var(--fundo-suave);
    padding: 0.85rem 1rem;
}

.ed-estado-icone[b-mp9qzfgyxs] {
    font-size: 1.25rem;
    line-height: 1.3;
    flex: 0 0 auto;
}

.ed-estado-corpo[b-mp9qzfgyxs] {
    flex: 1 1 auto;
    min-width: 0;
}

.ed-estado-texto[b-mp9qzfgyxs] {
    margin: 0;
    font-weight: 600;
}

.ed-estado-dica[b-mp9qzfgyxs] {
    margin: 0.15rem 0 0;
    color: var(--tinta-suave);
    font-size: 0.9rem;
}

.ed-estado-acoes[b-mp9qzfgyxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.ed-estado-acao[b-mp9qzfgyxs] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0.35rem 1rem;
    border-radius: 8px;
    border: 1px solid var(--fio-forte);
    color: var(--tinta);
    background: var(--fundo);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.ed-estado-erro[b-mp9qzfgyxs] {
    background: #fef2f2;
    border-color: #b91c1c;
    color: #7f1d1d;
}

.ed-estado-erro .ed-estado-acao-destaque[b-mp9qzfgyxs] {
    background: #7f1d1d;
    border-color: #7f1d1d;
    color: #ffffff;
}

.ed-estado-vazio .ed-estado-texto[b-mp9qzfgyxs] {
    color: var(--tinta);
}

.ed-aviso[b-mp9qzfgyxs] {
    margin: 0;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    background: var(--status-ok-fundo);
    color: var(--status-ok-texto);
}

.ed-sugestoes[b-mp9qzfgyxs] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    background: var(--fundo);
    padding: 0.75rem 1rem;
}

.ed-sugestoes h2[b-mp9qzfgyxs] {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
}

.ed-sug-legenda[b-mp9qzfgyxs] {
    margin: 0 0 0.6rem;
    font-size: 0.85rem;
    color: var(--tinta-suave);
}

.lx-sug-insercao-ed[b-mp9qzfgyxs] {
    text-decoration: underline;
    text-decoration-style: wavy;
    text-decoration-color: #15803d;
    text-underline-offset: 3px;
}

.lx-sug-remocao-ed[b-mp9qzfgyxs] {
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.ed-sug-lista[b-mp9qzfgyxs] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ed-sug[b-mp9qzfgyxs] {
    border: 1px dashed var(--fio);
    border-radius: 8px;
    padding: 0.6rem 0.75rem;
}

.ed-sug-meta[b-mp9qzfgyxs] {
    margin: 0 0 0.25rem;
    font-size: 0.9rem;
}

.ed-sug-texto[b-mp9qzfgyxs] {
    margin: 0 0 0.5rem;
    padding: 0.35rem 0.6rem;
    background: var(--fundo-suave);
    border-radius: 6px;
}

.ed-sug-acoes[b-mp9qzfgyxs] {
    display: flex;
    gap: 0.5rem;
}

/* Barra única de ferramentas (T07): uma linha no desktop (1440), quebra
   limpa no mobile (375) — os disclosures ficam lado a lado, não empilhados
   em quatro linhas cheias antes do documento. */
.ed-ferramentas[b-mp9qzfgyxs] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: stretch;
}

.ed-ferramenta[b-mp9qzfgyxs] {
    flex: 1 1 13rem;
    border: 1px solid var(--fio);
    border-radius: 8px;
    background: var(--fundo);
    padding: 0.5rem 0.9rem;
}

.ed-ferramenta summary[b-mp9qzfgyxs] {
    cursor: pointer;
    font-weight: 600;
    padding: 0.2rem 0;
}

.ed-ferramenta[open] summary[b-mp9qzfgyxs] {
    margin-bottom: 0.5rem;
}

.ed-form[b-mp9qzfgyxs] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.35rem 0.75rem;
    padding-bottom: 0.5rem;
}

@media (min-width: 640px) {
    .ed-form[b-mp9qzfgyxs] {
        grid-template-columns: 1fr 1fr;
    }

    .ed-form label[b-mp9qzfgyxs] {
        grid-column: 1;
    }

    .ed-form input[b-mp9qzfgyxs],
    .ed-form select[b-mp9qzfgyxs],
    .ed-form button[b-mp9qzfgyxs] {
        grid-column: 2;
    }
}

.ed-form label[b-mp9qzfgyxs] {
    font-size: 0.9rem;
    color: var(--tinta-suave);
}

.ed-botao[b-mp9qzfgyxs] {
    border: 1px solid var(--verde);
    background: var(--verde);
    color: #ffffff;
    border-radius: 8px;
    padding: 0.4rem 1rem;
    font-weight: 600;
    cursor: pointer;
}

.ed-botao-ok[b-mp9qzfgyxs] {
    background: var(--verde);
    border-color: var(--verde);
}

.ed-selecao[b-mp9qzfgyxs] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--tinta-suave);
    border-left: 4px solid var(--fio);
    padding: 0.25rem 0.75rem;
}

.ed-host[b-mp9qzfgyxs] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    background: var(--fundo);
    padding: 0.25rem 0.75rem;
    min-height: 22rem;
}

/* Esqueleto de carregamento (T08): blocos espelhando o formato final das
   seções do documento (.lx-sec/.lx-sec-titulo em app.css), não texto avulso. */
.ed-esqueleto[b-mp9qzfgyxs] {
    padding: 1rem 0.5rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.ed-esqueleto-sec[b-mp9qzfgyxs] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    border-top: 1px solid var(--fio);
    padding-top: 0.8rem;
}

.ed-esqueleto-sec:first-child[b-mp9qzfgyxs] {
    border-top: none;
    padding-top: 0;
}

.ed-esqueleto-titulo[b-mp9qzfgyxs],
.ed-esqueleto-linha[b-mp9qzfgyxs] {
    display: block;
    border-radius: 6px;
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    animation: ed-esqueleto-pulso-b-mp9qzfgyxs 1.4s ease-in-out infinite;
}

.ed-esqueleto-titulo[b-mp9qzfgyxs] {
    width: 9rem;
    height: 1.1rem;
}

.ed-esqueleto-linha[b-mp9qzfgyxs] {
    width: 100%;
    height: 0.9rem;
}

.ed-esqueleto-linha-curta[b-mp9qzfgyxs] {
    width: 65%;
}

@keyframes ed-esqueleto-pulso-b-mp9qzfgyxs {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
    .ed-esqueleto-titulo[b-mp9qzfgyxs],
    .ed-esqueleto-linha[b-mp9qzfgyxs] {
        animation: none;
    }
}

.ed-host[data-movimento-reduzido="true"] .ed-esqueleto-titulo[b-mp9qzfgyxs],
.ed-host[data-movimento-reduzido="true"] .ed-esqueleto-linha[b-mp9qzfgyxs] {
    animation: none;
}

.ed-apenas-leitor[b-mp9qzfgyxs] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* UX-3: alto contraste + movimento reduzido, aplicados ao contêiner. */
.ed-host[data-alto-contraste="true"][b-mp9qzfgyxs] {
    --fundo: #000000;
    --fundo-suave: #1c1917;
    --tinta: #ffffff;
    --tinta-suave: #f3f4f6;
    --fio: #ffffff;
    --fio-forte: #f3f4f6;
    /* O conteúdo TipTap (app.css) lê --tinta/--foco/--verde-tinta: sem a
       sobreposição aqui, títulos, links e focus-ring continuariam escuros
       sobre fundo preto (contraste 1.27:1, WCAG 2.2 AA color-contrast). */
    --foco: #fde047;
    --verde-tinta: #fde047;
    --status-aviso-fundo: #1c1917;
    --status-aviso-texto: #fde68a;
    --status-aviso-borda: #fde68a;
    background: #000000;
    color: #ffffff;
    border-width: 2px;
}

.ed-host[data-movimento-reduzido="true"] [b-mp9qzfgyxs]::selection {
    background: var(--verde-tinta);
}
/* /Features/Steering/AiThinkingAndSteeringPanel.razor.rz.scp.css */
/* AiThinkingAndSteeringPanel (todo 26) - herda os tokens verde/tinta de
   wwwroot/css/app.css (identidade unificada, plano v2 todo 23).
   Contraste AA: pares de status (ok/aviso) vindos dos tokens do shell ou
   texto escuro sobre superfície clara com borda escura. A fita de confiança
   é neutra (cinza da família); cor fica reservada a status. */

.steering[b-fq0j4or1q7] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.steering h1[b-fq0j4or1q7] {
    margin: 0;
}

.steering h2[b-fq0j4or1q7] {
    font-size: 1.05rem;
    margin: 0 0 0.5rem;
}

.steering-recusa[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 2px solid var(--status-aviso-borda);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

.steering-recusa h2[b-fq0j4or1q7] {
    color: var(--status-aviso-texto);
}

.steering-recusa-acoes[b-fq0j4or1q7] {
    display: flex;
    gap: 1rem;
}

/* Portão de sessão (todo 3): estado neutro enquanto o restauro da sessão
   persistida está em voo — nunca pisca o CTA de Entrar. */
.steering-aguardando[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 2px solid var(--fio);
    border-radius: 8px;
    color: var(--tinta-suave);
    margin: 0;
    padding: 0.75rem 1.25rem;
}

/* Fita de confiança (UX-1): faixa persistente acima de tudo no painel —
   neutra (fundo suave + fio), espelhando o contrato da suíte UI/UX. */
.steering-fita[b-fq0j4or1q7] {
    background: var(--fundo-suave);
    color: var(--tinta);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1.25rem;
    border: 1px solid var(--fio);
    border-radius: 10px;
    padding: 0.55rem 0.9rem;
}

.steering-fita-item[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 999px;
    color: var(--tinta);
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0;
    padding: 0.2rem 0.75rem;
}

.steering-fita-selo-ok[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border-color: var(--status-ok-borda);
    color: var(--status-ok-texto);
}

.steering-fita-selo-falhou[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.steering-selo-detalhe[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

.steering-selo-detalhe p[b-fq0j4or1q7] {
    margin: 0.25rem 0 0;
}

.steering-barra[b-fq0j4or1q7] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.steering-chip[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 999px;
    color: var(--tinta);
    font-weight: 600;
    margin: 0;
    padding: 0.2rem 0.75rem;
}

.steering-chip-alerta[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.steering-tokens[b-fq0j4or1q7] {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0 0 0 auto;
}

.steering-tokens-trilha[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 999px;
    display: block;
    height: 0.6rem;
    min-width: 10rem;
    overflow: hidden;
}

.steering-tokens-preenchimento[b-fq0j4or1q7] {
    background: var(--verde-tinta);
    display: block;
    height: 100%;
}

.steering-erro[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 8px;
    color: var(--status-aviso-texto);
    font-weight: 600;
    margin: 0;
    padding: 0.5rem 0.75rem;
}

/* CTA Entrar da sessão expirada (todo 4): herda o par do bloco de erro. */
.steering-erro-entrar[b-fq0j4or1q7] {
    color: inherit;
    font-weight: 700;
    margin-left: 0.5rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.steering-aviso[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-borda);
    border-radius: 8px;
    color: var(--status-ok-texto);
    margin: 0;
    padding: 0.5rem 0.75rem;
}

.steering-anuncio-visually-hidden[b-fq0j4or1q7] {
    clip-path: inset(50%);
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.steering-transcricao[b-fq0j4or1q7],
.steering-direcionar[b-fq0j4or1q7],
.steering-citacoes[b-fq0j4or1q7],
.steering-acoes[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.steering-vazio[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    margin: 0;
}

.steering-nos[b-fq0j4or1q7] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.steering-no[b-fq0j4or1q7] {
    border: 1px solid var(--fio);
    border-left: 4px solid var(--fio);
    border-radius: 8px;
    padding: 0.75rem 1rem;
}

/* Seleção (todo 27): além da borda, tinta verde suave + selo ✓ — o nó que
   alimentou o campo de direcionamento fica visível (mesma família verde). */
.steering-no-selecionado[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border-color: var(--verde-tinta);
    border-left-color: var(--verde-tinta);
}

.steering-no-check[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--verde-tinta);
    border-radius: 999px;
    color: var(--verde-tinta);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.1rem 0.6rem;
}

/* Fase do nó (todo 27): chip tipado por fase de trabalho; o glifo circulado
   é decorativo (aria-hidden), o rótulo é texto real. */
.steering-fase[b-fq0j4or1q7] {
    border: 1px solid var(--fio-forte);
    border-radius: 999px;
    color: var(--tinta-suave);
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.1rem 0.6rem;
}

.steering-fase-icone[b-fq0j4or1q7] {
    margin-right: 0.25rem;
}

/* Pulso (todo 27): ponto pulsante dos estados de espera (envio, reconexão,
   aguardando raciocínio). Desligado sob prefers-reduced-motion (WCAG 2.3.3). */
.steering-pulso[b-fq0j4or1q7] {
    animation: steering-pulso-b-fq0j4or1q7 1.2s ease-in-out infinite;
    background: currentColor;
    border-radius: 50%;
    display: inline-block;
    height: 0.55rem;
    margin-right: 0.35rem;
    vertical-align: middle;
    width: 0.55rem;
}

@keyframes steering-pulso-b-fq0j4or1q7 {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.75); }
}

@media (prefers-reduced-motion: reduce) {
    .steering-pulso[b-fq0j4or1q7] {
        animation: none;
    }
}

.steering-no-cabecalho[b-fq0j4or1q7] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.steering-persona[b-fq0j4or1q7] {
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.15rem 0.75rem;
}

/* Persona: pares claros com texto escuro (contraste AA sobre --fundo). */
.steering-persona-master[b-fq0j4or1q7] {
    background: var(--tinta);
    color: #ffffff;
}

.steering-persona-strategist[b-fq0j4or1q7] {
    background: #e0e7ff;
    color: #1e1b4b;
}

.steering-persona-devils_advocate[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    color: var(--status-aviso-texto);
}

.steering-persona-stylist[b-fq0j4or1q7] {
    background: #fce7f3;
    color: #831843;
}

.steering-persona-synthesizer[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    color: var(--status-ok-texto);
}

.steering-persona-judge[b-fq0j4or1q7] {
    background: #e2e8f0;
    color: #0f172a;
}

.steering-passo[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.steering-conteudo[b-fq0j4or1q7] {
    margin: 0.5rem 0;
}

.steering-chip-decisao[b-fq0j4or1q7],
.steering-chip-decisao-pendente[b-fq0j4or1q7] {
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta-suave);
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    margin-right: 0.5rem;
    padding: 0.2rem 0.6rem;
}

.steering-chip-decisao-pendente[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    cursor: default;
}

.steering-botao[b-fq0j4or1q7],
.steering-botao-menor[b-fq0j4or1q7] {
    background: var(--verde);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0.5rem 1rem;
}

.steering-botao-menor[b-fq0j4or1q7] {
    align-self: flex-start;
    background: var(--fundo);
    border: 1px solid var(--verde-tinta);
    color: var(--verde-tinta);
    font-size: 0.85rem;
    padding: 0.3rem 0.75rem;
}

.steering-botao:disabled[b-fq0j4or1q7],
.steering-botao-menor:disabled[b-fq0j4or1q7] {
    background: var(--fio);
    border-color: var(--fio);
    color: var(--tinta-suave);
    cursor: not-allowed;
}

.steering-nota[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 8px;
    color: var(--status-aviso-texto);
    margin: 0;
    padding: 0.5rem 0.75rem;
}

.steering-direcionar label[b-fq0j4or1q7] {
    font-weight: 600;
}

.steering-texto[b-fq0j4or1q7] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    font: inherit;
    padding: 0.5rem 0.75rem;
    resize: vertical;
}

.steering-dica[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
    margin: 0;
}

/* Espera do envio (todo 27): pulso + texto; o botão primário permanece
   desabilitado enquanto o despacho está em voo. */
.steering-enviando[b-fq0j4or1q7] {
    align-items: center;
    color: var(--tinta-suave);
    display: flex;
    font-weight: 600;
    gap: 0.25rem;
    margin: 0;
}

/* Registro de direcionamentos aplicados (todo 27): trilha dos steer_applied
   com os affordances ⟲ Reusar / ↶ Desfazer. */
.steering-registro[b-fq0j4or1q7] {
    border-left: 3px solid var(--fio-forte);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0 0 0 0.75rem;
}

.steering-registro li[b-fq0j4or1q7] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.steering-registro-texto[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
}

.steering-registro-acoes[b-fq0j4or1q7] {
    display: inline-flex;
    gap: 0.4rem;
}

/* Fracasso honesto no feed (todo 27): geração falhou => escalado, com o
   raciocínio preservado abaixo (nunca texto cru de erro). */
.steering-fracasso[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 8px;
    color: var(--status-aviso-texto);
    font-weight: 600;
    margin: 0;
    padding: 0.5rem 0.75rem;
}

/* Taxonomia de selos (todo 27): chips de veredito + tier de risco derivado
   (BAIXO/MÉDIO/ALTO) + copy do portão na mesma linha. */
.steering-portao[b-fq0j4or1q7] {
    align-items: center;
    color: var(--tinta-suave);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
}

.steering-taxonomia[b-fq0j4or1q7],
.steering-taxonomia-nivel[b-fq0j4or1q7] {
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.1rem 0.6rem;
}

.steering-taxonomia-ok[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-borda);
    color: var(--status-ok-texto);
}

.steering-taxonomia-pendente[b-fq0j4or1q7] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio-forte);
    color: var(--tinta);
}

.steering-taxonomia-falhou[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.steering-taxonomia-nivel-BAIXO[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-borda);
    color: var(--status-ok-texto);
}

.steering-taxonomia-nivel-MÉDIO[b-fq0j4or1q7] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio-forte);
    color: var(--tinta);
}

.steering-taxonomia-nivel-ALTO[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

/* Nota de confiança do fluxo (todo 27): contrato do cookie do todo 5. */
.steering-fluxo-nota[b-fq0j4or1q7] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    margin: 0;
}

.steering-lista-citacoes[b-fq0j4or1q7] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.steering-lista-citacoes li[b-fq0j4or1q7] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.steering-chip-veredito[b-fq0j4or1q7] {
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.15rem 0.75rem;
}

.steering-veredito-pass[b-fq0j4or1q7] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-borda);
    color: var(--status-ok-texto);
}

.steering-veredito-fail[b-fq0j4or1q7] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.steering-veredito-blocked[b-fq0j4or1q7] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio-forte);
    color: var(--tinta);
}

.steering-acoes[b-fq0j4or1q7] {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

.steering-botao-exportar[b-fq0j4or1q7] {
    margin-left: auto;
}
/* /Features/Vfs/OnboardingWizard.razor.rz.scp.css */
/* OnboardingWizard (todo 24) - tokens verde/tinta de wwwroot/css/app.css
   (identidade unificada, plano v2 todo 23).
   Os utilitários vfs-* são duplicados aqui porque o CSS isolado do
   VfsExplorer só se aplica ao próprio componente. */

.onb[b-2wyl847dbe] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.onb-meta[b-2wyl847dbe] {
    color: var(--tinta-suave);
    margin: 0;
}

.onb-passos[b-2wyl847dbe] {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.onb-passos li[b-2wyl847dbe] {
    align-items: center;
    color: var(--tinta-suave);
    display: flex;
    font-weight: 600;
    gap: 0.4rem;
}

/* Conector entre etapas: traço que liga o círculo da etapa anterior à seguinte;
   verde quando a etapa ANTERIOR está concluída. */
.onb-passos li + li[b-2wyl847dbe]::before {
    background: var(--fio-forte);
    content: "";
    flex: none;
    height: 2px;
    margin: 0 0.6rem;
    width: 1.4rem;
}

.onb-passo-feito + li[b-2wyl847dbe]::before {
    background: var(--verde-tinta);
}

.onb-passo-marcador[b-2wyl847dbe] {
    align-items: center;
    border: 2px solid var(--fio-forte);
    border-radius: 50%;
    color: var(--tinta-suave);
    display: inline-flex;
    flex: none;
    font-size: 0.8rem;
    font-weight: 700;
    height: 1.5rem;
    justify-content: center;
    line-height: 1;
    width: 1.5rem;
}

.onb-passo-feito .onb-passo-marcador[b-2wyl847dbe] {
    background: var(--verde);
    border-color: var(--verde);
    color: #ffffff; /* par fixo do produto (mesmo do botão primário vfs-botao) */
}

.onb-passos li[aria-current="step"] .onb-passo-marcador[b-2wyl847dbe] {
    border-color: var(--verde-tinta);
    color: var(--verde-tinta);
}

.onb-passos li[aria-current="step"] .onb-passo-rotulo[b-2wyl847dbe] {
    color: var(--tinta);
}

.onb-sr[b-2wyl847dbe] {
    clip: rect(0, 0, 0, 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

@media (max-width: 480px) {
    .onb-passos[b-2wyl847dbe] {
        flex-direction: column;
    }

    .onb-passos li + li[b-2wyl847dbe]::before {
        height: 0.9rem;
        margin: 0.15rem 0 0.15rem 0.75rem;
        width: 2px;
    }
}

.onb-andamento[b-2wyl847dbe] {
    font-size: 0.85rem;
    color: var(--tinta-suave);
    margin: 0;
}

.onb-passo[b-2wyl847dbe] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    max-width: 34rem;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.onb-passo-titulo[b-2wyl847dbe] {
    margin: 0;
}

.onb-acertos[b-2wyl847dbe] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    background: var(--fundo-suave);
    padding: 0.75rem 1rem;
}

.onb-acertos h3[b-2wyl847dbe] {
    margin: 0 0 0.5rem;
}

.onb-acertos-lista[b-2wyl847dbe] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.onb-acerto[b-2wyl847dbe] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.onb-acerto-nome[b-2wyl847dbe] {
    font-weight: 700;
}

.onb-acerto-cnj[b-2wyl847dbe] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.onb-acerto-origem[b-2wyl847dbe] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.onb-portao[b-2wyl847dbe] {
    border: 2px solid var(--status-aviso-borda);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: var(--status-aviso-fundo);
}

.onb-portao h3[b-2wyl847dbe] {
    color: var(--status-aviso-texto);
    margin: 0 0 0.5rem;
}

.onb-ancoras[b-2wyl847dbe] {
    background: var(--fundo);
    border: 1px dashed var(--status-aviso-borda);
    border-radius: 6px;
    margin: 0.75rem 0;
    padding: 0.5rem 0.75rem;
}

.onb-ancoras h4[b-2wyl847dbe] {
    margin: 0 0 0.35rem;
}

.onb-ancoras ul[b-2wyl847dbe] {
    margin: 0;
    padding-left: 1.1rem;
}

.onb-ciencia-ok[b-2wyl847dbe] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-texto);
    border-radius: 6px;
    color: var(--status-ok-texto);
    font-weight: 600;
    padding: 0.5rem 0.75rem;
}

.onb-erro[b-2wyl847dbe] {
    background: #fef2f2;
    border-left: 4px solid var(--status-aviso-borda);
    color: var(--status-aviso-texto);
    margin: 0.5rem 0 0;
    padding: 0.5rem 0.75rem;
}

/* CTA Entrar da sessão expirada (todo 4): herda o par do bloco de erro. */
.onb-erro-entrar[b-2wyl847dbe] {
    color: inherit;
    font-weight: 700;
    margin-left: 0.5rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.onb-fim p[b-2wyl847dbe] {
    font-size: 1.05rem;
}

.vfs-botao[b-2wyl847dbe] {
    background: var(--verde);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
    align-self: flex-start;
}

.vfs-botao:hover:not(:disabled)[b-2wyl847dbe] {
    background: var(--verde-escuro);
}

.vfs-botao:disabled[b-2wyl847dbe] {
    background: var(--fio);
    color: var(--tinta-suave);
    cursor: not-allowed;
}

.vfs-botao-destaque[b-2wyl847dbe] {
    font-size: 1.05rem;
    padding: 0.6rem 1.1rem;
}

.vfs-botao-link[b-2wyl847dbe] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vfs-form[b-2wyl847dbe] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-width: 100%;
}

.vfs-form label[b-2wyl847dbe] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
}

.vfs-form input[b-2wyl847dbe],
.vfs-form select[b-2wyl847dbe] {
    border: 1px solid var(--fio);
    border-radius: 6px;
    font: inherit;
    padding: 0.35rem 0.5rem;
}

.vfs-form input[aria-invalid="true"][b-2wyl847dbe] {
    border-color: var(--status-aviso-borda);
    border-width: 2px;
}

.vfs-dica[b-2wyl847dbe] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    margin: 0;
}

.vfs-chip[b-2wyl847dbe] {
    background: var(--fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 999px;
    color: var(--status-aviso-texto);
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.1rem 0.6rem;
    white-space: nowrap;
}

.vfs-chip-alerta[b-2wyl847dbe] {
    background: var(--fundo);
}
/* /Features/Vfs/VfsExplorer.razor.rz.scp.css */
/* VfsExplorer (todo 24) - herda os tokens verde/tinta de wwwroot/css/app.css
   (identidade unificada, plano v2 todo 23). */

.vfs[b-p80hkz23bf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

/* accent-color nos controles nativos (todo v2-26): checkboxes/radios/progresso
   herdam o verde da identidade em vez do azul default do navegador. */
.vfs input[type="checkbox"][b-p80hkz23bf],
.vfs input[type="radio"][b-p80hkz23bf],
.vfs progress[b-p80hkz23bf] {
    accent-color: var(--verde-tinta);
}

.vfs-recusa[b-p80hkz23bf] {
    background: var(--fundo);
    border: 2px solid var(--status-aviso-borda);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

.vfs-recusa h2[b-p80hkz23bf] {
    margin: 0 0 0.5rem;
    color: var(--status-aviso-texto);
}

.vfs-recusa-acoes[b-p80hkz23bf] {
    display: flex;
    gap: 1rem;
}

/* Portão de sessão (todo 3): estado neutro enquanto o restauro da sessão
   persistida está em voo — nunca pisca o CTA de Entrar. */
.vfs-aguardando[b-p80hkz23bf] {
    background: var(--fundo);
    border: 2px solid var(--fio);
    border-radius: 8px;
    color: var(--tinta-suave);
    margin: 0;
    padding: 0.75rem 1.25rem;
}

.vfs-abas[b-p80hkz23bf] {
    display: flex;
    gap: 0.25rem;
    border-bottom: 2px solid var(--fio);
}

.vfs-aba[b-p80hkz23bf] {
    align-items: center;
    background: transparent;
    border: 2px solid transparent;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    color: var(--tinta-suave);
    cursor: pointer;
    display: inline-flex;
    flex-wrap: wrap;
    font: inherit;
    font-weight: 600;
    gap: 0.4rem;
    min-height: 44px;
    padding: 0.5rem 1rem;
}

.vfs-aba-ativa[b-p80hkz23bf] {
    background: var(--fundo);
    border-color: var(--fio);
    color: var(--tinta);
    margin-bottom: -2px;
}

.vfs-aba-nome[b-p80hkz23bf] {
    color: inherit;
}

.vfs-chip-aba[b-p80hkz23bf] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 999px;
    color: var(--tinta-suave);
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.05rem 0.5rem;
    white-space: nowrap;
}

.vfs-aba-ativa .vfs-chip-aba[b-p80hkz23bf] {
    border-color: var(--verde-tinta);
    color: var(--verde-tinta);
}

.vfs-abas-descricao[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
    margin: -0.25rem 0 0;
}

.vfs-painel[b-p80hkz23bf] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 0 8px 8px 8px;
    padding: 1rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.vfs-barra[b-p80hkz23bf] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

/* Trilha clicável (todo v2-26): substitui o texto estático "Pasta atual". */
.vfs-trilha[b-p80hkz23bf] {
    margin-right: auto;
    min-width: 0;
}

.vfs-trilha ol[b-p80hkz23bf] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.vfs-trilha-passo[b-p80hkz23bf] {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
}

.vfs-trilha-link[b-p80hkz23bf] {
    background: transparent;
    border: none;
    border-radius: 4px;
    color: var(--verde-tinta);
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    min-height: 40px;
    padding: 0.25rem 0.35rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.vfs-trilha-link:hover[b-p80hkz23bf] {
    background: var(--fundo-suave);
}

.vfs-trilha-atual[b-p80hkz23bf] {
    font-weight: 700;
    min-height: 40px;
    padding: 0.25rem 0.35rem;
}

.vfs-trilha-separador[b-p80hkz23bf] {
    color: var(--tinta-suave);
}

.vfs-rotulo-caixa[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-weight: 400;
}

.vfs-modo[b-p80hkz23bf] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    display: inline-flex;
    gap: 0.75rem;
    margin: 0;
    padding: 0.25rem 0.75rem 0.5rem;
}

.vfs-modo legend[b-p80hkz23bf] {
    font-size: 0.85rem;
    padding: 0 0.25rem;
    color: var(--tinta-suave);
}

.vfs-botao[b-p80hkz23bf] {
    background: var(--verde);
    border: none;
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
}

.vfs-botao:hover:not(:disabled)[b-p80hkz23bf] {
    background: var(--verde-escuro);
}

.vfs-botao:disabled[b-p80hkz23bf] {
    background: var(--fio);
    color: var(--tinta-suave);
    cursor: not-allowed;
}

.vfs-botao-menor[b-p80hkz23bf] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 6px;
    color: var(--verde-tinta);
    cursor: pointer;
    font: inherit;
    font-size: 0.85rem;
    padding: 0.2rem 0.5rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vfs-botao-menor:hover:not(:disabled)[b-p80hkz23bf] {
    background: var(--fundo-suave);
}

.vfs-acoes[b-p80hkz23bf] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

/* "Criar pasta" quebra limpo em 375px (todo v2-26). */
.vfs-nova-pasta[b-p80hkz23bf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 16rem;
    max-width: 100%;
}

.vfs-nova-pasta label[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
    width: 100%;
}

.vfs-nova-pasta input[b-p80hkz23bf] {
    border: 1px solid var(--fio);
    border-radius: 6px;
    flex: 1 1 12rem;
    font: inherit;
    min-width: 0;
    padding: 0.5rem 0.6rem;
}

/* Zona de envio PT-BR (todo v2-26): o InputFile fica como camada transparente
   sobre a zona — nenhum cromo nativo "Choose File" renderiza, mas o alvo
   continua visível/focável/clicável (contrato input[data-testid=vfs-enviar]). */
.vfs-enviar-zona[b-p80hkz23bf] {
    border: 2px dashed var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta-suave);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-height: 4.5rem;
    min-width: 14rem;
    padding: 0.6rem 0.9rem;
    position: relative;
}

.vfs-enviar-zona:hover[b-p80hkz23bf],
.vfs-enviar-zona:focus-within[b-p80hkz23bf] {
    background: var(--fundo-suave);
    border-color: var(--verde-tinta);
}

.vfs-enviar-zona:focus-within[b-p80hkz23bf] {
    outline: 3px solid var(--verde-tinta);
    outline-offset: 2px;
}

.vfs-enviar-rotulo[b-p80hkz23bf] {
    color: var(--tinta);
    font-weight: 600;
}

.vfs-enviar-sub[b-p80hkz23bf] {
    font-size: 0.85rem;
}

.vfs-enviar-arquivo[b-p80hkz23bf] {
    color: var(--verde-tinta);
    font-size: 0.85rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.vfs-input-arquivo[b-p80hkz23bf] {
    bottom: 0;
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.vfs-enviar-zona:has(.vfs-input-arquivo:disabled)[b-p80hkz23bf] {
    cursor: not-allowed;
    opacity: 0.55;
}

.vfs-enviar-zona-reduzida[b-p80hkz23bf] {
    min-width: 0;
}

.vfs-dica[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    margin: 0;
}

.vfs-erro[b-p80hkz23bf] {
    background: #fef2f2;
    border-left: 4px solid var(--status-aviso-borda);
    color: var(--status-aviso-texto);
    margin: 0;
    padding: 0.5rem 0.75rem;
}

/* CTA Entrar da sessão expirada (todo 4): herda o par do bloco de erro. */
.vfs-erro-entrar[b-p80hkz23bf] {
    color: inherit;
    font-weight: 700;
    margin-left: 0.5rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Aviso de caso selado (role=alert): status, não cromo — par de aviso. */
.vfs-selo-aviso[b-p80hkz23bf] {
    background: var(--status-aviso-fundo);
    color: var(--status-aviso-texto);
    border: 1px solid var(--status-aviso-borda);
    font-weight: 600;
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-radius: 6px;
}

.vfs-aviso[b-p80hkz23bf] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 6px;
    color: var(--status-aviso-texto);
    margin: 0;
    padding: 0.5rem 0.75rem;
}

.vfs-vazio[b-p80hkz23bf] {
    color: var(--tinta-suave);
}

.vfs-chip[b-p80hkz23bf] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 999px;
    color: var(--tinta-suave);
    font-size: 0.75rem;
    font-weight: 600;
    margin-left: 0.4rem;
    padding: 0.05rem 0.5rem;
    white-space: nowrap;
}

.vfs-chip-alerta[b-p80hkz23bf] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.vfs-chip-selo[b-p80hkz23bf] {
    background: var(--tinta);
    border-color: var(--tinta);
    color: #ffffff;
}

.vfs-chip-bloqueio[b-p80hkz23bf] {
    background: var(--status-ok-fundo);
    border-color: var(--status-ok-texto);
    color: var(--status-ok-texto);
}

.vfs-chip-lixeira[b-p80hkz23bf] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.vfs-lista[b-p80hkz23bf] {
    border-collapse: collapse;
    width: 100%;
}

.vfs-lista caption[b-p80hkz23bf] {
    caption-side: top;
    color: var(--tinta-suave);
    font-size: 0.9rem;
    text-align: left;
    padding-bottom: 0.5rem;
}

.vfs-lista th[b-p80hkz23bf],
.vfs-lista td[b-p80hkz23bf] {
    border-bottom: 1px solid var(--fio);
    padding: 0.4rem 0.6rem;
    text-align: left;
    vertical-align: top;
}

.vfs-lista thead th[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.vfs-acoes-celula[b-p80hkz23bf] {
    white-space: nowrap;
}

.vfs-acoes-celula .vfs-botao-menor[b-p80hkz23bf] {
    margin-right: 0.25rem;
}

.vfs-versoes[b-p80hkz23bf] {
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: var(--fundo-suave);
}

.vfs-versoes h3[b-p80hkz23bf] {
    margin: 0 0 0.5rem;
}

.vfs-versoes-lista[b-p80hkz23bf] {
    list-style: none;
    margin: 0 0 0.75rem;
    padding: 0;
}

.vfs-versao-item[b-p80hkz23bf] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.35rem 0;
}

.vfs-versao-numero[b-p80hkz23bf] {
    font-weight: 700;
    min-width: 2.5rem;
}

.vfs-sha[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-family: ui-monospace, Consolas, monospace;
    font-size: 0.8rem;
}

.vfs-dialogo[b-p80hkz23bf] {
    background: var(--fundo);
    border: 2px solid var(--tinta);
    border-radius: 8px;
    padding: 1rem 1.25rem;
}

.vfs-dialogo h3[b-p80hkz23bf] {
    margin-top: 0;
}

.vfs-dialogo section[b-p80hkz23bf] {
    margin-bottom: 1rem;
}

.vfs-form[b-p80hkz23bf] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-width: 26rem;
}

.vfs-form label[b-p80hkz23bf] {
    color: var(--tinta-suave);
    font-size: 0.9rem;
}

/* Larguras consistentes (todo v2-26): todos os campos do diálogo ocupam a
   coluna do formulário — nenhum input select com largura ad-hoc. */
.vfs-form input[b-p80hkz23bf],
.vfs-form select[b-p80hkz23bf] {
    border: 1px solid var(--fio);
    border-radius: 6px;
    font: inherit;
    min-height: 40px;
    padding: 0.35rem 0.5rem;
    width: 100%;
}

.vfs-shares[b-p80hkz23bf] {
    border-collapse: collapse;
    margin-bottom: 0.75rem;
}

.vfs-shares th[b-p80hkz23bf],
.vfs-shares td[b-p80hkz23bf] {
    border-bottom: 1px solid var(--fio);
    font-size: 0.85rem;
    padding: 0.3rem 0.5rem;
    text-align: left;
}

.vfs-caption-leitor[b-p80hkz23bf] {
    caption-side: top;
    text-align: left;
}

.vfs-link-resultado[b-p80hkz23bf] {
    background: var(--status-ok-fundo);
    border: 1px solid var(--status-ok-texto);
    border-radius: 6px;
    color: var(--status-ok-texto);
    padding: 0.5rem 0.75rem;
    word-break: break-all;
}

/* todo 40: importador em massa (modal LGPD + painel de progresso) */
.vfs-modal[b-p80hkz23bf] {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 40;
}

.vfs-dialogo[b-p80hkz23bf] {
    background: var(--vfs-superficie, #fff);
    color: inherit;
    max-width: 34rem;
    padding: 1.25rem 1.5rem;
    border-radius: 0.5rem;
    display: grid;
    gap: 0.75rem;
}

.vfs-importacao[b-p80hkz23bf] {
    border: 1px solid currentColor;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    margin: 0.5rem 0 1rem;
    display: grid;
    gap: 0.5rem;
}

.vfs-importacao-itens[b-p80hkz23bf] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 14rem;
    overflow-y: auto;
    display: grid;
    gap: 0.35rem;
}

.vfs-importacao-itens li[b-p80hkz23bf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
/* /Features/Vfs/VfsTreeNode.razor.rz.scp.css */
/* VfsTreeNode (todo 24) - tokens verde/tinta de wwwroot/css/app.css
   (identidade unificada, plano v2 todo 23). */

li[b-ekiy3kgvk1] {
    list-style: none;
}

.vfs-arvore-grupo[b-ekiy3kgvk1] {
    border-left: 1px dashed var(--fio);
    margin: 0 0 0 0.4rem;
    padding-left: 0.75rem;
}

/* Linha do nó: expansor + item + ação — alvo de toque >= 40px (WCAG 2.5.8). */
.vfs-no-linha[b-ekiy3kgvk1] {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.vfs-expansor[b-ekiy3kgvk1] {
    align-items: center;
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 6px;
    color: var(--tinta-suave);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.vfs-expansor:hover[b-ekiy3kgvk1] {
    background: var(--fundo-suave);
}

/* Espaço reservado em nós-folha para o ícone alinhar com as pastas. */
.vfs-expansor-vazio[b-ekiy3kgvk1] {
    flex: 0 0 auto;
    height: 40px;
    width: 40px;
}

/* Chevron gira 90° quando a pasta está expandida (afordância de estado). */
.vfs-seta[b-ekiy3kgvk1] {
    transition: transform 0.15s ease-in-out;
}

li[aria-expanded="true"] > .vfs-no-linha .vfs-seta[b-ekiy3kgvk1] {
    transform: rotate(90deg);
}

.vfs-item[b-ekiy3kgvk1] {
    align-items: center;
    background: transparent;
    border: none;
    border-radius: 6px;
    color: var(--tinta);
    cursor: pointer;
    display: inline-flex;
    flex-wrap: wrap;
    font: inherit;
    gap: 0.45rem;
    min-height: 40px;
    min-width: 0;
    padding: 0.25rem 0.45rem;
    text-align: left;
}

.vfs-item:hover[b-ekiy3kgvk1] {
    background: var(--fundo-suave);
}

.vfs-icone[b-ekiy3kgvk1] {
    color: var(--tinta-suave);
    flex: 0 0 auto;
}

/* Ícone e nome andam sempre juntos — a quebra fica dentro do nome, nunca
   entre o ícone e a primeira palavra (375px). */
.vfs-item-rotulo[b-ekiy3kgvk1] {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    min-width: 0;
}

.vfs-item-nome[b-ekiy3kgvk1] {
    min-width: 0;
    overflow-wrap: anywhere;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 3px;
}

.vfs-item:hover .vfs-item-nome[b-ekiy3kgvk1] {
    text-decoration-color: var(--verde-tinta);
}

.vfs-botao-menor[b-ekiy3kgvk1] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 6px;
    color: var(--verde-tinta);
    cursor: pointer;
    font: inherit;
    font-size: 0.8rem;
    margin-left: 0.4rem;
    min-height: 40px;
    padding: 0.2rem 0.55rem;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vfs-botao-menor:hover:not(:disabled)[b-ekiy3kgvk1] {
    background: var(--fundo-suave);
}

.vfs-chip[b-ekiy3kgvk1] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 999px;
    color: var(--tinta-suave);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.05rem 0.5rem;
    white-space: nowrap;
}

.vfs-chip-alerta[b-ekiy3kgvk1] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.vfs-chip-selo[b-ekiy3kgvk1] {
    background: var(--tinta);
    border-color: var(--tinta);
    color: #ffffff;
}

.vfs-chip-bloqueio[b-ekiy3kgvk1] {
    background: var(--status-ok-fundo);
    border-color: var(--status-ok-texto);
    color: var(--status-ok-texto);
}

.vfs-chip-lixeira[b-ekiy3kgvk1] {
    background: var(--status-aviso-fundo);
    border-color: var(--status-aviso-borda);
    color: var(--status-aviso-texto);
}

.vfs-arvore-vazia[b-ekiy3kgvk1] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    margin: 0.15rem 0 0.15rem 2rem;
}
/* /Layout/WorkbenchLayout.razor.rz.scp.css */
/*
 * Casco da Bancada (fila 2 do plano v3) — porta o mockup
 * tests/uiux/fixtures/bancada/bancada.css (fonte visual aprovada) como casco
 * de produto: 100vh com rolagem interna por painel (divergência deliberada
 * da spec wb/1: o mockup flui como página para revisão por captura).
 *
 * Tokens: SOMENTE a família --tinta/--verde de wwwroot/css/app.css + os
 * pares de status FIXOS já consolidados (vermelho de erro #8c2f24; âmbar de
 * aviso #b45309/#78350f/#fef3c7 — mesmos valores dos tokens --status-aviso).
 * Nenhum hex novo fora dessas famílias.
 */

/* ---------- casco ---------- */
.bc-app[b-675lcyibr4] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: 100dvh;
    background: var(--fundo);
    color: var(--tinta);
}

.bc-corpo[b-675lcyibr4] {
    flex: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
}

.bc-corpo--completa[b-675lcyibr4] {
    grid-template-columns: 264px minmax(0, 1fr) 336px;
}

.bc-rotulo[b-675lcyibr4] {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--tinta-suave);
    margin: 0;
}

.bc-dica-vazio[b-675lcyibr4] {
    color: var(--tinta-suave);
    font-style: italic;
    font-size: 0.85rem;
    margin: 0;
}

/* ---------- barra de comando (topo) ---------- */

.bc-topo[b-675lcyibr4] {
    display: flex;
    align-items: center;
    gap: 0.6rem 0.9rem;
    min-height: 48px;
    padding: 0.3rem 0.75rem;
    background: var(--fundo);
    border-bottom: 1px solid var(--fio);
}

.bc-topo-marca[b-675lcyibr4] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--tinta);
    text-decoration: none;
    white-space: nowrap;
}

.bc-topo-marca .bc-logo-glyph[b-675lcyibr4] {
    color: var(--verde-tinta);
    font-size: 1rem;
}

/* Menu da bancada (hamburger): escondido quando o trilho está dockado. */
.bc-menu-bancada[b-675lcyibr4] {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font: inherit;
    color: var(--tinta);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

.bc-menu-bancada:hover[b-675lcyibr4] {
    background: var(--fundo-suave);
}

/* Pill de busca rápida (Ctrl+P — wired na fila 10; botão-gatilho por ora). */
.bc-topo-busca[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 36px;
    padding: 0.25rem 0.8rem;
    font: inherit;
    font-size: 0.9rem;
    color: var(--tinta-suave);
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 999px;
    cursor: pointer;
    min-width: 0;
}

.bc-topo-busca:hover[b-675lcyibr4] {
    border-color: var(--verde-tinta);
    color: var(--tinta);
}

.bc-topo-busca kbd[b-675lcyibr4] {
    font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
    font-size: 0.75rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 6px;
    padding: 0.05rem 0.4rem;
    white-space: nowrap;
}

.bc-topo-spacer[b-675lcyibr4] {
    flex: 1;
}

/* Sessão na barra de comando: os estados de auth que viviam no cabeçalho do
   MainLayout v2 (restaurando / Entrar / nome + Sair) migraram para cá. */
.bc-topo-auth[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.bc-aguardando[b-675lcyibr4] {
    background: var(--fundo-suave);
    border-radius: 999px;
    color: var(--tinta-suave);
    font-size: 0.88rem;
    padding: 0.25rem 0.75rem;
}

.bc-entrar[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.35rem;
    font: inherit;
    font-weight: 600;
    color: var(--verde-tinta);
    background: none;
    border: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Fila 12: entrada do onboarding na barra (funil pré-auth do v2) —
   vizinho do Entrar, mesma família tipográfica, sem sublinhado (CTA de
   início, não retorno). */
.bc-comecar[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.35rem;
    font: inherit;
    font-weight: 600;
    color: var(--tinta);
    text-decoration: none;
}

.bc-comecar:hover[b-675lcyibr4] {
    color: var(--verde-tinta);
}

.bc-sair[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.35rem;
    font: inherit;
    font-size: 0.88rem;
    color: var(--tinta-suave);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.bc-sair:hover[b-675lcyibr4] {
    color: var(--tinta);
}

.bc-entrar-hint[b-675lcyibr4] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 999px;
    color: var(--status-aviso-texto);
    font-size: 0.85rem;
    margin: 0;
    padding: 0.25rem 0.75rem;
}

/* Chip de usuário (nome da sessão + papel + estado de conexão). */
.bc-usuario[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 40px;
    padding: 0.2rem 0.7rem 0.2rem 0.3rem;
    font-size: 0.88rem;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 999px;
}

.bc-usuario-avatar[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--verde);
    color: #ffffff; /* par fixo do produto (botão primário) */
    font-weight: 700;
    font-size: 0.85rem;
}

.bc-usuario-quem[b-675lcyibr4] {
    white-space: nowrap;
}

.bc-usuario-quem strong[b-675lcyibr4] {
    font-weight: 600;
}

.bc-usuario-papel[b-675lcyibr4] {
    color: var(--tinta-suave);
}

.bc-usuario-estado[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--verde-tinta);
    font-weight: 600;
    white-space: nowrap;
}

.bc-usuario-estado[b-675lcyibr4]::before,
.bc-estado-solto[b-675lcyibr4]::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
}

/* Estado solto (badge de conectividade quando não há chip — anônimo/
   restaurando): mesmo vocabulário visual do chip. */
.bc-estado-solto[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 36px;
    padding: 0.15rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--verde-tinta);
    background: var(--fundo-suave);
    border-radius: 999px;
    white-space: nowrap;
}

/* Offline (par fixo de aviso) e falha de sync (vermelho de erro fixo). */
.bc-app[data-sync="offline"] .bc-usuario-estado[b-675lcyibr4],
.bc-app[data-sync="offline"] .bc-estado-solto[b-675lcyibr4] {
    color: var(--status-aviso-texto);
}

.bc-app[data-sync="falha"] .bc-usuario-estado[b-675lcyibr4],
.bc-app[data-sync="falha"] .bc-estado-solto[b-675lcyibr4] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
}

/* ---------- trilho explorador (esquerda) ---------- */

.bc-rail[b-675lcyibr4] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    background: var(--fundo-suave);
    border-right: 1px solid var(--fio);
}

.bc-rail-topo[b-675lcyibr4] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem 0.4rem;
}

.bc-rail-topo .bc-rotulo[b-675lcyibr4] {
    color: var(--tinta);
}

/* Macro do trilho: a árvore própria (fila 5, ExplorerTree) rola no próprio
   trilho (.bc-arvore flex com overflow) — o embed interim do VfsExplorer e
   os ajustes dele saíram junto com a fila 5. */

/* Botões-ícone do cabeçalho do trilho (mockup bc-botao-icone): alvo de
   40px, mesmo vocabulário do hamburger. */
.bc-rail-acoes[b-675lcyibr4] {
    display: inline-flex;
    gap: 0.25rem;
}

.bc-botao-icone[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    font: inherit;
    color: var(--tinta-suave);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    cursor: pointer;
}

.bc-botao-icone:hover[b-675lcyibr4] {
    background: var(--fundo);
    color: var(--tinta);
    border-color: var(--fio);
}

/* Macro da doca (fila 8): o componente SteeringDock traz o próprio CSS
   scoped (seções, botões, feed de fases) — aqui só o encaixe no painel. */

/* Abas internas da doca (fila 12 — spec wb/1 pergunta 2: jurimetria é aba
   da doca): segmented control do vocabulário do trilho (rótulo + fio),
   aba ativa com a tinta verde do produto. */
.bc-doca-abas[b-675lcyibr4] {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.bc-doca-aba[b-675lcyibr4] {
    flex: 1;
    padding: 0.4rem 0.5rem;
    font: inherit;
    font-size: 0.8rem;
    color: var(--tinta-suave);
    background: transparent;
    border: 1px solid transparent;
    border-bottom-color: var(--fio);
    border-radius: 8px 8px 0 0;
    cursor: pointer;
}

.bc-doca-aba:hover[b-675lcyibr4] {
    color: var(--tinta);
    background: var(--fundo);
}

.bc-doca-aba[aria-selected="true"][b-675lcyibr4] {
    color: var(--verde-tinta);
    font-weight: 600;
    border-color: var(--fio);
    border-bottom-color: transparent;
    background: var(--fundo);
}

/* Cabeçalho descritivo da aba Jurimetria (re-alocada da rota v2). */
.bc-jurimetria-meta[b-675lcyibr4] {
    margin: 0 0 0.6rem;
    font-size: 0.8rem;
    color: var(--tinta-suave);
}

/* Véu da gaveta (mobile) — só existe < 1280px. */
.bc-veu[b-675lcyibr4] {
    display: none;
}

/* ---------- centro: documentos em abas (conteúdo da fila 3) ---------- */

.bc-centro[b-675lcyibr4] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    background: var(--fundo);
    /* Almofada da área de documento do mockup (bc-doc-area): páginas
       interim (Home, /login, onboarding, Vfs) respiram até a fila 3. */
    padding: 1.25rem clamp(0.9rem, 4vw, 3rem) 2.5rem;
}

.bc-centro:focus[b-675lcyibr4] {
    outline: none;
}

/* Bancada de abas (fila 3): a faixa e o painel controlam as próprias
   almofadas (bc-doc-area / bc-vazio do mockup) — a almofada genérica do
   centro sai quando a zona de abas está presente, para a faixa correr de
   borda a borda como no mockup. */
.bc-centro:has(> .bc-abas-zona)[b-675lcyibr4] {
    padding: 0;
}

/* ---------- doca de IA (direita) ---------- */

.bc-doca[b-675lcyibr4] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow-y: auto;
    background: var(--fundo-suave);
    border-left: 1px solid var(--fio);
}

.bc-doca-corpo[b-675lcyibr4] {
    padding: 0.65rem 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.bc-doca-secao[b-675lcyibr4] {
    border: 1px solid var(--fio);
    border-radius: 10px;
    background: var(--fundo);
    padding: 0.7rem 0.85rem;
}

.bc-doca-secao > h3[b-675lcyibr4] {
    margin: 0 0 0.5rem;
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--tinta-suave);
}

/* Alça da doca (só < 768px): folha inferior recolhida por padrão. */
.bc-doca-alca[b-675lcyibr4] {
    display: none;
}

/* ---------- rodapé de status ---------- */

.bc-rodape[b-675lcyibr4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 1.1rem;
    min-height: 34px;
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
    color: var(--tinta-suave);
    background: var(--fundo-suave);
    border-top: 1px solid var(--fio);
}

.bc-rodape-item[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    white-space: nowrap;
}

.bc-rodape-item[b-675lcyibr4]::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: var(--verde-tinta);
}

.bc-rodape-item.sem-ponto[b-675lcyibr4]::before {
    display: none;
}

/* Progresso de envio/importação da árvore (fila 7): tinta verde cheia —
   é atividade em curso, não estado de erro/aviso. */
.bc-rodape-item.envio[b-675lcyibr4] {
    color: var(--verde-tinta);
    font-weight: 600;
}

.bc-rodape-item.aviso[b-675lcyibr4] {
    color: var(--status-aviso-texto);
    font-weight: 600;
}

.bc-rodape-item.aviso[b-675lcyibr4]::before {
    background: var(--status-aviso-borda);
}

.bc-rodape-item.erro[b-675lcyibr4] {
    color: #8c2f24; /* vermelho de erro fixo do produto */
    font-weight: 600;
}

.bc-rodape-item.erro[b-675lcyibr4]::before {
    background: #8c2f24;
}

.bc-rodape-espaco[b-675lcyibr4] {
    flex: 1;
}

/* v8 linhas 9/10: links dos consoles da plataforma (suporte/admin) —
   herdam a tipografia do rodapé; alvo de toque confortável (44px de
   altura com padding). Tokens da família existente, nenhum hex novo. */
.bc-rodape-link[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 0.35rem;
    color: var(--tinta-suave);
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.bc-rodape-link:hover[b-675lcyibr4] {
    color: var(--verde-tinta);
}

.bc-rodape-link:focus-visible[b-675lcyibr4] {
    outline: 2px solid var(--foco);
    outline-offset: 2px;
    border-radius: 4px;
}

.bc-rodape-tokens[b-675lcyibr4] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.bc-tokens-trilha[b-675lcyibr4] {
    width: 6rem;
    height: 0.5rem;
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 999px;
    overflow: hidden;
    display: inline-block;
}

.bc-tokens-preenchimento[b-675lcyibr4] {
    display: block;
    height: 100%;
    background: var(--verde-tinta);
}

/* ---------- responsivo ---------- */

/* 768–1279: trilho vira gaveta (hamburger); doca segue docked. */
@media (max-width: 1279px) {
    .bc-corpo--completa[b-675lcyibr4] {
        grid-template-columns: minmax(0, 1fr) 312px;
    }

    .bc-menu-bancada[b-675lcyibr4] {
        display: inline-flex;
    }

    .bc-rail[b-675lcyibr4] {
        position: fixed;
        top: 49px;
        bottom: 0;
        left: 0;
        z-index: 50;
        width: min(19rem, 86vw);
        transform: translateX(-102%);
        transition: transform 0.18s ease-out;
        box-shadow: 0 0 0 1px var(--fio), 8px 0 28px rgb(0 0 0 / 0.18);
    }

    .bc-app[data-rail="aberto"] .bc-rail[b-675lcyibr4] {
        transform: none;
    }

    .bc-app[data-rail="aberto"] .bc-veu[b-675lcyibr4] {
        display: block;
        position: fixed;
        inset: 49px 0 0;
        z-index: 45;
        background: rgb(10 15 20 / 0.45);
    }

    .bc-topo-busca .bc-busca-rotulo[b-675lcyibr4] {
        display: none;
    }
}

/* < 768 (375): doca vira folha inferior em fluxo (recolhida por padrão,
   alça abre/fecha); trilho segue gaveta do bloco acima. A barra de comando
   quebra em segunda linha para o bloco de sessão (chip + Sair) caber sem
   recorte — o mockup não tem Sair (estado autenticado de produto). */
@media (max-width: 767px) {
    .bc-corpo[b-675lcyibr4],
    .bc-corpo--completa[b-675lcyibr4] {
        display: block;
    }

    .bc-topo[b-675lcyibr4] {
        flex-wrap: wrap;
    }

    .bc-topo-auth[b-675lcyibr4] {
        margin-left: auto;
    }

    .bc-usuario-quem[b-675lcyibr4] {
        display: none;
    }

    .bc-topo-busca[b-675lcyibr4] {
        flex: 0 0 auto;
    }

    .bc-topo-busca kbd[b-675lcyibr4] {
        display: none;
    }

    .bc-doca[b-675lcyibr4] {
        border-left: none;
        border-top: 1px solid var(--fio);
    }

    .bc-doca-alca[b-675lcyibr4] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        width: 100%;
        min-height: 48px;
        padding: 0 1rem;
        font: inherit;
        font-size: 0.88rem;
        font-weight: 700;
        color: var(--tinta);
        background: var(--fundo-suave);
        border: none;
        border-bottom: 1px solid var(--fio);
        cursor: pointer;
    }

    .bc-doca-alca .bc-alca-estado[b-675lcyibr4] {
        color: var(--verde-tinta);
        font-size: 0.78rem;
        font-weight: 600;
    }

    .bc-alca-seta[b-675lcyibr4] {
        font-size: 0.7rem;
        color: var(--tinta-suave);
    }

    .bc-doca-corpo[b-675lcyibr4] {
        display: none;
    }

    .bc-app[data-doca="aberta"] .bc-doca-corpo[b-675lcyibr4] {
        display: flex;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bc-rail[b-675lcyibr4] {
        transition: none;
    }
}

/* ---------- toast (fila 7 — porta do mockup bc-toast) ---------- */

.bc-toast[b-675lcyibr4] {
    position: fixed;
    right: 1rem;
    bottom: 3rem;
    z-index: 80;
    max-width: 22rem;
    margin: 0;
    padding: 0.55rem 0.9rem;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--tinta);
    background: var(--fundo);
    border: 1px solid var(--verde-tinta);
    border-radius: 10px;
    box-shadow: 0 6px 24px rgb(0 0 0 / 0.18);
}
/* /Pages/Admin.razor.rz.scp.css */
/* Console de administração (v8 linha 10): mesma família visual do /suporte
   e do casco — cartão fundo suave + fio, raio 8px, rótulos na escala do
   .bc-rotulo. Só tokens de wwwroot/css/app.css, nenhum hex novo. Classes
   prefixadas admin-* (locais da página). */

.admin-envolve[b-yaenp5ip9t] {
    display: flex;
    justify-content: center;
    padding: 1rem 0.75rem 2rem;
}

.admin-cartao[b-yaenp5ip9t] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 8px;
    max-width: 56rem;
    padding: 1.25rem 1.5rem;
    width: 100%;
}

.admin-titulo[b-yaenp5ip9t] {
    margin: 0 0 0.5rem;
    color: var(--tinta);
    font-size: 1.25rem;
}

.admin-intro[b-yaenp5ip9t] {
    margin: 0 0 1rem;
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.admin-aguardando[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    margin: 0.5rem 0 0;
}

/* Recusa honesta do portão (role=alert). */
.admin-recusa-texto[b-yaenp5ip9t] {
    margin: 0;
    color: var(--tinta);
    font-weight: 600;
}

/* Rótulo de seção: escala do .bc-rotulo do casco. */
.admin-rotulo[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 1.25rem 0 0.5rem;
    text-transform: uppercase;
}

.admin-rotulo-campo[b-yaenp5ip9t] {
    color: var(--tinta);
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.3rem;
}

.admin-subtitulo[b-yaenp5ip9t] {
    color: var(--tinta);
    font-size: 0.85rem;
    margin: 0.75rem 0 0.35rem;
}

/* Cartões de estatística do resumo. */
.admin-estatisticas[b-yaenp5ip9t] {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.admin-estatistica[b-yaenp5ip9t] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    padding: 0.75rem 0.9rem;
}

.admin-numero[b-yaenp5ip9t] {
    color: var(--verde-tinta);
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
}

.admin-legenda[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
    margin: 0.15rem 0 0;
}

/* Estados e listas. */
.admin-erro[b-yaenp5ip9t] {
    color: var(--status-aviso-texto);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
}

.admin-vazio[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    font-style: italic;
    margin: 0;
}

.admin-lista[b-yaenp5ip9t] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: none;
    margin: 0 0 0.5rem;
    padding: 0;
}

.admin-item[b-yaenp5ip9t] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.75rem 0.9rem;
}

.admin-item-meta[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-item-nome[b-yaenp5ip9t] {
    color: var(--tinta);
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.admin-dl[b-yaenp5ip9t] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
    margin: 0;
}

.admin-dl-par[b-yaenp5ip9t] {
    display: flex;
    gap: 0.35rem;
    margin: 0;
}

.admin-dl dt[b-yaenp5ip9t] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
}

.admin-dl dd[b-yaenp5ip9t] {
    color: var(--tinta);
    font-size: 0.8rem;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

/* Filtro de período do feed de config: campo + botão fantasma. */
.admin-periodo[b-yaenp5ip9t] {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.admin-campo[b-yaenp5ip9t] {
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta);
    font: inherit;
    min-height: 44px;
    padding: 0.4rem 0.7rem;
    width: 8rem;
}

.admin-botao[b-yaenp5ip9t] {
    align-items: center;
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    min-height: 44px;
    padding: 0.45rem 1rem;
}

.admin-botao:hover[b-yaenp5ip9t] {
    border-color: var(--verde-tinta);
    color: var(--verde-tinta);
}

/* Foco visível (2.4.7/1.4.11 AA): contorno forte em todo alvo interativo. */
.admin-envolve :is(a, button, input):focus-visible[b-yaenp5ip9t] {
    outline: 2px solid var(--foco);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .admin-envolve[b-yaenp5ip9t] {
        padding: 0.5rem 0.5rem 1.5rem;
    }

    .admin-cartao[b-yaenp5ip9t] {
        padding: 1rem;
    }

    .admin-campo[b-yaenp5ip9t] {
        flex: 1 1 8rem;
    }
}
/* /Pages/Authentication.razor.rz.scp.css */
/* Authentication (todo 2) - herda os tokens verde/tinta de wwwroot/css/app.css
   (identidade unificada, plano v2 todo 23).
   Mesmo vocabulário visual da .vfs-recusa: cartão de superfície com borda de
   alerta (nunca apenas cor). */

.auth-erro[b-z3b3i3gn8l] {
    background: var(--fundo);
    border: 2px solid var(--status-aviso-borda);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: var(--status-aviso-texto);
}

.auth-erro a[b-z3b3i3gn8l] {
    display: inline-block;
    margin-left: 0.5rem;
}
/* /Pages/Login.razor.rz.scp.css */
/* Login (todo 29) - tokens verde/tinta de wwwroot/css/app.css
   (identidade unificada, plano v2 todo 23). Cartão centrado na mesma
   escala do onboarding (max-width 34rem, contrato ui.css:386 da suíte).
   Sem campos de credencial: o SPA só dispara o redirect OIDC. */

.login-envolve[b-95nk4scv2v] {
    display: flex;
    justify-content: center;
}

.login-cartao[b-95nk4scv2v] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 10px;
    max-width: 34rem;
    padding: 1.5rem 1.75rem;
    width: 100%;
}

.login-cartao h1[b-95nk4scv2v] {
    margin: 0 0 0.75rem;
}

.login-explica[b-95nk4scv2v] {
    color: var(--tinta-suave);
    margin: 0 0 1.25rem;
}

/* CTA primário (par fixo do produto: branco sobre --verde; hover --verde-escuro). */
.login-acao[b-95nk4scv2v] {
    align-items: center;
    background: var(--verde);
    border: 1px solid var(--verde);
    border-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 1.1rem;
    text-decoration: none;
}

.login-acao:hover[b-95nk4scv2v] {
    background: var(--verde-escuro);
    border-color: var(--verde-escuro);
}

.login-secundaria[b-95nk4scv2v] {
    margin: 1rem 0 0;
}

.login-nota[b-95nk4scv2v] {
    border-top: 1px solid var(--fio);
    color: var(--tinta-suave);
    font-size: 0.85rem;
    margin: 1.25rem 0 0;
    padding-top: 0.75rem;
}

/* Dica de provedor ausente: mesmo vocabulário pílula do .entrar-hint do shell. */
.login-hint[b-95nk4scv2v] {
    background: var(--status-aviso-fundo);
    border: 1px solid var(--status-aviso-borda);
    border-radius: 999px;
    color: var(--status-aviso-texto);
    font-size: 0.85rem;
    margin: 0.75rem 0 0;
    padding: 0.25rem 0.75rem;
}
/* /Pages/RedirecionaBancada.razor.rz.scp.css */
/* RedirecionaBancada (fila 4): estado transitório entre o caminho legado
   (/vfs, /editor, /steering) e a bancada — tokens tinta do app.css. */
.bc-redirecionando[b-fjz80woiqj] {
    color: var(--tinta-suave);
    padding: 2rem 1rem;
    text-align: center;
}
/* /Pages/Suporte.razor.rz.scp.css */
/* Console de suporte (v8 linha 9, D4): cartões da mesma família do casco
   (fundo suave + fio, raio 8px) e rótulos na escala do .bc-rotulo do
   WorkbenchLayout. Só tokens de wwwroot/css/app.css — nenhum hex novo.
   Classes prefixadas suporte-* (locais da página; o rodapé do casco usa
   bc-rodape-link, sem colisão). */

.suporte-envolve[b-fyz8m8ltcf] {
    display: flex;
    justify-content: center;
    padding: 1rem 0.75rem 2rem;
}

.suporte-cartao[b-fyz8m8ltcf] {
    background: var(--fundo-suave);
    border: 1px solid var(--fio);
    border-radius: 8px;
    max-width: 56rem;
    padding: 1.25rem 1.5rem;
    width: 100%;
}

.suporte-titulo[b-fyz8m8ltcf] {
    margin: 0 0 0.5rem;
    color: var(--tinta);
    font-size: 1.25rem;
}

.suporte-intro[b-fyz8m8ltcf] {
    margin: 0 0 1rem;
    color: var(--tinta-suave);
    font-size: 0.85rem;
}

.suporte-aguardando[b-fyz8m8ltcf] {
    color: var(--tinta-suave);
    margin: 0.5rem 0 0;
}

/* Recusa honesta do portão (role=alert): mesmo cartão, cópia neutra. */
.suporte-recusa-texto[b-fyz8m8ltcf] {
    margin: 0;
    color: var(--tinta);
    font-weight: 600;
}

/* Rótulo de seção: escala do .bc-rotulo do casco (versalete discreto). */
.suporte-rotulo[b-fyz8m8ltcf] {
    color: var(--tinta-suave);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin: 1.25rem 0 0.5rem;
    text-transform: uppercase;
}

.suporte-rotulo-campo[b-fyz8m8ltcf] {
    color: var(--tinta);
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.3rem;
}

.suporte-subtitulo[b-fyz8m8ltcf] {
    color: var(--tinta);
    font-size: 0.85rem;
    margin: 0.75rem 0 0.35rem;
}

/* Busca: campo + CTA primário (par fixo do produto: branco sobre --verde). */
.suporte-busca[b-fyz8m8ltcf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.suporte-campo[b-fyz8m8ltcf] {
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta);
    flex: 1 1 16rem;
    font: inherit;
    min-height: 44px;
    padding: 0.4rem 0.7rem;
}

.suporte-botao[b-fyz8m8ltcf] {
    align-items: center;
    background: var(--fundo);
    border: 1px solid var(--fio-forte);
    border-radius: 8px;
    color: var(--tinta);
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    justify-content: center;
    min-height: 44px;
    padding: 0.45rem 1rem;
}

.suporte-botao:hover[b-fyz8m8ltcf] {
    border-color: var(--verde-tinta);
    color: var(--verde-tinta);
}

.suporte-botao-primario[b-fyz8m8ltcf] {
    background: var(--verde);
    border-color: var(--verde);
    color: #ffffff;
}

.suporte-botao-primario:hover[b-fyz8m8ltcf] {
    background: var(--verde-escuro);
    border-color: var(--verde-escuro);
    color: #ffffff;
}

/* Estados e listas. */
.suporte-erro[b-fyz8m8ltcf] {
    color: var(--status-aviso-texto);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
}

.suporte-status[b-fyz8m8ltcf] {
    color: var(--tinta);
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0.5rem 0 0;
}

.suporte-vazio[b-fyz8m8ltcf] {
    color: var(--tinta-suave);
    font-size: 0.85rem;
    font-style: italic;
    margin: 0;
}

.suporte-lista[b-fyz8m8ltcf] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    list-style: none;
    margin: 0 0 0.5rem;
    padding: 0;
}

.suporte-item[b-fyz8m8ltcf] {
    background: var(--fundo);
    border: 1px solid var(--fio);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.75rem 0.9rem;
}

.suporte-item-nome[b-fyz8m8ltcf] {
    color: var(--tinta);
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0;
    overflow-wrap: anywhere;
}

.suporte-item-meta[b-fyz8m8ltcf] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
    margin: 0;
    overflow-wrap: anywhere;
}

.suporte-dl[b-fyz8m8ltcf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1.25rem;
    margin: 0;
}

.suporte-dl-par[b-fyz8m8ltcf] {
    display: flex;
    gap: 0.35rem;
    margin: 0;
}

.suporte-dl dt[b-fyz8m8ltcf] {
    color: var(--tinta-suave);
    font-size: 0.8rem;
}

.suporte-dl dd[b-fyz8m8ltcf] {
    color: var(--tinta);
    font-size: 0.8rem;
    font-weight: 600;
    margin: 0;
    overflow-wrap: anywhere;
}

.suporte-trace[b-fyz8m8ltcf] {
    color: var(--verde-tinta);
}

/* Foco visível (2.4.7/1.4.11 AA): contorno forte em todo alvo interativo. */
.suporte-envolve :is(a, button, input):focus-visible[b-fyz8m8ltcf] {
    outline: 2px solid var(--foco);
    outline-offset: 2px;
}

@media (max-width: 900px) {
    .suporte-envolve[b-fyz8m8ltcf] {
        padding: 0.5rem 0.5rem 1.5rem;
    }

    .suporte-cartao[b-fyz8m8ltcf] {
        padding: 1rem;
    }

    .suporte-campo[b-fyz8m8ltcf],
    .suporte-botao[b-fyz8m8ltcf] {
        flex: 1 1 100%;
    }
}
