    /* Console: alternador Servidor | Bot, cartão do bot */
    .cn-fontes { display: inline-flex; padding: 3px; border-radius: 10px; background: var(--surface-3); gap: 2px; }
    .cn-fontes[hidden] { display: none; }
    .cn-fonte { border: 0; background: none; padding: 5px 14px; border-radius: 8px; font: inherit; font-size: var(--fs-sm); font-weight: 600; color: var(--text-dim); cursor: pointer; transition: background .3s, color .3s; }
    .cn-fonte.on { background: var(--surface); color: var(--accent-strong); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
    /* Coleta do Linkana: as ações surgem à direita do cartão ao passar o mouse (ou focar), uma abaixo da outra, do mesmo tamanho */
    .cn-cartao-wrap { position: relative; min-width: 0; }
    .cn-cartao-wrap > .cn-cartao { height: 100%; }
    .cn-dica { position: absolute; right: 12px; top: 50%; translate: 0 -50%; color: var(--text-mut); opacity: .55; transition: opacity .2s, transform .3s var(--ease); }
    .cn-dica svg { width: 16px; height: 16px; }
    .cn-cartao-wrap:hover .cn-dica, .cn-cartao-wrap:focus-within .cn-dica, .cn-cartao-wrap.aberto .cn-dica { opacity: 0; transform: translateX(6px); }
    .cn-flut { position: absolute; left: 100%; top: 0; z-index: 6; width: 244px; padding-left: 12px; display: flex; flex-direction: column; gap: 8px; pointer-events: none;
      opacity: 0; visibility: hidden; transition: opacity .14s ease, visibility 0s linear .14s; }
    .cn-flut-b { width: 100%; justify-content: flex-start; margin: 0; opacity: 0; transform: translateX(-16px) scale(.95);
      transition: opacity .16s ease, transform .16s ease, background .2s, color .2s, border-color .2s; box-shadow: 0 8px 22px rgba(23, 26, 43, .14); }
    .cn-flut-b svg { width: 16px; height: 16px; flex: none; }
    .cn-flut-b span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    .cn-cartao-wrap:hover .cn-flut, .cn-cartao-wrap:focus-within .cn-flut, .cn-cartao-wrap.aberto .cn-flut { pointer-events: auto; opacity: 1; visibility: visible; transition: opacity .18s ease, visibility 0s; }
    .cn-cartao-wrap:hover .cn-flut-b, .cn-cartao-wrap:focus-within .cn-flut-b, .cn-cartao-wrap.aberto .cn-flut-b {
      opacity: 1; transform: none; transition: opacity .28s ease calc(var(--i) * 70ms), transform .38s var(--ease) calc(var(--i) * 70ms), background .2s, color .2s, border-color .2s; }
    /* fantasma: aparece, mas não faz nada (coletor fora do ar) */
    .cn-flut-b.fantasma { background: var(--surface-2); border: 1px dashed var(--border-strong); color: var(--text-mut); box-shadow: none; cursor: not-allowed; }
    .cn-flut-b.fantasma:hover { background: var(--surface-2); color: var(--text-mut); border-color: var(--border-strong); }
    .cn-cartao-wrap:hover .cn-flut-b.fantasma, .cn-cartao-wrap:focus-within .cn-flut-b.fantasma, .cn-cartao-wrap.aberto .cn-flut-b.fantasma { opacity: .55; }
    /* telas estreitas ou sem mouse: as ações ficam sempre à vista, abaixo do cartão */
    @media (max-width: 1000px), (hover: none) {
      .cn-flut { position: static; width: auto; padding: 10px 0 0; flex-direction: row; flex-wrap: wrap; pointer-events: auto; opacity: 1; visibility: visible; }
      .cn-flut-b { width: auto; opacity: 1; transform: none; box-shadow: none; }
      .cn-flut-b.fantasma { opacity: .55; }
      .cn-dica { display: none; }
    }
    @media (prefers-reduced-motion: reduce) { .cn-flut-b, .cn-dica { transition: none !important; } }
    .cn-botoes { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; }
    .cn-aviso { color: var(--warn); font-weight: 600; }


    .rq-chk-resp { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: var(--fs-xs); color: var(--text-mut); cursor: pointer; }
