/* BastidorIA · tema do LibreChat v0.1 · injetado depois do CSS do LibreChat pelo command do serviço librechat-contabil (docker-compose.yml).
   Variáveis e classes conferidas no LibreChat v0.8.7 (client/src/style.css usa hex; .dark para o modo noite). */
@font-face{font-family:"Archivo Variable";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal.woff2) format("woff2-variations")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}

:root{
  --bia-papel:#EEF1EA;--bia-folha:#FBFCF9;--bia-tinta:#16203A;--bia-grafite:#4A5468;--bia-regua:#C5CDBF;
  --bia-azul:#1D3FD0;--bia-azul-hover:#1733AB;--bia-azul-carbono:#E4E9FB;--bia-marca-texto:#FFE14A;
  --bia-verde:#1F6B45;--bia-vermelho:#B02A19;--bia-desativado:#E3E7DE;--bia-sobre-acao:#FFFFFF;
  --bia-font-sans:"Archivo Variable",Archivo,Arial,sans-serif;--bia-font-mono:"IBM Plex Mono","Courier New",monospace;

  /* variáveis semânticas do LibreChat (client/src/style.css) */
  --surface-primary:var(--bia-papel);--surface-primary-alt:var(--bia-papel);--surface-primary-contrast:var(--bia-folha);
  --surface-secondary:var(--bia-folha);--surface-secondary-alt:var(--bia-folha);--surface-tertiary:var(--bia-desativado);--surface-tertiary-alt:var(--bia-desativado);
  --surface-dialog:var(--bia-folha);--surface-chat:var(--bia-folha);--surface-hover:var(--bia-desativado);--surface-hover-alt:var(--bia-desativado);
  --surface-active:var(--bia-azul-carbono);--surface-active-alt:var(--bia-azul-carbono);--surface-submit:var(--bia-azul);--surface-submit-hover:var(--bia-azul-hover);
  --surface-destructive:var(--bia-vermelho);--surface-destructive-hover:#8F2214;
  --text-primary:var(--bia-tinta);--text-secondary:var(--bia-grafite);--text-secondary-alt:var(--bia-grafite);--text-tertiary:var(--bia-grafite);--text-warning:var(--bia-vermelho);
  --border-light:var(--bia-regua);--border-medium:var(--bia-regua);--border-medium-alt:var(--bia-regua);--border-heavy:var(--bia-tinta);--border-xheavy:var(--bia-tinta);
  --border-light-alpha:1;--border-medium-alpha:1;--border-heavy-alpha:1;--border-xheavy-alpha:1;
  --ring-primary:var(--bia-azul);--brand-purple:var(--bia-azul);--header-button-hover:var(--bia-desativado);--presentation:var(--bia-papel);
}
.dark{
  --bia-papel:#111726;--bia-folha:#1A2236;--bia-tinta:#E8ECE2;--bia-grafite:#A9B2C4;--bia-regua:#2E3A55;
  --bia-azul:#9DB0FF;--bia-azul-hover:#B7C5FF;--bia-azul-carbono:#232F52;--bia-verde:#7BD0A0;--bia-vermelho:#FF9A8A;--bia-desativado:#232B40;--bia-sobre-acao:#111726;
  --surface-primary:var(--bia-papel);--surface-primary-alt:var(--bia-papel);--surface-primary-contrast:var(--bia-folha);
  --surface-secondary:var(--bia-folha);--surface-secondary-alt:var(--bia-folha);--surface-tertiary:var(--bia-desativado);--surface-tertiary-alt:var(--bia-desativado);
  --surface-dialog:var(--bia-folha);--surface-chat:var(--bia-folha);--surface-hover:var(--bia-desativado);--surface-hover-alt:var(--bia-desativado);
  --surface-active:var(--bia-azul-carbono);--surface-active-alt:var(--bia-azul-carbono);--surface-submit:var(--bia-azul);--surface-submit-hover:var(--bia-azul-hover);
  --surface-destructive:var(--bia-vermelho);--surface-destructive-hover:#FFB3A6;
  --text-primary:var(--bia-tinta);--text-secondary:var(--bia-grafite);--text-secondary-alt:var(--bia-grafite);--text-tertiary:var(--bia-grafite);--text-warning:var(--bia-vermelho);
  --border-light:var(--bia-regua);--border-medium:var(--bia-regua);--border-medium-alt:var(--bia-regua);--border-heavy:var(--bia-tinta);--border-xheavy:var(--bia-tinta);
  --ring-primary:var(--bia-azul);--brand-purple:var(--bia-azul);--header-button-hover:var(--bia-desativado);--presentation:var(--bia-papel);
}

