/* ============================================================
   ASSISTENTE — seletor de modelos + Biblioteca de prompts
   (SPEC-assistente-livre.md · referência visual: Maritaca.ai,
    adaptada à paleta neutra da casa)
   ============================================================ */

.asst-hero h1 { margin-bottom: 6px; }
.asst-hero p  { margin: 0; color: var(--text-secondary); }

/* ---------- barra: modelos + biblioteca ---------- */
.asst-barra {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin: 18px 0 16px;
}
.asst-modelos { display: flex; gap: 8px; flex-wrap: wrap; }
.asst-modelo {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    padding: 9px 14px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    transition: border-color .15s ease, background .15s ease;
}
.asst-modelo strong { font-size: .88rem; color: var(--text-primary, #0f172a); }
.asst-modelo strong i { margin-right: 6px; color: var(--color-primary, #2563eb); }
.asst-modelo small { font-size: .72rem; color: var(--text-muted, #64748b); }
.asst-modelo:hover { border-color: var(--color-primary, #2563eb); }
.asst-modelo.ativo {
    border-color: var(--color-primary, #2563eb);
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px var(--color-primary, #2563eb);
}

/* Neutro, não navy (2026-08-15, dono: "esse azul eu acho tão feio"): o pill
   escuro pesava no painel branco. Paleta da casa — branco/cinza, cor só
   como acento no ícone. */
.asst-btn-biblioteca {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 16px;
    background: #f8fafc; color: #1e293b;
    border: 1px solid #e2e8f0; border-radius: 10px;
    font-family: inherit; font-size: .88rem; font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease;
}
.asst-btn-biblioteca i { color: #475569; }
.asst-btn-biblioteca:hover { background: #eef2f7; border-color: #cbd5e1; }

/* ---------- modal da biblioteca ---------- */
.asst-biblio {
    position: fixed; inset: 0; z-index: 1200;
    display: none;
    align-items: center; justify-content: center;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(3px);
    padding: 18px;
}
.asst-biblio.aberto { display: flex; }
.asst-biblio-caixa {
    background: #fff;
    width: min(920px, 100%);
    max-height: 88vh;
    border-radius: 16px;
    display: flex; flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.35);
}
.asst-biblio-topo {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.asst-biblio-topo h3 { margin: 0; font-size: 1.05rem; color: var(--text-primary, #0f172a); }
.asst-biblio-topo h3 i { margin-right: 8px; color: var(--color-primary, #2563eb); }
.asst-biblio-topo h3 small { color: var(--text-muted, #64748b); font-weight: 500; }
.asst-biblio-fechar {
    background: none; border: 0; font-size: 1.5rem; line-height: 1;
    color: var(--text-muted, #64748b); cursor: pointer; padding: 2px 8px;
}
.asst-biblio-corpo {
    padding: 16px 20px;
    overflow-y: auto;      /* scroll no corpo, nunca nos chips (padrao da casa) */
    min-height: 0;
}

.asst-busca {
    width: 100%; padding: 10px 14px;
    border: 1px solid var(--border-color, #e2e8f0); border-radius: 10px;
    font-family: inherit; font-size: .9rem;
    margin-bottom: 12px;
}
.asst-cats { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.asst-cat {
    padding: 5px 12px;
    background: var(--bg-surface-alt, #f1f5f9);
    border: 1px solid transparent; border-radius: 99px;
    font-family: inherit; font-size: .78rem; font-weight: 600;
    color: var(--text-secondary, #475569);
    cursor: pointer;
}
.asst-cat.ativa { background: #0b1220; color: #fff; }

.asst-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 10px;
}

/* Território nacional — chave única com tooltip explicativo no hover */
.asst-territorio {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--bg-surface, #fff);
    color: var(--text-secondary, #475569);
    border-radius: 10px;
    padding: 8px 13px;
    font-size: .82rem;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.asst-territorio em { font-style: normal; font-weight: 700; color: #94a3b8; }
.asst-territorio.ativo { border-color: #16a34a; background: #f0fdf4; }
.asst-territorio.ativo em { color: #16a34a; }
.asst-territorio-tip {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1200;   /* acima do sidebar (1000-1101) */
    width: min(340px, 82vw);
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 10px;
    padding: 13px 15px;
    font-size: .78rem;
    line-height: 1.55;
    text-align: left;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
    cursor: default;
}
.asst-territorio:hover .asst-territorio-tip,
.asst-territorio:focus-visible .asst-territorio-tip { display: block; }
.asst-territorio-tip strong { color: #fff; }
/* A chave da Pesquisa na web mora na ponta DIREITA da barra: o tooltip abre
   para a esquerda, senão estoura a janela e cria rolagem horizontal */
#asst-web .asst-territorio-tip { left: auto; right: 0; }

/* Chips de ajuda dos campos manuais (opções fixas ou sugestões da IA) */
.asst-ajuda-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: -4px 0 10px;
}
.asst-chip {
    border: 1px solid var(--border-color, #e2e8f0);
    background: var(--bg-surface, #fff);
    color: var(--text-secondary, #475569);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: .78rem;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.asst-chip:hover { border-color: var(--color-primary, #2563eb); background: #eff6ff; }
.asst-chip-ia { color: #d97706; border-color: #fcd34d; background: #fffbeb; }
.asst-chip-ia:hover { border-color: #d97706; background: #fef3c7; }
.asst-ajuda-erro { font-size: .78rem; color: #991b1b; }
.asst-card {
    text-align: left;
    padding: 13px 15px;
    background: var(--bg-surface, #fff);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    font-family: inherit;
    cursor: pointer;
    display: flex; flex-direction: column; gap: 5px;
    transition: border-color .15s ease, transform .15s ease;
}
.asst-card:hover { border-color: var(--color-primary, #2563eb); transform: translateY(-1px); }
.asst-card strong { font-size: .9rem; color: var(--text-primary, #0f172a); }
.asst-card span { font-size: .78rem; color: var(--text-muted, #64748b); line-height: 1.45; }
.asst-card em {
    font-style: normal; font-size: .68rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .04em;
    color: var(--color-primary, #2563eb);
}
.asst-estrela { color: #eab308; font-size: .8em; }

/* ---------- detalhe: formulário + prévia ao vivo ---------- */
.asst-voltar {
    background: none; border: 0; cursor: pointer;
    color: var(--text-muted, #64748b); font-size: 1rem; padding: 0 6px 0 0;
}
.asst-det { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.asst-det-desc { margin: 0 0 12px; color: var(--text-secondary, #475569); font-size: .88rem; }

.asst-autos {
    margin: 0 0 14px; padding: 10px 12px;
    background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;
    font-size: .78rem; color: #166534;
    display: flex; flex-wrap: wrap; gap: 6px; align-items: center;
}
.asst-auto-chip {
    display: inline-flex; align-items: center; gap: 5px;
    background: #fff; border: 1px solid #bbf7d0; border-radius: 99px;
    padding: 3px 10px; font-weight: 600; color: #15803d;
}

.asst-campo { display: block; margin-bottom: 12px; }
.asst-campo span {
    display: block; font-size: .8rem; font-weight: 600;
    color: var(--text-primary, #0f172a); margin-bottom: 5px;
}
.asst-campo input, .asst-campo textarea {
    width: 100%; padding: 9px 12px;
    border: 1px solid var(--border-color, #e2e8f0); border-radius: 9px;
    font-family: inherit; font-size: .88rem;
    resize: vertical;
}

.asst-det-acoes {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; margin-top: 6px; flex-wrap: wrap;
}
.asst-contador { font-size: .78rem; color: var(--text-muted, #64748b); }
.asst-usar {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 20px;
    background: #15803d; color: #fff;
    border: 0; border-radius: 10px;
    font-family: inherit; font-size: .9rem; font-weight: 700;
    cursor: pointer; text-decoration: none;
}
.asst-usar:hover { background: #166534; color: #fff; }
.asst-usar:disabled { opacity: .5; cursor: not-allowed; }

.asst-det-previa {
    background: var(--bg-surface-alt, #f8fafc);
    border: 1px solid var(--border-color, #e2e8f0);
    border-radius: 12px;
    padding: 14px 16px;
    max-height: 52vh; overflow-y: auto;
}
.asst-det-previa h4 {
    margin: 0 0 8px; font-size: .72rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
    color: var(--text-muted, #64748b);
}
.asst-previa-texto { font-size: .85rem; line-height: 1.6; color: var(--text-secondary, #475569); }
.asst-mark {
    background: #dbeafe; color: #1e40af;
    border-radius: 5px; padding: 1px 6px; font-weight: 600;
}
.asst-pendente {
    background: #fef3c7; color: #92400e;
    border-radius: 5px; padding: 1px 6px; font-style: italic;
}

.asst-vazio { color: var(--text-muted, #64748b); font-size: .88rem; padding: 10px 0; }

@media (max-width: 720px) {
    .asst-det { grid-template-columns: 1fr; }
    .asst-det-previa { max-height: 32vh; }
}

/* Aviso nos prompts que dependem de dados externos (requer_web) */
.asst-aviso-web {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 10px 13px;
    font-size: .82rem;
    color: #1e40af;
    line-height: 1.55;
    margin: 0 0 12px;
}
.asst-aviso-web .fa-globe { margin-right: 6px; color: #0ea5e9; }

/* Chave "Usar os dados da minha empresa" no detalhe do prompt */
.asst-usar-perfil {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .84rem;
    font-weight: 600;
    color: var(--text-secondary, #475569);
    margin: 0 0 10px;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
}
.asst-usar-perfil input { width: 16px; height: 16px; accent-color: #16a34a; cursor: pointer; }

/* ---------- Amostra de conversa para visitantes (vitrine) ---------- */
.asst-demo { margin-top: 16px; }
.asst-demo-faixa {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    font-size: .85rem; font-weight: 700; color: var(--text-primary, #0f172a);
    padding-bottom: 12px; margin-bottom: 14px;
    border-bottom: 1px solid var(--border-color, #e2e8f0);
}
.asst-demo-faixa i { color: var(--color-primary, #2563eb); }
.asst-demo-faixa span { font-weight: 500; color: var(--text-muted, #64748b); font-size: .8rem; }
.asst-demo-msg {
    max-width: 88%;
    border-radius: 14px;
    padding: 12px 16px;
    font-size: .88rem;
    line-height: 1.6;
    margin-bottom: 12px;
}
.asst-demo-msg.usuario {
    margin-left: auto;
    background: #0b1220;
    color: #e8eefc;
    border-bottom-right-radius: 4px;
}
.asst-demo-msg.assessor {
    margin-right: auto;
    background: var(--bg-surface-alt, #f1f5f9);
    color: var(--text-secondary, #334155);
    border-bottom-left-radius: 4px;
}
.asst-demo-msg.assessor p { margin: 0 0 10px; }
.asst-demo-msg.assessor p:last-of-type { margin-bottom: 0; }
.asst-demo-tag {
    display: inline-flex; align-items: center; gap: 5px;
    background: #1e3a5f; color: #7dd3fc;
    border-radius: 99px; padding: 2px 10px;
    font-size: .7rem; font-weight: 600; margin-left: 8px;
}
.asst-demo-fonte { color: var(--color-primary, #2563eb); font-size: .82rem; }
.asst-demo-custo {
    display: flex; align-items: center; gap: 6px;
    margin-top: 10px; padding-top: 8px;
    border-top: 1px dashed var(--border-color, #cbd5e1);
    font-size: .75rem; font-weight: 700; color: #d97706;
}
.asst-demo-custo span { font-weight: 500; color: var(--text-muted, #94a3b8); }
.asst-demo-rodape {
    text-align: center;
    font-size: .82rem;
    color: var(--text-muted, #64748b);
    padding-top: 10px;
    border-top: 1px solid var(--border-color, #e2e8f0);
}

/* ---------- Par de chaves (Pesquisa na web + Território) ---------- */
/* Juntas e com identidade de cor: azul-céu = pesquisa; verde = território.
   Discretas quando desligadas, vivas quando ligadas (regra do dono). */
.asst-chaves { display: flex; gap: 8px; flex-wrap: wrap; align-items: stretch; }

#asst-web { border-color: #bae6fd; background: #f0f9ff; }
#asst-web .asst-territorio-band i { color: #0ea5e9; }
#asst-web:hover { border-color: #0ea5e9; }
#asst-web.ativo { border-color: #0284c7; background: #e0f2fe; box-shadow: inset 0 0 0 1px #0284c7; }
#asst-web.ativo em { color: #0284c7; }

#asst-territorio { border-color: #bbf7d0; background: #f0fdf4; }
#asst-territorio:hover { border-color: #16a34a; }
#asst-territorio.ativo { border-color: #15803d; background: #dcfce7; box-shadow: inset 0 0 0 1px #15803d; }

/* Dados da empresa: LIGADO é o padrão (verde vivo); desligado fica cinza,
   porque a exceção é abrir mão da calibragem — não o contrário. */
#asst-dados-empresa { border-color: #e2e8f0; background: #f8fafc; }
#asst-dados-empresa .asst-territorio-band i { color: #94a3b8; }
#asst-dados-empresa:hover { border-color: #16a34a; }
#asst-dados-empresa.ativo { border-color: #15803d; background: #f0fdf4; box-shadow: inset 0 0 0 1px #15803d; }
#asst-dados-empresa.ativo .asst-territorio-band i { color: #16a34a; }
#asst-dados-empresa.ativo em { color: #15803d; }

/* ===== Menu "+" ancorado ao campo de texto (2026-08-08) =====
   As chaves e a Biblioteca vivem aqui; os cards de modo seguem à vista. */
.asst-mais-wrap { position: relative; display: flex; align-items: center; }

.asst-mais-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 12px;
    background: #f1f5f9; color: #0f172a;
    border: 1px solid #e2e8f0; border-radius: 10px;
    font-family: inherit; font-size: .82rem; font-weight: 600;
    cursor: pointer; white-space: nowrap;
    transition: background .15s ease, border-color .15s ease;
}
.asst-mais-btn:hover { background: #e2e8f0; border-color: #cbd5e1; }
.asst-mais-btn[aria-expanded="true"] { background: #e2e8f0; border-color: #94a3b8; }
.asst-mais-btn .asst-mais-icone { font-size: .95rem; line-height: 1; }
/* Resumo vivo: o usuário nunca envia sem saber a configuração */
.asst-mais-resumo { color: #64748b; font-weight: 500; font-size: .78rem; }
.asst-mais-resumo .lig { color: #0284c7; font-weight: 700; }
/* Estado dos dados da empresa sempre visível: verde usando, âmbar sem
   (2026-08-15 — estado positivo silencioso parecia chave sem efeito) */
.asst-mais-resumo .resumo-usando { color: #15803d; font-weight: 600; }
.asst-mais-resumo .resumo-sem    { color: #b45309; font-weight: 600; }

.asst-mais-painel {
    position: absolute; bottom: calc(100% + 10px); left: 0;
    z-index: 60;
    min-width: 340px; max-width: min(420px, calc(100vw - 40px));
    background: #fff;
    border: 1px solid #e2e8f0; border-radius: 14px;
    box-shadow: 0 16px 44px rgba(15, 23, 42, .16);
    padding: 12px;
    display: none;
}
.asst-mais-painel.aberto { display: block; }
.asst-mais-painel .asst-menu-secao + .asst-menu-secao { margin-top: 10px; }
.asst-mais-painel .asst-chaves { flex-direction: column; gap: 6px; }
.asst-mais-painel .asst-territorio { width: 100%; }
/* Dentro do menu a dica em hover atrapalha: no empilhamento vertical ela
   cobre o botão de baixo e engole o clique (pego em teste automatizado). */
.asst-mais-painel .asst-territorio-tip {
    display: none !important;
    pointer-events: none;
}

/* ===== Contexto: Conversar × Criar imagem (2026-08-09) =====
   O atributo hidden PERDE para `.asst-barra { display:flex }` — sem esta
   regra as duas barras aparecem ao mesmo tempo (pego em teste). */
[hidden] { display: none !important; }

.asst-contexto {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 12px;
}
.asst-ctx {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 16px;
    background: transparent;
    color: #475569;
    border: 0;
    border-radius: 9px;
    font-family: inherit;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.asst-ctx:hover { color: #0f172a; }
.asst-ctx.ativo {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 3px rgba(15, 23, 42, .1);
}
.asst-ctx i { font-size: .9rem; }
.asst-ctx.ativo i { color: #2563eb; }

/* Opções de imagem (formato e qualidade) */
.asst-img-opcoes { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; }
.asst-img-campo { display: flex; flex-direction: column; gap: 4px; }
.asst-img-campo span { font-size: .74rem; font-weight: 600; color: #64748b; }
.asst-img-campo select {
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    font-family: inherit;
    font-size: .85rem;
    color: #0f172a;
    background: #fff;
    cursor: pointer;
}
.asst-modelo-img.ativo { border-color: #2563eb; background: #eff6ff; }
.asst-modelo-img.ativo strong { color: #1d4ed8; }

/* A imagem dentro da conversa */
.asst-img-bolha { padding: 10px !important; }
.asst-img-espera {
    display: flex; align-items: center; gap: 9px;
    padding: 14px 4px;
    color: #475569; font-size: .88rem;
}
.asst-img-espera i { color: #2563eb; font-size: 1.1rem; }
.asst-img-timer { font-family: 'JetBrains Mono', monospace; font-size: .8rem; color: #64748b; }
.asst-img-erro { color: #b91c1c; font-size: .88rem; padding: 10px 4px; }
.asst-img-erro i { margin-right: 6px; }
.asst-img-fig { margin: 0; }
.asst-img-fig img {
    display: block;
    width: 100%;
    max-width: 520px;
    height: auto;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}
.asst-img-fig figcaption {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; flex-wrap: wrap;
    margin-top: 8px;
    font-size: .78rem; color: #64748b;
}
.asst-img-fig figcaption i { margin-right: 4px; }
.asst-img-fig figcaption a {
    color: #2563eb; font-weight: 600; text-decoration: none;
}
.asst-img-fig figcaption a:hover { text-decoration: underline; }

/* ===== Anexar arquivo (2026-08-08) ===== */
.asst-btn-anexar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 10px 14px;
    margin-bottom: 8px;
    background: #f8fafc;
    color: #0f172a;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    font-family: inherit;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
    transition: border-color .15s ease, background .15s ease;
}
.asst-btn-anexar:hover { border-color: #2563eb; background: #eff6ff; }
.asst-btn-anexar i { margin-right: 6px; color: #2563eb; }
.asst-btn-anexar small { font-weight: 400; color: #64748b; font-size: .74rem; }

/* Faixa de documentos da conversa, logo acima do campo de texto */
.asst-anexos-faixa {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 8px;
}
.asst-anexo-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 320px;
    padding: 7px 10px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: .8rem;
    color: #334155;
}
.asst-anexo-chip i { color: #64748b; font-size: .8rem; }
.asst-anexo-chip[data-estado="pronto"] { border-color: #86efac; background: #f0fdf4; }
.asst-anexo-chip[data-estado="pronto"] i { color: #16a34a; }
.asst-anexo-chip[data-estado="erro"] { border-color: #fca5a5; background: #fef2f2; }
.asst-anexo-chip[data-estado="erro"] i { color: #dc2626; }
.asst-anexo-nome {
    font-weight: 600;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}
.asst-anexo-info { color: #64748b; font-size: .74rem; white-space: nowrap; }
.asst-anexo-x {
    background: none;
    border: 0;
    color: #94a3b8;
    font-size: 1.05rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
}
.asst-anexo-x:hover { color: #dc2626; }

/* ===== Dica de QUANDO usar cada modo (2026-08-08) =====
   Mesma linguagem visual das chaves; abre abaixo do card no hover/foco. */
.asst-modelo { position: relative; }
.asst-modelo-tip {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 1200;              /* acima do sidebar (1000-1101) */
    width: min(330px, 82vw);
    background: #0f172a;
    color: #e2e8f0;
    border-radius: 10px;
    padding: 13px 15px;
    font-size: .78rem;
    line-height: 1.55;
    text-align: left;
    font-weight: 400;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .3);
    cursor: default;
}
.asst-modelo:hover .asst-modelo-tip,
.asst-modelo:focus-visible .asst-modelo-tip { display: block; }
.asst-modelo-tip strong { color: #fff; }
/* O último card fica à direita: abre para a esquerda p/ não estourar a janela */
.asst-modelo:last-child .asst-modelo-tip { left: auto; right: 0; }

/* Em tela estreita os cards se espalham e o alinhamento por card estoura a
   janela (pego em teste a 420px): a dica passa a ocupar a largura da barra. */
@media (max-width: 700px) {
    .asst-modelo-tip,
    .asst-modelo:last-child .asst-modelo-tip {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;          /* ancorada embaixo: sempre dentro da tela */
        top: auto;
        width: auto;
        max-width: none;
    }
}
.asst-mais-painel .asst-btn-biblioteca { width: 100%; justify-content: center; }
.asst-menu-rodape { border-top: 1px solid #f1f5f9; padding-top: 10px; }

@media (max-width: 640px) {
    .asst-mais-resumo { display: none; }
    .asst-mais-painel { min-width: 0; width: calc(100vw - 32px); }
}
