/* ============================================================
   FILA38 — Fila offline de lançamentos de estoque · Incremento
   Opera o estoque/Montanha 38 mesmo sem internet no paiol: o lançamento
   entra numa fila local (IndexedDB) e sobe sozinho quando a conexão volta.
   Aditivo: só age quando o aparelho está OFFLINE; online, nada muda.
   ============================================================ */
.fila38-bar{
  position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));
  z-index:1550;max-width:560px;margin:0 auto;display:none;align-items:center;gap:12px;
  padding:11px 14px;border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.45);
  background:var(--surface,#191c22);border:1px solid var(--border2,rgba(255,255,255,.14));
  font:inherit;color:var(--text,#f2f3f5)}
.fila38-bar.mostrar{display:flex}
.fila38-bar.off{border-color:#d0803b;background:linear-gradient(0deg,rgba(208,128,59,.12),transparent),var(--surface,#191c22)}
.fila38-ico{flex:none;width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-soft,rgba(221,153,51,.14));color:var(--accent,#dd9933)}
.fila38-bar.off .fila38-ico{background:rgba(208,128,59,.16);color:#e8a668}
.fila38-ico svg{width:19px;height:19px}
.fila38-txt{flex:1;min-width:0;line-height:1.3}
.fila38-txt b{display:block;font-size:13.5px;font-weight:700;color:var(--text,#f2f3f5)}
.fila38-txt span{font-size:12px;color:var(--muted,#8a919e)}
.fila38-btn{flex:none;min-height:40px;padding:9px 15px;border-radius:9px;border:none;cursor:pointer;
  font:inherit;font-size:13px;font-weight:700;background:var(--accent,#dd9933);color:#141008}
.fila38-btn:disabled{opacity:.6;cursor:default}
.fila38-btn.enviando{position:relative;color:transparent}
.fila38-btn.enviando::after{content:"";position:absolute;inset:0;margin:auto;width:16px;height:16px;
  border:2px solid rgba(20,16,8,.35);border-top-color:#141008;border-radius:50%;animation:fila38spin .7s linear infinite}
@keyframes fila38spin{to{transform:rotate(360deg)}}

/* selo "na fila" nas linhas pendentes do histórico da sessão */
.fila38-selo{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 7px;border-radius:11px;background:rgba(208,128,59,.16);color:#e8a668;border:1px solid rgba(208,128,59,.5)}
.fila38-selo.rej{background:rgba(208,59,59,.16);color:#ff9b9b;border-color:rgba(208,59,59,.5)}

@media (prefers-reduced-motion:reduce){.fila38-btn.enviando::after{animation:none}}