/* fontes */
html,body,button,input,textarea,select,.font-sans{font-family:var(--bia-font-sans)}
code,pre,kbd,.font-mono{font-family:var(--bia-font-mono)}
h1,h2,h3{font-stretch:105%;letter-spacing:-.02em}

/* forma: raio 2px, sem sombra, sem degradê */
.rounded,.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl,[class*="rounded-t-"],[class*="rounded-b-"]{border-radius:2px}
.shadow,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:none}
[class*="bg-gradient"]{background-image:none}
:focus-visible{outline:2px solid var(--bia-azul);outline-offset:2px}

/* botão de envio (data-testid conferido em client/src/components/Chat/Input/SendButton.tsx): o único azul da tela */
button[data-testid="send-button"]{background:var(--bia-azul);color:var(--bia-sobre-acao);border-radius:2px}
button[data-testid="send-button"]:hover{background:var(--bia-azul-hover)}
a{text-underline-offset:3px}

/* cursor da resposta chegando: bloco em tinta, sem bolinhas (classe result-streaming do MessageContent.tsx) */
.result-streaming > :not(ol):not(ul):not(pre):last-child::after,.result-streaming > pre:last-child code::after{background:var(--bia-tinta);border-radius:0;animation:none}

/* tarja em dado pessoal e aviso de proteção (bastidoria.js marca o trecho na mensagem do usuário, classe user-turn do MessageRender.tsx) */
.bia-tarja{background:var(--bia-tinta);color:transparent;border-radius:1px;user-select:none;font-family:var(--bia-font-mono)}
.bia-protegido{display:flex;align-items:center;gap:6px;margin:6px 0 0;font:600 13px/1.3 var(--bia-font-sans);color:var(--bia-verde)}
.bia-protegido::before{content:"\2713";font-family:var(--bia-font-mono)}

/* ===== tela de login: painel lateral, mesmo mecanismo do Servidoria ===== */
#bia-painel{display:none}
@media (min-width:900px){
  body.bia-auth #bia-painel{display:flex;position:fixed;inset:0 auto 0 0;width:46%;background:var(--bia-tinta);color:#FBFCF9;padding:56px 56px 40px;flex-direction:column;justify-content:space-between;font-family:var(--bia-font-sans);z-index:5;border-right:1px solid #FBFCF9}
  body.bia-auth #root{margin-left:46%}
}
#bia-painel .bia-logo{display:block;width:260px;height:auto}
#bia-painel h2{font:800 2.25rem/1.05 var(--bia-font-sans);font-stretch:112%;letter-spacing:-.03em;margin:0 0 20px;max-width:16em;color:#FBFCF9}
#bia-painel h2 mark{background:#FFE14A;color:#16203A;padding:0 .12em}
#bia-painel p.bia-sub{color:#A9B2C4;font-size:1.05rem;line-height:1.55;margin:0 0 28px;max-width:30em}
#bia-painel ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
#bia-painel li{padding:14px 0;border-top:1px solid #2E3A55;color:#E8ECE2;font-size:1rem;line-height:1.45;display:flex;gap:12px}
#bia-painel li:last-child{border-bottom:1px solid #2E3A55}
#bia-painel li::before{content:"✓";font:600 .95rem/1.5 var(--bia-font-mono);color:#FFE14A;flex:none}
#bia-painel .bia-rodape{color:#A9B2C4;font-size:.85rem;line-height:1.5}
#bia-painel .bia-rodape b{color:#FBFCF9}
#bia-suporte{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:6;min-height:44px;padding:10px 20px;border:1px solid var(--bia-tinta);border-radius:2px;background:var(--bia-folha);color:var(--bia-tinta);font:600 .95rem var(--bia-font-sans);text-decoration:none;white-space:nowrap}
#bia-suporte:hover{background:var(--bia-desativado)}
@media (min-width:900px){#bia-suporte{left:73%}}
