/* ═══════════════════════════════════════════════════════════════════════
   ORION OPS — TEMA BEFRA (fase 2)

   Mesmo padrão dos sistemas novos do grupo (almoxarifado, Manutenção
   Predial, segunda visualização da TV): moldura verde-petróleo com a
   faixa segmentada de quatro cores e miolo CLARO, para ler tabela o dia
   inteiro.

   Carregado DEPOIS do <style> principal do index.html: redefine os
   tokens (--g*, --gray-*) que as telas antigas já usam, então a maior
   parte das cores muda sem tocar em cada tela. O resto aqui é o
   "casco" novo (barra lateral, cabeçalho, login) e as regras de celular.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  /* Marca */
  --bf-teal:#2c6b5d;      /* ação principal, barra de status (fechado a pedido, fase 2b) */
  --bf-teal-d:#21564a;    /* barra lateral */
  --bf-teal-dd:#173f36;   /* títulos */
  --bf-teal-l:#e6f1ed;    /* realces claros */
  --bf-s1:#e8a33d;        /* âmbar   */
  --bf-s2:#e2593c;        /* laranja */
  --bf-s3:#9b59c9;        /* roxo    */
  --bf-s4:#35a8d8;        /* ciano   */
  --bf-faixa:linear-gradient(90deg,var(--bf-s1) 0 25%,var(--bf-s2) 25% 50%,var(--bf-s3) 50% 75%,var(--bf-s4) 75% 100%);
  --bf-bg:#f3f6f5;
  --bf-card:#ffffff;
  --bf-borda:#e1e8e5;
  --bf-tx:#1d2b27;
  --bf-tx2:#5b6b66;
  --bf-side-w:264px;
  --bf-hdr-h:64px;

  /* Tokens antigos, recalibrados para a família verde-petróleo */
  --g9:#12332c; --g8:#173f36; --g7:#21564a; --g6:#2c6b5d; --g5:#3d8473;
  --g4:#6fb3a2; --g3:#9ccdbf; --g2:#c4e1d8; --g1:#dfeee9; --g0:#eef6f3;
  --gray-50:#f1f5f4; --gray-100:#e2e9e7; --gray-200:#c9d5d1; --gray-400:#62736e;
  --gray-500:#4d5d58; --gray-700:#2d3a36; --gray-800:#1e2925;
  --teal:#2a9d8f;
  --r:10px; --rl:14px;
  --sh:0 1px 2px rgba(23,63,54,.06);
  --sm:0 4px 14px rgba(23,63,54,.08);
}

body{background:var(--bf-bg);color:var(--bf-tx);}
.page{background:transparent!important;}

/* ── Casco ─────────────────────────────────────────────────────────── */
body.bf-app{overflow-x:hidden;}

.bf-side{
  position:fixed;top:0;left:0;bottom:0;width:var(--bf-side-w);z-index:1001;
  background:var(--bf-teal-d);color:#fff;display:flex;flex-direction:column;
  transform:translateX(-100%);transition:transform .22s ease;
  box-shadow:none;
}
body.bf-nav-open .bf-side{transform:translateX(0);box-shadow:6px 0 28px rgba(10,30,26,.25);}
.bf-side::before{ /* faixa de 4 cores no topo da barra lateral */
  content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--bf-faixa);
}
.bf-side-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:22px 16px 14px 18px;}
.bf-side-marca img{height:24px;display:block;}
.bf-side-marca .bf-k{font-size:9.5px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:6px;}
.bf-side-x{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;
  border:none;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;flex-shrink:0;}
.bf-side-x:hover{background:rgba(255,255,255,.2);}
.bf-side-scroll{flex:1;overflow-y:auto;padding:4px 10px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;}
.bf-side-ft{padding:12px 18px 16px;font-size:10.5px;color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.1);line-height:1.5;}

/* A nav antiga (dropdowns no cabeçalho) vira lista fixa na barra lateral.
   Os ids nb-* / ng-* continuam iguais: as permissões não mudam. */
.bf-side .nav{position:static!important;display:flex!important;flex-direction:column;align-items:stretch;gap:2px;
  height:auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;
  transform:none!important;background:none!important;box-shadow:none!important;overflow:visible!important;}
.bf-side .nav-div{display:none;}
.bf-side .nav-group{position:static!important;width:100%;margin-bottom:6px;}
/* Título do grupo: clica para abrir/fechar os itens (guardado por usuário) */
.bf-side .nav-group-btn{
  display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;
  background:none!important;border:none;cursor:pointer;text-align:left;border-radius:8px;
  padding:14px 10px 6px!important;font-family:var(--fb);font-size:10.5px!important;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.62)!important;
}
.bf-side .nav-group-btn:hover{color:#fff!important;}
.bf-side .nav-group-btn:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:1px;}
.bf-side .nav-group-btn .nav-chevron{display:block;width:10px;height:10px;flex-shrink:0;opacity:.7;transition:transform .18s ease;}
.bf-side .nav-group.bf-fechado .nav-group-btn .nav-chevron{transform:rotate(-90deg);}
.bf-side .nav-group.bf-fechado .nav-group-items{display:none!important;}
.bf-side .nav-group.bf-fechado.bf-tem-ativo .nav-group-btn{color:#fff!important;}
.bf-side .nav-group.bf-fechado.bf-tem-ativo .nav-group-btn span::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bf-s1);margin-left:8px;vertical-align:2px;}
.bf-side .nav-group-items{
  display:flex!important;flex-direction:column;gap:2px;position:static!important;
  background:none!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;
  min-width:0!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;
}
.bf-side .nb{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:10px 12px!important;border-radius:10px!important;margin:0!important;
  font-family:var(--fb);font-size:13.5px!important;font-weight:500!important;letter-spacing:0!important;
  color:rgba(255,255,255,.9)!important;background:transparent!important;box-shadow:none!important;
  white-space:normal!important;line-height:1.25;
}
.bf-side .nb:hover{background:rgba(255,255,255,.08)!important;}
.bf-side .nb.on{background:rgba(255,255,255,.16)!important;color:#fff!important;font-weight:700!important;}
.bf-side .nb svg{width:19px;height:19px;flex-shrink:0;opacity:.92;}
.bf-side .nav-group-items .nb-esp:first-of-type{margin-top:0!important;border-top:none!important;padding-top:10px!important;}

.nav-mobile-overlay{z-index:1000!important;background:rgba(15,35,30,.45)!important;}
body.bf-nav-open .nav-mobile-overlay{display:block!important;}

/* Cabeçalho: branco, com a faixa de 4 cores no topo */
.hdr{
  position:sticky!important;top:0;z-index:900!important;height:var(--bf-hdr-h)!important;min-height:0!important;
  background:#fff!important;border-bottom:1px solid var(--bf-borda)!important;box-shadow:none!important;
  padding:4px 18px 0!important;display:flex!important;align-items:center;gap:12px;
}
.hdr::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--bf-faixa);}
.hdr-mobile-toggle{
  display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;
  border:1px solid var(--bf-borda)!important;border-radius:12px!important;background:#fff!important;color:var(--bf-teal-dd)!important;
  margin:0!important;padding:0!important;cursor:pointer;
}
.hdr-mobile-toggle svg{width:20px;height:20px;}
.hdr-mobile-toggle svg rect{fill:currentColor;}
.bf-ttl{flex:1;min-width:0;}
.bf-ttl-sec{font-size:12px;color:var(--bf-tx2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bf-ttl-pg{font-family:var(--fh);font-size:19px;font-weight:800;color:var(--bf-tx);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.2px;}
.bf-hdr-act{display:flex;align-items:center;gap:8px;flex-shrink:0;}

#sPill{background:var(--bf-teal-l)!important;border-color:transparent!important;color:var(--bf-teal-dd)!important;}
.hdr-user-btn{background:#fff!important;border:1px solid var(--bf-borda)!important;height:44px;border-radius:12px!important;padding:5px 10px 5px 6px!important;}
.hdr-user-btn:hover{background:var(--bf-teal-l)!important;}
.hdr-user-btn svg path{stroke:var(--bf-tx2)!important;}
#hUser{color:var(--bf-tx)!important;font-weight:600;}
#hUserAvatar{background:var(--bf-teal)!important;color:#fff!important;width:30px!important;height:30px!important;}
.hdr-user-dropdown{background:#fff!important;border:1px solid var(--bf-borda)!important;box-shadow:0 18px 40px rgba(20,45,40,.18)!important;}
#hdrDdNome{color:var(--bf-tx)!important;}
#hdrDdPerfil{color:var(--bf-teal)!important;}
#hdrDdEmail{color:var(--bf-tx2)!important;}
.hdr-dd-item{color:var(--bf-tx)!important;}
.hdr-dd-item:hover{background:var(--bf-teal-l)!important;color:var(--bf-teal-dd)!important;}
.hdr-dd-danger{color:#b42318!important;}
.hdr-dd-danger:hover{background:#fdecea!important;color:#b42318!important;}

@media(min-width:1100px){
  body.bf-app .bf-side{transform:none;box-shadow:none;}
  /* As páginas são irmãs do #app, não filhas: o recuo vai no body. */
  body.bf-app{padding-left:var(--bf-side-w);}
  .bf-side-x,.hdr-mobile-toggle{display:none!important;}
  .nav-mobile-overlay{display:none!important;}
}

/* ── Componentes ───────────────────────────────────────────────────── */
.wrap{padding:22px 24px;}
.pg-ttl{color:var(--bf-teal-dd);font-weight:800;}
.pg-sub{color:var(--bf-tx2);font-size:12px;}
.card,.cc,.os-card,.kpi{border-color:var(--bf-borda)!important;border-radius:16px;box-shadow:var(--sh);}
.kpi{padding:15px 16px;}
.kl{color:var(--bf-tx2);letter-spacing:1.2px;font-size:9.5px;}
.kv{font-variant-numeric:tabular-nums;}
.sec{color:var(--bf-teal);letter-spacing:2px;}
.bp{background:var(--bf-teal)!important;box-shadow:none!important;border-radius:10px;}
.bp:hover{background:var(--bf-teal-d)!important;}
.bs,.bg{border-color:var(--bf-borda)!important;color:var(--bf-teal-dd)!important;border-radius:10px;}
.btn{border-radius:10px;}
.fbar{background:#fff!important;border-color:var(--bf-borda)!important;border-radius:14px;}
.dt th{background:#f6f9f8!important;color:var(--bf-tx2)!important;border-bottom-color:var(--bf-borda)!important;}
.dt td{border-bottom-color:#eef2f1!important;}
.modal{border-radius:20px;}
.modal-bg{background:rgba(15,35,30,.5)!important;}

/* Cartão de indicador clicável */
.kpi.bf-click{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;}
.kpi.bf-click:hover{transform:translateY(-1px);box-shadow:var(--sm);border-color:var(--g3)!important;}
.kpi.bf-click:focus-visible{outline:3px solid var(--g3);outline-offset:2px;}
.kpi.bf-click::after{
  content:'›';position:absolute;right:12px;bottom:9px;font-size:18px;font-weight:700;line-height:1;color:var(--gray-200);
}
.kpi.bf-click:hover::after{color:var(--bf-teal);}

/* Folha de detalhe (drill-down dos indicadores) */
.bf-sheet-bg{position:fixed;inset:0;z-index:1200;background:rgba(15,35,30,.45);display:none;justify-content:flex-end;}
.bf-sheet-bg.on{display:flex;}
.bf-sheet{
  background:var(--bf-bg);width:min(560px,100%);height:100%;display:flex;flex-direction:column;
  box-shadow:-12px 0 40px rgba(10,30,26,.25);animation:bfEntra .2s ease;
}
@keyframes bfEntra{from{transform:translateX(30px);opacity:.4}to{transform:none;opacity:1}}
.bf-sheet-hd{position:relative;background:#fff;padding:20px 20px 14px;border-bottom:1px solid var(--bf-borda);display:flex;gap:12px;align-items:flex-start;}
.bf-sheet-hd::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--bf-faixa);}
.bf-sheet-k{font-size:10.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--bf-teal);}
.bf-sheet-t{font-family:var(--fh);font-size:20px;font-weight:800;color:var(--bf-tx);line-height:1.2;margin-top:2px;}
.bf-sheet-s{font-size:12.5px;color:var(--bf-tx2);margin-top:4px;line-height:1.5;}
.bf-sheet-x{margin-left:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--bf-borda);background:#fff;cursor:pointer;flex-shrink:0;font-size:16px;color:var(--bf-tx2);}
.bf-sheet-body{flex:1;overflow-y:auto;padding:14px 16px 28px;}
.bf-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--bf-borda);border-radius:14px;
  padding:12px 14px;margin-bottom:8px;cursor:pointer;transition:border-color .12s;}
.bf-row:hover{border-color:var(--g3);}
.bf-row-main{flex:1;min-width:0;}
.bf-row-t{font-size:14px;font-weight:700;color:var(--bf-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bf-row-s{font-size:12px;color:var(--bf-tx2);margin-top:2px;}
.bf-row-v{text-align:right;flex-shrink:0;}
.bf-row-v b{display:block;font-size:15px;font-weight:800;color:var(--bf-tx);font-variant-numeric:tabular-nums;}
.bf-row-v span{font-size:11px;color:var(--bf-tx2);}
.bf-bar{height:5px;border-radius:3px;background:var(--gray-100);margin-top:7px;overflow:hidden;}
.bf-bar i{display:block;height:100%;border-radius:3px;background:var(--bf-teal);}
.bf-vazio{text-align:center;color:var(--bf-tx2);font-size:13px;padding:40px 10px;}
.bf-nota{font-size:11.5px;color:var(--bf-tx2);background:#fff;border:1px dashed var(--g3);border-radius:12px;padding:10px 12px;margin-bottom:12px;line-height:1.5;}

/* ── Celular ───────────────────────────────────────────────────────── */
@media(max-width:768px){
  :root{--bf-hdr-h:60px;}
  .hdr{padding:4px 12px 0!important;gap:10px;}
  .bf-ttl-pg{font-size:17px;}
  #hUser,#sPill{display:none!important;}
  .hdr-user-btn{padding:5px!important;}
  .hdr-user-btn > svg{display:none;}
  .wrap{padding:14px 14px 28px!important;}
  .pg-ttl{font-size:20px!important;}

  /* Grades escritas direto no HTML (style="grid-template-columns:…") não
     respeitavam a tela pequena. Aqui elas caem para 2 colunas / 1 coluna. */
  [style*="grid-template-columns:1fr 1fr 1fr"],[style*="grid-template-columns: 1fr 1fr 1fr"],
  [style*="grid-template-columns:repeat(3,1fr)"],[style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(5,1fr)"],[style*="grid-template-columns:repeat(6,1fr)"]{
    grid-template-columns:1fr 1fr!important;
  }
  [style*="grid-template-columns:1fr minmax"],[style*="grid-template-columns:2fr 1fr"],
  [style*="grid-template-columns:1fr 2fr"],[style*="grid-template-columns:3fr"],
  [style*="grid-template-columns:1fr 340px"],[style*="grid-template-columns:1fr 320px"],
  [style*="grid-template-columns:1fr 300px"]{
    grid-template-columns:1fr!important;
  }
  /* Conteúdo largo rola dentro do cartão, não a página inteira */
  .card,.cc,.os-card{overflow-x:auto;}
  .card,.cc{padding:14px!important;}

  /* Janelas viram folhas que sobem de baixo */
  .modal-bg{align-items:flex-end!important;padding:0!important;}
  .modal-bg .modal{max-width:100%!important;width:100%!important;max-height:92vh!important;border-radius:20px 20px 0 0!important;padding:18px 16px 24px!important;}
  .bf-sheet{width:100%;}
  .bf-sheet-bg{align-items:flex-end;}
  .bf-sheet{height:auto;max-height:92vh;border-radius:20px 20px 0 0;overflow:hidden;animation:bfSobe .2s ease;}
  @keyframes bfSobe{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}

  /* Alvos de toque confortáveis */
  .btn{min-height:40px;}
  .fg select,.fg input{min-height:40px;font-size:14px!important;}
}
@media(max-width:420px){
  [style*="grid-template-columns:1fr 1fr 1fr"],[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr!important;}
  .kpig{grid-template-columns:1fr 1fr!important;}
  .kv{font-size:19px!important;}
}

/* ── Login (proposta "Manutenção Industrial", fase 3b) ─────────────────
   3 colunas no computador (apresentação · injetora interativa · login),
   2 no notebook (apresentação + login em cima, injetora embaixo) e
   1 coluna no celular (marca → login → injetora → módulos). */
#auth.lg{
  --lg-v:#0F7A63; --lg-vd:#0A5C4A; --lg-vc:#4AB89C; --lg-vl:#E3F4EF;
  --lg-bg:#EDF0EF; --lg-esq:#DDEEE8; --lg-tx:#263031; --lg-tx1:#1F2B2A; --lg-tx2:#5D6A69; --lg-tx3:#3E4B4A;
  --lg-borda:#D5E1DE; --lg-campo:#EFF5F3;
  position:fixed;inset:0;z-index:9999;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;
  background:var(--lg-bg);color:var(--lg-tx);font-family:'Nunito Sans',system-ui,sans-serif;
}
#auth.lg *{box-sizing:border-box;}
#auth.lg [hidden]{display:none!important;}
.lg-main{flex:1 0 auto;display:grid;min-height:0;
  grid-template-columns:clamp(330px,27vw,430px) minmax(0,1fr) clamp(370px,28vw,460px);
  grid-template-areas:"marca centro login" "mods centro login";grid-template-rows:auto 1fr;}
.lg-marca,.lg-mods{background:var(--lg-esq);padding:0 clamp(24px,3vw,48px);}
.lg-marca{grid-area:marca;padding-top:5vh;display:flex;flex-direction:column;justify-content:flex-end;}
.lg-mods{grid-area:mods;padding-top:4.5vh;padding-bottom:3vh;}
.lg-logo{width:100%;max-width:360px;height:auto;display:block;margin-bottom:4.5vh;}
.lg-k{font-size:14px;font-weight:800;letter-spacing:.2em;color:var(--lg-v);margin-bottom:12px;}
.lg-h1{margin:0 0 16px;font-size:clamp(32px,3vw,46px);line-height:1.05;font-weight:800;color:var(--lg-v);letter-spacing:-.01em;overflow-wrap:break-word;}
.lg-lead{margin:0;font-size:16px;line-height:1.6;color:var(--lg-tx2);}
.lg-mods-t{font-size:12px;font-weight:800;letter-spacing:.2em;color:#4F6260;margin-bottom:12px;display:block;}
.lg-mods ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;}
.lg-mods li{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:700;color:#2E3B3A;}
.lg-mods li span{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:#fff;color:var(--lg-v);display:flex;align-items:center;justify-content:center;}

.lg-centro{grid-area:centro;min-width:0;position:relative;padding:4vh clamp(28px,3vw,48px) 3vh;display:flex;flex-direction:column;justify-content:space-between;gap:2vh;}
.lg-maq{position:relative;align-self:center;aspect-ratio:968/572;width:min(100%, max(360px, calc((100vh - 430px) * 968 / 572)));}
.lg-maq-sombra{position:absolute;left:8%;right:8%;bottom:2%;height:16%;border-radius:50%;background:rgba(15,122,99,.10);filter:blur(28px);}
.lg-maq-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 86%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 86%,transparent 100%);
  mask-composite:intersect;}
.lg-potes{position:absolute;left:-2%;bottom:-5%;width:25%;height:auto;filter:drop-shadow(0 14px 14px rgba(15,60,55,.28));pointer-events:none;}
@keyframes lgPulse{0%{transform:scale(.6);opacity:.75}100%{transform:scale(1.9);opacity:0}}
.lg-hs{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border:0;padding:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.lg-hs:hover{transform:translate(-50%,-50%) scale(1.12);}
.lg-hs .ring{position:absolute;width:32px;height:32px;border-radius:50%;animation:lgPulse 1.8s ease-out infinite;background:rgba(74,184,156,.45);}
.lg-hs .dot{position:relative;width:26px;height:26px;border-radius:50%;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.3);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;background:var(--lg-vc);transition:all .2s;}
.lg-hs.on .ring{background:rgba(15,122,99,.45);} .lg-hs.on .dot{width:32px;height:32px;background:var(--lg-v);}
.lg-hs .tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--lg-tx1);color:#fff;font-size:13px;font-weight:700;padding:6px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s;}
.lg-hs:hover .tip,.lg-hs:focus-visible .tip{opacity:1;}
.lg-hs:focus-visible,.lg-tile:focus-visible{outline:3px solid var(--lg-v);outline-offset:2px;}
.lg-maq-leg{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;margin-top:-1vh;}
.lg-maq-leg .k{font-size:13px;font-weight:800;letter-spacing:.2em;color:var(--lg-v);}
.lg-maq-leg .t{font-size:26px;font-weight:800;color:var(--lg-tx1);}
.lg-maq-leg .s{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--lg-tx2);margin-top:2px;}
.lg-maq-leg .s i{width:9px;height:9px;border-radius:50%;background:var(--lg-vc);box-shadow:0 0 0 4px rgba(74,184,156,.25);}
.lg-sis{display:flex;flex-direction:column;gap:12px;}
.lg-sis-card{display:flex;gap:18px;align-items:center;background:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 4px 14px rgba(30,70,60,.06);}
.lg-num{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--lg-v);color:#fff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.lg-sis-tx{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px;}
.lg-sis-tx b{font-size:21px;font-weight:800;color:var(--lg-tx1);}
.lg-sis-tx span{font-size:16px;line-height:1.5;color:var(--lg-tx2);}
.lg-ghost{flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid var(--lg-v);background:#fff;color:var(--lg-v);font:800 15px 'Nunito Sans',system-ui,sans-serif;cursor:pointer;white-space:nowrap;}
.lg-ghost:hover{background:var(--lg-vl);}
.lg-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.lg-tile{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border-radius:12px;border:1.5px solid #DCE5E3;background:#fff;color:var(--lg-tx3);
  font:700 15px 'Nunito Sans',system-ui,sans-serif;text-align:left;cursor:pointer;transition:background .25s,border-color .25s,color .25s;}
.lg-tile:hover{border-color:var(--lg-vc);}
.lg-tile .n{flex:0 0 auto;width:26px;height:26px;border-radius:50%;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;background:var(--lg-vl);color:var(--lg-v);}
.lg-tile .l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lg-tile.on{background:var(--lg-vl);border-color:var(--lg-v);color:var(--lg-v);}
.lg-tile.on .n{background:var(--lg-v);color:#fff;}

@keyframes lgPop{from{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:none}}
.lg-det{position:absolute;top:4vh;bottom:3vh;left:clamp(28px,3vw,48px);right:clamp(28px,3vw,48px);z-index:5;background:#fff;border-radius:20px;
  box-shadow:0 24px 60px rgba(20,60,55,.22);display:flex;flex-direction:column;overflow:hidden;animation:lgPop .28s ease-out;}
.lg-det-hd{display:flex;align-items:center;gap:14px;padding:18px 18px 14px 22px;}
.lg-det-hd .lg-num{width:48px;height:48px;font-size:21px;}
.lg-det-k{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--lg-v);}
.lg-det-t{font-size:23px;font-weight:800;color:var(--lg-tx1);line-height:1.15;}
.lg-x{flex:0 0 auto;width:44px;height:44px;border-radius:12px;border:0;background:#F1F5F4;color:var(--lg-tx3);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lg-x:hover{background:var(--lg-vl);}
.lg-zoom{flex:0 0 26%;min-height:120px;margin:0 22px;border-radius:14px;background:#E6ECEA url(img/login-injetora.jpg) no-repeat;background-size:400%;position:relative;transition:background-position .4s;}
.lg-zoom span{position:absolute;left:12px;bottom:10px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--lg-v);font-size:12px;font-weight:800;}
.lg-det-p{margin:14px 22px 4px;font-size:16px;line-height:1.5;color:var(--lg-tx2);}
.lg-parts{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;padding:6px 22px 10px;list-style:none;}
.lg-parts li{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid #EDF2F1;}
.lg-parts li > span{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--lg-vl);color:var(--lg-v);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.lg-parts li b{display:block;font-size:16px;font-weight:800;color:var(--lg-tx1);}
.lg-parts li small{display:block;font-size:15px;line-height:1.45;color:var(--lg-tx2);margin-top:2px;}
.lg-det-pe{display:flex;justify-content:space-between;gap:10px;padding:12px 22px 18px;border-top:1px solid #EDF2F1;}
.lg-det-pe .lg-ghost{border-color:var(--lg-borda);color:var(--lg-tx3);}
.lg-det-fundo{display:none;}

.lg-login{grid-area:login;min-width:0;padding:4vh clamp(24px,2.5vw,40px) 3vh 0;display:flex;}
.lg-card{flex:1 1 auto;min-width:0;border-radius:20px;background:#fff;border-top:6px solid var(--lg-v);box-shadow:0 10px 30px rgba(30,70,60,.08);display:flex;}
.lg-form{flex:1 1 auto;padding:6vh clamp(30px,2.6vw,44px) 4.5vh;display:flex;flex-direction:column;}
.lg-view{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;gap:3vh;}
.lg-h2{margin:0;font-size:54px;line-height:1;font-weight:800;color:var(--lg-tx1);}
.lg-h2.m{font-size:38px;line-height:1.05;}
.lg-sub{font-size:18px;line-height:1.45;color:var(--lg-tx2);}
.lg-campos{display:flex;flex-direction:column;gap:26px;}
.lg-campo{display:flex;flex-direction:column;gap:8px;}
.lg-campo label{font-size:18px;font-weight:700;color:#2E3B3A;}
.lg-campo label small{font-weight:400;color:var(--lg-tx2);font-size:inherit;}
.lg-in{width:100%;max-width:100%;height:68px;border-radius:12px;border:1px solid var(--lg-borda);background:var(--lg-campo);color:var(--lg-tx);padding:0 20px;font:19px 'Nunito Sans',system-ui,sans-serif;}
textarea.lg-in{height:auto;padding:12px 20px;resize:none;line-height:1.5;}
.lg-in:focus{outline:none;border-color:var(--lg-v);box-shadow:0 0 0 3px rgba(15,122,99,.18);}
.lg-pw{position:relative;} .lg-pw .lg-in{padding-right:58px;}
.lg-olho{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;color:var(--lg-tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;}
.lg-olho:hover{background:var(--lg-vl);color:var(--lg-v);}
.lg-btn{height:70px;border:0;border-radius:14px;background:var(--lg-v);color:#fff;font:800 21px 'Nunito Sans',system-ui,sans-serif;cursor:pointer;margin-top:8px;}
.lg-btn:hover{background:var(--lg-vd);} .lg-btn:disabled{opacity:.7;cursor:wait;}
.lg-btn.contorno{background:#fff;color:var(--lg-v);border:2px solid var(--lg-v);height:64px;font-size:19px;width:100%;}
.lg-btn.contorno:hover{background:var(--lg-vl);}
.lg-esq-pe{padding-top:18px;border-top:1px solid #E3EBE9;display:flex;flex-direction:column;gap:4px;}
.lg-esq-pe > span{font-size:17px;color:var(--lg-tx2);}
.lg-lnk{align-self:flex-start;min-height:44px;padding:0;border:0;background:transparent;color:var(--lg-v);font:800 18px 'Nunito Sans',system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left;}
.lg-lnk:hover{color:var(--lg-vd);text-decoration:underline;}
.lg-voltar{align-self:flex-start;min-height:44px;padding:0;border:0;background:transparent;color:var(--lg-tx2);font:700 16px 'Nunito Sans',system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;gap:6px;}
.lg-passos{margin:0;padding:14px 0 0;border-top:1px solid #E3EBE9;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--lg-tx3);}
.lg-passos li{display:flex;align-items:center;gap:12px;}
.lg-passos li span{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--lg-vl);color:var(--lg-v);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.lg-ok{width:76px;height:76px;border-radius:50%;background:var(--lg-vl);color:var(--lg-v);display:flex;align-items:center;justify-content:center;}
.lg-aguard{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#FFF3D6;color:#7A5200;font-size:15px;font-weight:800;}
.lg-aguard i{width:8px;height:8px;border-radius:50%;background:#D99A00;}
#authErr.lg-erro{display:none;background:#fdecea;border:1px solid #f5c2bd;color:#b42318;font-size:15px;padding:10px 14px;border-radius:12px;line-height:1.45;}
.lg-erro2{background:#fdecea;border:1px solid #f5c2bd;color:#b42318;font-size:15px;padding:10px 14px;border-radius:12px;line-height:1.45;}
.lg-pe{flex:0 0 auto;border-top:3px solid var(--lg-v);padding:14px 40px;display:flex;justify-content:space-between;gap:16px;font-size:14px;font-weight:800;letter-spacing:.04em;color:var(--lg-v);}

/* Notebook / tablet deitado: apresentação + login em cima, injetora embaixo */
@media (max-width:1279px){
  .lg-main{grid-template-columns:minmax(0,1fr) minmax(360px,440px);grid-template-areas:"marca login" "mods login" "centro centro";grid-template-rows:auto 1fr auto;}
  .lg-marca{padding-top:5vh;}
  .lg-login{padding:4vh clamp(20px,3vw,40px) 3vh;}
  .lg-centro{padding:4vh clamp(20px,4vw,48px) 4vh;}
  .lg-maq{width:min(100%,820px);}
  .lg-det{position:fixed;top:auto;bottom:16px;left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100% - 32px));max-height:min(80vh,720px);z-index:10001;}
  .lg-det-fundo{display:block;position:fixed;inset:0;background:rgba(15,40,35,.45);z-index:10000;}
}
/* Celular e tablet em pé: uma coluna */
@media (max-width:860px){
  .lg-main{display:flex;flex-direction:column;}
  .lg-marca{order:1;padding:28px 20px 22px;}
  .lg-login{order:2;padding:18px 16px 4px;background:linear-gradient(var(--lg-esq) 0 60px,transparent 60px);}
  .lg-centro{order:3;padding:28px 16px 8px;gap:18px;}
  .lg-mods{order:4;padding:22px 20px 26px;margin:16px 16px 0;border-radius:18px;}
  .lg-logo{max-width:230px;margin-bottom:22px;}
  .lg-k{font-size:12px;margin-bottom:8px;}
  .lg-h1{font-size:34px;margin-bottom:10px;}
  .lg-lead{font-size:15.5px;}
  .lg-form{padding:28px 20px 24px;}
  .lg-view{gap:22px;}
  .lg-h2{font-size:38px;} .lg-h2.m{font-size:30px;}
  .lg-sub{font-size:16px;}
  .lg-campos{gap:18px;}
  .lg-campo label{font-size:16px;}
  .lg-in{height:56px;font-size:16px;padding:0 16px;}   /* 16px evita o zoom automático do iOS */
  textarea.lg-in{padding:12px 16px;}
  .lg-btn{height:58px;font-size:19px;}
  .lg-esq-pe > span{font-size:15px;} .lg-lnk{font-size:16px;}
  .lg-maq{width:100%;}
  .lg-hs{width:40px;height:40px;}
  .lg-hs .dot{width:24px;height:24px;font-size:12px;border-width:2px;}
  .lg-hs.on .dot{width:28px;height:28px;}
  .lg-hs .tip{display:none;}
  .lg-maq-leg{margin-top:0;}
  .lg-maq-leg .t{font-size:21px;}
  .lg-maq-leg .s{font-size:13px;display:block;}
  .lg-maq-leg .s i{display:inline-block;vertical-align:1px;margin-right:8px;}
  .lg-sis-card{flex-wrap:wrap;gap:12px 14px;padding:16px;}
  .lg-num{width:44px;height:44px;font-size:19px;}
  .lg-sis-tx b{font-size:18px;} .lg-sis-tx span{font-size:14.5px;}
  .lg-sis-card .lg-ghost{width:100%;min-height:48px;}
  .lg-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .lg-tile{font-size:14px;padding:8px 10px;}
  .lg-det{left:0;right:0;bottom:0;transform:none;width:100%;max-height:88vh;border-radius:20px 20px 0 0;}
  .lg-det-hd{padding:16px 14px 12px 16px;}
  .lg-det-t{font-size:19px;}
  .lg-zoom{flex-basis:auto;height:120px;margin:0 16px;}
  .lg-det-p{margin:12px 16px 4px;font-size:15px;}
  .lg-parts{padding:4px 16px 8px;}
  .lg-parts li b{font-size:15px;} .lg-parts li small{font-size:14px;}
  .lg-det-pe{padding:10px 16px 16px;}
  .lg-pe{flex-direction:column;gap:4px;padding:14px 20px;font-size:13px;margin-top:20px;}
}

/* Rodapé do app (fica depois das páginas) */
footer{background:#eef3f1!important;border-top:3px solid var(--bf-teal)!important;margin-top:28px!important;padding:14px 22px!important;}
footer span{color:var(--bf-teal-dd)!important;font-size:11px!important;font-weight:600;}

/* ═══════════════════════════════════════════════════════════════════════
   PLANEJADOR DE PREVENTIVA (fase 3)
   ═══════════════════════════════════════════════════════════════════════ */
.pl-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px;}
.pl-seg{display:inline-flex;background:#fff;border:1px solid var(--bf-borda);border-radius:12px;padding:3px;}
.pl-seg button{border:none;background:none;padding:8px 14px;border-radius:9px;font:600 13px var(--fb);color:var(--bf-tx2);cursor:pointer;}
.pl-seg button.on{background:var(--bf-teal-l);color:var(--bf-teal-dd);font-weight:800;}
.pl-nav{display:flex;align-items:center;gap:6px;}
.pl-nav button{min-width:40px;height:40px;border:1px solid var(--bf-borda);background:#fff;border-radius:10px;cursor:pointer;font:600 13px var(--fb);color:var(--bf-tx);padding:0 12px;}
.pl-per{font-family:var(--fh);font-size:17px;font-weight:800;color:var(--bf-tx);margin-left:6px;white-space:nowrap;}
.pl-filt{display:flex;gap:8px;flex-wrap:wrap;}
.pl-filt select,.pl-filt input{height:40px;border:1px solid var(--bf-borda);border-radius:10px;padding:0 10px;font:13px var(--fb);background:#fff;color:var(--bf-tx);}
.pl-acoes{display:flex;gap:8px;flex-wrap:wrap;}

.pl-resumo{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;background:#fff;border:1px solid var(--bf-borda);
  border-radius:16px;padding:14px 18px;margin-bottom:12px;}
.pl-resumo b{font-family:var(--fh);font-size:24px;font-weight:800;color:var(--bf-teal-dd);font-variant-numeric:tabular-nums;}
.pl-resumo span{font-size:13px;color:var(--bf-tx2);margin-left:5px;}
.pl-resumo .alerta b{color:#b42318;}
.pl-leg{display:flex;flex-wrap:wrap;gap:12px;width:100%;margin-top:4px;font-size:12px;color:var(--bf-tx2);}
.pl-leg i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px;}
.pl-dica{font-size:12.5px;color:var(--bf-teal-dd);background:var(--bf-teal-l);border:1px dashed var(--g3);border-radius:12px;padding:9px 12px;margin-bottom:12px;}

.pl-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start;}
.pl-cal{min-width:0;}

/* Semana */
.pl-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.pl-dia{background:#fff;border:1px solid var(--bf-borda);border-radius:14px;min-height:340px;display:flex;flex-direction:column;transition:border-color .12s,background .12s;}
.pl-dia.fds{background:#f8faf9;}
.pl-dia.hoje{border-color:var(--bf-teal);box-shadow:0 0 0 2px rgba(44,107,93,.15);}
.pl-dia.alvo{border-color:var(--bf-teal);background:var(--bf-teal-l);}
.pl-dia-hd{padding:9px 10px 7px;border-bottom:1px solid #eef2f1;}
.pl-dia-n{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;font-weight:700;color:var(--bf-tx2);text-transform:uppercase;letter-spacing:.6px;}
.pl-dia-n b{font-family:var(--fh);font-size:18px;color:var(--bf-tx);letter-spacing:0;}
.pl-cap{height:6px;border-radius:3px;background:var(--gray-100);margin-top:7px;overflow:hidden;}
.pl-cap i{display:block;height:100%;background:var(--bf-teal);border-radius:3px;}
.pl-cap.cheio i{background:#d97706;} .pl-cap.estouro i{background:#dc2626;}
.pl-cap-t{font-size:11px;color:var(--bf-tx2);margin-top:4px;font-variant-numeric:tabular-nums;}
.pl-cap-t.estouro{color:#b42318;font-weight:700;}
.pl-dia-bd{padding:7px;display:flex;flex-direction:column;gap:6px;flex:1;}
.pl-chip-dem{display:inline-block;font-size:10.5px;font-weight:700;border-radius:6px;padding:1px 6px;margin-top:5px;margin-right:4px;}
.pl-chip-dem.sem{background:#dcfce7;color:#166534;} .pl-chip-dem.pico{background:#fee2e2;color:#991b1b;}

/* Cartão de preventiva */
.pl-card{position:relative;background:#fff;border:1px solid var(--bf-borda);border-left:4px solid var(--c,#2563eb);border-radius:10px;
  padding:7px 8px 7px 9px;cursor:pointer;font-size:12px;line-height:1.3;user-select:none;}
.pl-card[draggable=true]{cursor:grab;}
.pl-card:hover{border-color:var(--g3);border-left-color:var(--c,#2563eb);box-shadow:var(--sm);}
.pl-card.arrastando{opacity:.4;}
.pl-card-t{font-weight:800;color:var(--bf-tx);display:flex;justify-content:space-between;gap:6px;}
.pl-card-t span{font-weight:600;color:var(--bf-tx2);font-size:11px;white-space:nowrap;}
.pl-card-s{color:var(--bf-tx2);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pl-card .pl-ic{font-size:11px;margin-left:3px;}
.pl-card.fixo{cursor:pointer;opacity:.85;}

/* Mês */
.pl-mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;}
.pl-mes-h{font-size:11px;font-weight:800;color:var(--bf-tx2);text-transform:uppercase;letter-spacing:.8px;text-align:center;padding:4px 0;}
.pl-mes .pl-dia{min-height:118px;}
.pl-mes .pl-dia.fora{opacity:.45;}
.pl-mes .pl-dia-hd{padding:6px 8px 4px;border-bottom:none;}
.pl-mes .pl-dia-bd{padding:2px 6px 6px;gap:3px;}
.pl-mini{display:block;font-size:11px;font-weight:700;border-radius:6px;padding:2px 6px;background:var(--bf-teal-l);color:var(--bf-teal-dd);
  border-left:3px solid var(--c,#2563eb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;}
.pl-mais{font-size:11px;color:var(--bf-tx2);font-weight:700;padding:0 4px;cursor:pointer;}

/* Agenda (celular) */
.pl-ag-dia{margin-bottom:16px;}
.pl-ag-hd{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--bf-teal-dd);padding:4px 4px 8px;border-bottom:2px solid var(--bf-borda);margin-bottom:8px;}
.pl-ag-hd span{letter-spacing:0;text-transform:none;font-weight:600;color:var(--bf-tx2);font-size:13px;}
.pl-ag-dia .pl-card{padding:12px 14px;font-size:14px;margin-bottom:8px;border-radius:14px;}
.pl-ag-dia .pl-card-s{font-size:12.5px;}
.pl-ag-vazio{font-size:13px;color:var(--bf-tx2);padding:4px 4px 0;}

/* Painel "Para programar" */
.pl-lado{background:#fff;border:1px solid var(--bf-borda);border-radius:16px;padding:14px;position:sticky;top:calc(var(--bf-hdr-h) + 12px);max-height:calc(100vh - var(--bf-hdr-h) - 30px);overflow-y:auto;}
.pl-lado h3{font-family:var(--fh);font-size:16px;font-weight:800;color:var(--bf-tx);margin-bottom:2px;}
.pl-lado .pl-sub{font-size:12px;color:var(--bf-tx2);margin-bottom:10px;}
.pl-grp{margin-top:12px;}
.pl-grp-t{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--bf-tx2);margin-bottom:6px;}
.pl-grp-t b{color:var(--bf-tx);}
.pl-grp .pl-card{margin-bottom:6px;}
.pl-lado-vazio{font-size:12px;color:var(--bf-tx2);padding:2px 0 4px;}
.pl-aviso{font-size:12px;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:8px 10px;margin-top:10px;line-height:1.45;}

/* Formulários dentro da folha */
.pl-form label{display:block;font-size:13px;font-weight:600;color:var(--bf-tx);margin:12px 0 6px;}
.pl-form input,.pl-form select,.pl-form textarea{width:100%;min-height:46px;border:1.5px solid var(--bf-borda);border-radius:12px;padding:10px 12px;font:15px var(--fb);color:var(--bf-tx);background:#fff;}
.pl-form textarea{min-height:90px;resize:vertical;}
.pl-form .pl-btns{display:flex;gap:8px;margin-top:16px;}
.pl-form .pl-btns button{flex:1;height:48px;border-radius:12px;font:700 15px var(--fh);cursor:pointer;border:1px solid var(--bf-borda);background:#fff;color:var(--bf-tx);}
.pl-form .pl-btns .pri{background:var(--bf-teal);border-color:var(--bf-teal);color:#fff;}
.pl-form .pl-btns .pri:disabled{opacity:.6;}
.pl-info{font-size:13px;color:var(--bf-tx2);line-height:1.55;background:#fff;border:1px solid var(--bf-borda);border-radius:12px;padding:10px 12px;}
.pl-info b{color:var(--bf-tx);}
.pl-warn{font-size:13px;line-height:1.5;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:9px 12px;margin-top:10px;}
.pl-warn.forte{color:#991b1b;background:#fef2f2;border-color:#fecaca;}
.pl-dem-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--bf-borda);border-radius:12px;padding:10px 12px;margin-bottom:7px;font-size:13px;}
.pl-dem-item div{flex:1;min-width:0;}
.pl-dem-item button{border:none;background:#fef2f2;color:#b42318;border-radius:9px;height:34px;padding:0 10px;cursor:pointer;font-weight:700;}

@media(max-width:1280px){ .pl-wrap{grid-template-columns:1fr;} .pl-lado{position:static;max-height:none;} }
@media(max-width:768px){
  .pl-per{font-size:15px;width:100%;margin:4px 0 0;}
  .pl-filt select,.pl-filt input{flex:1;min-width:0;}
  .pl-filt{width:100%;}
  .pl-resumo b{font-size:20px;}
}
.pl-ag-dia.alvo{background:var(--bf-teal-l);border-radius:14px;outline:2px dashed var(--bf-teal);outline-offset:4px;}

/* ═══ Análise de Falhas (fase 4) ═══════════════════════════════════════ */
.af-tools{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;}
.af-card{margin-bottom:14px;padding:18px 20px!important;}
.af-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;}
.af-t{font-family:var(--fh);font-size:16px;font-weight:800;color:var(--bf-teal-dd);}
.af-s{font-size:12.5px;color:var(--bf-tx2);margin-top:3px;line-height:1.45;}
.af-big{text-align:right;flex-shrink:0;}
.af-big b{display:block;font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.af-big span{font-size:11px;color:var(--bf-tx2);line-height:1.3;display:block;margin-top:4px;}
.af-aviso{background:#fff7e6;border:1px solid #f3d9a4;color:#7a4b06;border-radius:12px;padding:10px 12px;font-size:12.5px;margin-bottom:12px;line-height:1.45;}
.af-stack{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--gray-100);margin-bottom:12px;}
.af-stack i{display:block;height:100%;}
.af-qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;}
.af-q{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:2px 8px;text-align:left;background:#fff;border:1px solid var(--bf-borda);
  border-radius:14px;padding:11px 12px;cursor:pointer;font:inherit;color:var(--bf-tx);transition:border-color .12s;}
.af-q:hover:not(:disabled){border-color:var(--bf-teal);}
.af-q:disabled{opacity:.55;cursor:default;}
.af-q b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;}
.af-q em{font-style:normal;font-size:12px;color:var(--bf-tx2);}
.af-q .af-qt{grid-column:1/-1;font-size:13px;font-weight:700;}
.af-q .af-qs{grid-column:1/-1;font-size:11.5px;color:var(--bf-tx2);}
.af-dot{width:10px;height:10px;border-radius:50%;display:inline-block;}
.af-nota{font-size:11.5px;color:var(--bf-tx2);margin-top:10px;}
.af-mot{color:var(--bf-teal-dd);}
.af-lote{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 12px;}
.af-sel{display:flex;align-items:center;gap:10px;}
.af-sel input{width:20px;height:20px;flex-shrink:0;accent-color:var(--bf-teal);}
.af-sel .bf-row{flex:1;min-width:0;}
.af-prio{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--bf-borda);border-radius:14px;margin-bottom:8px;cursor:pointer;background:#fff;}
.af-prio:hover,.af-prio:focus-visible{border-color:var(--bf-teal);outline:none;}
.af-pn{width:30px;height:30px;border-radius:50%;background:var(--bf-teal-l);color:var(--bf-teal-dd);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.af-pm{flex:1;min-width:0;}
.af-pt{font-weight:800;font-size:14.5px;}
.af-ps{font-size:12px;color:var(--bf-tx2);margin-top:3px;line-height:1.4;}
.af-pv{display:grid;grid-template-columns:auto auto;gap:0 6px;align-items:baseline;text-align:right;flex-shrink:0;}
.af-pv b{font-size:15px;font-variant-numeric:tabular-nums;}
.af-pv span{font-size:11px;color:var(--bf-tx2);text-align:left;}
.af-tag{display:inline-block;font-size:10.5px;font-weight:800;border:1px solid;border-radius:20px;padding:1px 7px;margin-left:4px;vertical-align:2px;background:#fff;}
.af-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.af-g2>.af-card{margin-bottom:14px;min-width:0;}
.af-svg{width:100%;height:auto;display:block;}
.af-svg .af-ax{font-size:10px;fill:#5b6b66;}
.af-svg .af-axt{font-size:11px;fill:#5b6b66;}
.af-svg .af-ql{font-size:10px;font-weight:800;letter-spacing:.06em;}
.af-svg .af-lb{font-size:10.5px;font-weight:700;fill:#1d2b27;}
.af-svg .af-pt{cursor:pointer;}
.af-svg .af-pt:hover circle{fill-opacity:.85;}
.af-leg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--bf-tx2);margin-top:8px;}
.af-leg i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;}
.af-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.af-abas button{border:1px solid var(--bf-borda);background:#fff;border-radius:20px;padding:6px 12px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--bf-tx);min-height:34px;}
.af-abas button.on{background:var(--bf-teal);border-color:var(--bf-teal);color:#fff;font-weight:700;}
.af-pr{display:grid;grid-template-columns:minmax(80px,30%) 1fr 92px 40px;gap:8px;align-items:center;padding:6px 4px;border-radius:8px;font-size:12.5px;}
.af-pr:hover{background:var(--bf-bg);}
.af-prl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;}
.af-prb{height:12px;background:var(--gray-100);border-radius:6px;overflow:hidden;}
.af-prb i{display:block;height:100%;background:#cfd8d5;border-radius:6px;}
.af-pr.a .af-prb i{background:var(--bf-teal);}
.af-prv{font-variant-numeric:tabular-nums;font-weight:700;text-align:right;white-space:nowrap;}
.af-prv small{font-weight:400;color:var(--bf-tx2);margin-left:5px;}
.af-pra{text-align:right;color:var(--bf-tx2);font-variant-numeric:tabular-nums;}
.af-tr{display:grid;grid-template-columns:minmax(70px,26%) 1fr auto;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--bf-borda);cursor:pointer;}
.af-tr:hover{background:var(--bf-bg);}
.af-trm{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.af-spark{width:100%;height:14px;}
.af-trv{font-size:12.5px;font-weight:800;text-align:right;white-space:nowrap;}
.af-trv small{display:block;font-weight:400;color:var(--bf-tx2);font-size:11px;}
.af-det summary{cursor:pointer;font-size:12.5px;color:var(--bf-teal-dd);font-weight:700;padding:10px 4px;}
.af-mks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;}
.af-mk{background:var(--bf-bg);border-radius:12px;padding:10px;text-align:center;}
.af-mk b{display:block;font-size:17px;font-variant-numeric:tabular-nums;}
.af-mk span{font-size:11px;color:var(--bf-tx2);}
.af-diag{background:var(--bf-teal-l);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;margin-bottom:12px;}
.af-diag div+div{margin-top:4px;}
.af-sub{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--bf-tx2);margin:14px 0 8px;}
.af-chips{display:flex;flex-wrap:wrap;gap:6px;}
.af-chips span{background:var(--bf-bg);border:1px solid var(--bf-borda);border-radius:20px;padding:4px 10px;font-size:12px;}
@media (max-width:1100px){ .af-g2{grid-template-columns:1fr;} }
@media (max-width:640px){
  .af-card{padding:14px!important;}
  .af-hd{flex-direction:column;}
  .af-big{text-align:left;display:flex;align-items:baseline;gap:8px;}
  .af-big span br{display:none;}
  .af-qgrid{grid-template-columns:1fr 1fr;}
  .af-prio{flex-wrap:wrap;}
  .af-pv{width:100%;grid-template-columns:repeat(4,auto);justify-content:flex-start;text-align:left;padding-left:42px;}
  .af-pr{grid-template-columns:minmax(64px,28%) 1fr 84px;}
  .af-pra{display:none;}
  .af-mks{grid-template-columns:repeat(2,1fr);}
  .af-tools{width:100%;}
  .af-tools .fg{flex:1;}
  .af-tools select{width:100%;}
}


/* ═══ Menu lateral recolhível + usuário no rodapé (sem cabeçalho branco) ═══ */
.bf-side-mini-btn{display:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;
  border:none;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s;}
.bf-side-mini-btn:hover{background:rgba(255,255,255,.2);}
.bf-side-mini-btn svg{transition:transform .2s ease;}

/* Usuário: uma linha só — avatar, nome/perfil, trocar senha e sair */
.bf-side-user{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding:12px 10px 12px 14px;}
.bf-u-av{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-weight:800;font-size:12px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bf-u-tx{flex:1;min-width:0;display:flex;flex-direction:column;}
.bf-u-tx b{font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bf-u-tx span{font-size:10px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;font-weight:700;}
.bf-u-acoes{display:flex;gap:2px;flex-shrink:0;}
.bf-u-acoes button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;
  color:rgba(255,255,255,.8);border-radius:10px;cursor:pointer;}
.bf-u-acoes button:hover{background:rgba(255,255,255,.1);color:#fff;}
.bf-u-acoes button.sair:hover{background:rgba(226,89,60,.25);}
.bf-u-acoes svg{width:18px;height:18px;}

/* O cabeçalho branco repetia o nome da tela: some. No celular fica só uma
   barra fina com o botão do menu e o nome da tela (sem ele não há como
   abrir a gaveta). Usuário e "Sem arquivo" saem de vez. */
.bf-hdr-act{display:none!important;}
@media(min-width:1100px){
  .hdr{display:none!important;}
  .bf-side-mini-btn{display:flex;}
  .page.on{min-height:100vh!important;}

  /* Recolhido: só ícones */
  body.bf-app.bf-side-mini{padding-left:76px;}
  body.bf-side-mini .bf-side{width:76px;}
  body.bf-side-mini .bf-side-hd{flex-direction:column;padding:20px 8px 10px;}
  body.bf-side-mini .bf-side-marca{display:none;}
  body.bf-side-mini .bf-side-mini-btn svg{transform:rotate(180deg);}
  body.bf-side-mini .bf-side-scroll{padding:4px 8px 14px;}
  body.bf-side-mini .bf-side .nav-group-btn{padding:6px 0!important;justify-content:center;pointer-events:none;}
  body.bf-side-mini .bf-side .nav-group-btn span,
  body.bf-side-mini .bf-side .nav-group-btn .nav-chevron{display:none!important;}
  body.bf-side-mini .bf-side .nav-group-btn::before{content:'';display:block;width:28px;height:1px;background:rgba(255,255,255,.18);}
  body.bf-side-mini .bf-side .nav-group:first-child .nav-group-btn::before{display:none;}
  body.bf-side-mini .bf-side .nav-group.bf-fechado .nav-group-items{display:flex!important;}
  body.bf-side-mini .bf-side .nb{justify-content:center;padding:11px 0!important;}
  body.bf-side-mini .bf-side .nb span{display:none;}
  body.bf-side-mini .bf-side-user{flex-direction:column;padding:10px 8px 12px;gap:6px;}
  body.bf-side-mini .bf-u-tx{display:none;}
  body.bf-side-mini .bf-u-acoes{flex-direction:column;}
}
@media(max-width:1099px){
  .hdr{height:56px!important;}
}

/* ═══ Pareto em pé (bfPareto) — usado em Análise de Falhas e Gestões ═══ */
.bfp{overflow-x:auto;padding-bottom:2px;}
.bfp-in{position:relative;}
.bfp-plot{position:relative;height:230px;display:flex;align-items:stretch;gap:8px;padding:0 4px;
  border-bottom:1px solid var(--bf-borda);
  background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),rgba(23,63,54,.06) calc(25% - 1px),rgba(23,63,54,.06) 25%);}
.bfp-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;z-index:1;}
.bfp-col i{display:block;width:72%;max-width:56px;min-height:2px;border-radius:6px 6px 0 0;background:#c9d6d2;transition:filter .15s;}
.bfp-col.a i{background:linear-gradient(180deg,var(--bf-teal) 0%,var(--bf-teal-d) 100%);}
.bfp-col.clic{cursor:pointer;}
.bfp-col.clic:hover i,.bfp-col.clic:focus-visible i{filter:brightness(1.15);}
.bfp-col:focus-visible{outline:2px solid var(--bf-teal);outline-offset:2px;border-radius:6px;}
.bfp-v{font-size:11.5px;font-weight:800;color:var(--bf-tx);font-variant-numeric:tabular-nums;margin-bottom:4px;white-space:nowrap;line-height:18px;}
.bfp-line{position:absolute;inset:0 4px;width:calc(100% - 8px);height:100%;z-index:2;pointer-events:none;overflow:visible;}
.bfp-line polyline{fill:none;stroke:var(--bf-s2);stroke-width:2;}
.bfp-line .bfp-80{stroke:var(--bf-s2);stroke-width:1;stroke-dasharray:4 4;opacity:.45;}
.bfp-80l{position:absolute;right:6px;top:20%;transform:translateY(-120%);font-size:10px;font-weight:800;color:var(--bf-s2);opacity:.8;z-index:2;}
.bfp-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid var(--bf-s2);transform:translate(-50%,50%);z-index:3;}
.bfp-x{display:flex;gap:8px;padding:6px 4px 0;}
.bfp-xl{flex:1;min-width:0;text-align:center;}
.bfp-xl b{display:block;font-size:11.5px;font-weight:700;color:var(--bf-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bfp-xl span{display:block;font-size:11px;color:var(--bf-tx2);font-variant-numeric:tabular-nums;}
.bfp-leg{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:11.5px;color:var(--bf-tx2);margin-top:10px;}
.bfp-k{display:inline-block;width:12px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;}
.bfp-k.a{background:var(--bf-teal);}
.bfp-k.l{height:2px;border-radius:0;background:var(--bf-s2);vertical-align:3px;}

/* ═══ Análise de Falhas: atalhos de período e quadrantes ═══ */
.af-presets{display:flex;gap:6px;flex-wrap:wrap;margin:-4px 0 14px;}
.af-presets button{border:1px solid var(--bf-borda);background:#fff;border-radius:20px;padding:6px 13px;font:inherit;font-size:12.5px;
  cursor:pointer;color:var(--bf-tx);min-height:34px;}
.af-presets button:hover{border-color:var(--bf-teal);}
.af-presets button.on{background:var(--bf-teal);border-color:var(--bf-teal);color:#fff;font-weight:700;}
.af-tools input[type=date]{min-height:38px;}
.af-qwrap{display:flex;gap:8px;align-items:stretch;}
.af-ax-y{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;color:var(--bf-tx2);text-align:center;font-weight:700;letter-spacing:.3px;}
.af-ax-x{text-align:right;font-size:11px;color:var(--bf-tx2);font-weight:700;margin-top:6px;letter-spacing:.3px;}
.af-q4{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.af-qd{border-radius:14px;padding:12px;background:var(--qb);border:1px solid var(--qbd);min-height:120px;}
.af-qd.q-a{--qb:#f6f0fb;--qbd:#e6d6f3;--qc:#7e3fb0;}
.af-qd.q-ac{--qb:#fdf0ec;--qbd:#f6d3c8;--qc:#c2410c;}
.af-qd.q-ok{--qb:#eef5f2;--qbd:#d5e6df;--qc:#2c6b5d;}
.af-qd.q-c{--qb:#fdf6e8;--qbd:#f3e0b5;--qc:#a3620a;}
.af-qd-hd{display:flex;justify-content:space-between;align-items:center;}
.af-qd-hd b{font-size:12.5px;font-weight:800;color:var(--qc);text-transform:uppercase;letter-spacing:.6px;}
.af-qd-hd span{font-size:12px;font-weight:800;color:#fff;background:var(--qc);border-radius:20px;padding:1px 9px;}
.af-qd-s{font-size:11.5px;color:var(--bf-tx2);margin:3px 0 9px;line-height:1.35;}
.af-qd-l{display:flex;flex-wrap:wrap;gap:6px;}
.af-qd-l em{font-size:12px;color:var(--bf-tx2);}
.af-mq{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--qbd);background:#fff;border-radius:10px;
  padding:6px 10px;cursor:pointer;font:inherit;text-align:left;transition:border-color .12s,transform .12s;}
.af-mq:hover{border-color:var(--qc);transform:translateY(-1px);}
.af-mq b{font-size:13px;color:var(--bf-tx);}
.af-mq span{font-size:11px;color:var(--bf-tx2);font-variant-numeric:tabular-nums;}
/* Máquina com plano de ação aberto: caixinha âmbar até o plano fechar */
/* azul: nenhuma cor de quadrante usa, então destaca em qualquer um deles */
.af-mq.pa{background:#e4efff;border-color:#2a6fd6;box-shadow:0 0 0 1px #2a6fd6 inset;}
.af-mq.pa b{color:#123e80;}
.af-mq-pa,.af-mq-leg{font-style:normal;font-size:9.5px;font-weight:800;color:#fff;background:#2a6fd6;border-radius:6px;padding:1px 6px;margin-left:4px;white-space:nowrap;}
.af-qd-mais{align-self:center;font-size:12px;font-weight:700;color:var(--qc);}
@media (max-width:640px){
  .af-q4{grid-template-columns:1fr;}
  .af-ax-y,.af-ax-x{display:none;}
  .bfp-plot{height:200px;}
}

/* ═══ Planos de Ação ═══ */
.pa-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px;}
.pa-kpi{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#fff;border:1px solid var(--bf-borda);
  border-top:3px solid var(--kc);border-radius:16px;padding:14px 16px;cursor:pointer;font:inherit;color:var(--bf-tx);box-shadow:var(--sh);
  transition:transform .12s,border-color .12s;}
.pa-kpi:hover{transform:translateY(-1px);}
.pa-kpi.on{border-color:var(--kc);box-shadow:0 0 0 2px color-mix(in srgb,var(--kc) 25%,transparent);}
.pa-kpi b{font-size:28px;font-weight:800;color:var(--kc);line-height:1.1;font-variant-numeric:tabular-nums;}
.pa-kpi span{font-size:13px;font-weight:700;margin-top:2px;}
.pa-kpi em{font-style:normal;font-size:11.5px;color:var(--bf-tx2);}
.pa-filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.pa-filtros select{min-width:180px;}
.pa-row{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--bf-borda);
  border-radius:14px;margin-bottom:8px;cursor:pointer;background:#fff;}
.pa-row:hover,.pa-row:focus-visible{border-color:var(--bf-teal);outline:none;}
.pa-st{font-size:11.5px;font-weight:800;border-radius:20px;padding:4px 10px;text-align:center;}
.pa-st.s-emdia{background:#e6f1ed;color:#21564a;}
.pa-st.s-atrasado{background:#fdecea;color:#b42318;}
.pa-st.s-ok{background:#e0f2fe;color:#0369a1;}
.pa-st.s-tarde{background:#fff3d6;color:#92400e;}
.pa-st.s-cancelado{background:#f1f5f4;color:#5b6b66;}
.pa-main{min-width:0;}
.pa-t{font-size:14px;color:var(--bf-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pa-s{font-size:12px;color:var(--bf-tx2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pa-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:11.5px;color:var(--bf-tx2);white-space:nowrap;}
.pa-pri{font-weight:800;}
.pa-pri.p-alta{color:#b42318;} .pa-pri.p-media{color:#92400e;} .pa-pri.p-baixa{color:#5b6b66;}
.pa-form label{margin-top:10px;}
.pa-form input,.pa-form select{width:100%;min-height:44px;padding:9px 12px;border:1.5px solid var(--bf-borda);border-radius:10px;font:inherit;font-size:14px;background:#fff;}
.pa-2c{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pa-ia{font-size:12.5px;line-height:1.55;background:var(--bf-teal-l);border-radius:10px;padding:10px 12px;white-space:pre-wrap;}
@media (max-width:640px){
  .pa-row{grid-template-columns:1fr;gap:6px;}
  .pa-st{justify-self:start;}
  .pa-meta{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap;}
  .pa-2c{grid-template-columns:1fr;}
}

/* Gestão de Corretiva/Startup: card de sistema = filtro */
.kpi.ia-cat{cursor:pointer;transition:transform .12s,box-shadow .12s,opacity .12s;}
.kpi.ia-cat:hover{transform:translateY(-1px);}
.kpi.ia-cat.on{box-shadow:0 0 0 2px var(--cc)!important;}
.kpi.ia-cat.off{opacity:.5;}
.ia-catf{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;background:var(--bf-teal-l);color:var(--bf-teal-dd);border-radius:20px;padding:5px 6px 5px 12px;}
.ia-catf button{border:none;background:#fff;border-radius:16px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer;color:var(--bf-teal-dd);}
.ia-catf-dica{font-size:11.5px;color:var(--bf-tx2);}

/* ═══════════════════════════════════════════════════════════════════════
   ACABAMENTO PREMIUM (só cor, tipografia e superfície — estrutura igual)
   · Miolo em tom gelo (cinza-azulado neutro), cartões brancos com borda
     fina e sombra curta.
   · Barra lateral verde-petróleo profundo; títulos dos grupos em dourado
     suave (o dourado original do Orion), item ativo com filete dourado.
   · Títulos firmes, números tabulares, rótulos menos "gritados".
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --bf-ouro:#d2b06a;        /* dourado Orion, suavizado para fundo escuro */
  --bf-ouro-d:#a8843c;
  --bf-bg:#eef1f4;          /* gelo */
  --bf-borda:#e1e6eb;
  --bf-tx:#152029;
  --bf-tx2:#5d6976;
  --gray-50:#f5f7f9; --gray-100:#e7ebef; --gray-200:#d2d9e0; --gray-400:#687482;
  --gray-500:#525d6a; --gray-700:#2b343e; --gray-800:#1b232c;
  --sh:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.05);
  --sm:0 10px 28px rgba(16,24,40,.08);
}
body,body.bf-app{background:var(--bf-bg)!important;color:var(--bf-tx);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'cv11','ss01';}
.page.on{background:transparent!important;}

/* Barra lateral */
.bf-side{background:linear-gradient(180deg,#1f4c42 0%,#173b33 55%,#132f29 100%)!important;}
.bf-side-marca .bf-k{color:var(--bf-ouro)!important;opacity:.95;}
/* Emblema do Orion ao lado do nome, no menu e no login */
.bf-side-marca .bf-k{display:flex;align-items:center;gap:7px;}
.bf-side-marca .bf-k img.bf-orion{width:18px;height:18px;flex:0 0 auto;filter:drop-shadow(0 0 6px rgba(240,184,90,.35));}
.lg-orion{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:13px;font-weight:800;letter-spacing:.32em;color:#1F2B2A;}
.lg-orion img{width:38px;height:38px;flex:0 0 auto;padding:4px;border-radius:10px;background:#132f29;box-shadow:0 4px 12px rgba(19,47,41,.25);}
.lg-orion b{color:#C08A1E;font-weight:800;}
.bf-side .nav-group-btn{color:var(--bf-ouro)!important;opacity:.82;font-size:10px!important;}
.bf-side .nav-group-btn:hover{opacity:1;color:#e6c98c!important;}
.bf-side .nav-group.bf-fechado.bf-tem-ativo .nav-group-btn{opacity:1;color:#e6c98c!important;}
.bf-side .nb{color:rgba(255,255,255,.84)!important;font-weight:500!important;position:relative;}
.bf-side .nb:hover{background:rgba(255,255,255,.06)!important;color:#fff!important;}
.bf-side .nb.on{background:rgba(255,255,255,.10)!important;color:#fff!important;font-weight:650!important;}
.bf-side .nb.on::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--bf-ouro);}
.bf-side .nb svg{opacity:.8;}
.bf-side .nb.on svg{opacity:1;color:#f1dcae;}
.bf-side-user{border-top-color:rgba(210,176,106,.18)!important;background:rgba(0,0,0,.08);}
.bf-u-av{background:linear-gradient(135deg,var(--bf-ouro),var(--bf-ouro-d))!important;color:#1b2a24!important;}
.bf-u-tx span{color:var(--bf-ouro)!important;opacity:.9;}

/* Tipografia */
.pg-ttl{font-size:24px!important;font-weight:800!important;letter-spacing:-.025em!important;color:#10261f!important;}
.pg-sub{font-size:12.5px!important;color:var(--bf-tx2)!important;margin-top:3px!important;}
.cttl{font-size:15px!important;font-weight:700!important;text-transform:none!important;letter-spacing:-.01em;color:#132a23!important;}
.csub{font-size:12px!important;color:var(--bf-tx2)!important;}
.af-t{font-size:16px;letter-spacing:-.01em;color:#132a23;}
.kl{font-size:10px!important;font-weight:700!important;letter-spacing:.9px!important;color:#6b7785!important;}
.kv{font-variant-numeric:tabular-nums;letter-spacing:-.02em!important;}
.fg label,.af-tools .fg label{font-size:10px!important;letter-spacing:.8px!important;color:#6b7785!important;}

/* Superfícies */
.card,.cc,.kpi,.af-card{background:#fff!important;border:1px solid var(--bf-borda)!important;border-radius:16px!important;box-shadow:var(--sh)!important;}
.kpi.bf-click:hover,.pa-kpi:hover{box-shadow:var(--sm)!important;}
.bf-row,.af-prio,.pa-row,.af-q{border-color:var(--bf-borda)!important;}
table thead tr,table thead th{background:#f5f7f9;}

/* Botões */
.btn{font-family:var(--fb)!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;font-size:12.5px!important;border-radius:10px!important;}
.btn.bp,.bp{background:linear-gradient(180deg,#2f7262 0%,#245c4f 100%)!important;color:#fff!important;
  box-shadow:0 1px 2px rgba(16,24,40,.12),inset 0 1px 0 rgba(255,255,255,.12)!important;}
.btn.bp:hover,.bp:hover{background:linear-gradient(180deg,#2a6658 0%,#1f5045 100%)!important;transform:none!important;}
.btn.bs,.bs,.btn:not(.bp):not(.bred):not(.btn-check):not(.btn-teste):not(.btn-encerrar){background:#fff;border:1px solid var(--gray-200)!important;color:var(--bf-tx)!important;}
.btn.bs:hover,.bs:hover{border-color:#9fb1bd!important;background:#fafbfc!important;}
.af-presets button,.af-abas button{border-color:var(--gray-200)!important;}
.af-presets button.on,.af-abas button.on{background:#1f4c42!important;border-color:#1f4c42!important;}

/* Campos */
.fg select,.fg input,.af-tools input,.pa-form input,.pa-form select,.pl-form input,.pl-form select,.pl-form textarea{
  background-color:#fff!important;border:1px solid var(--gray-200)!important;border-radius:10px!important;color:var(--bf-tx)!important;}
.fg select:focus,.fg input:focus,.pa-form input:focus,.pl-form input:focus,.pl-form textarea:focus,.pl-form select:focus{
  outline:none!important;border-color:#2f7262!important;box-shadow:0 0 0 3px rgba(47,114,98,.15)!important;}

/* Rodapé: crédito com link */
.ft-a2m{font-family:var(--fh);font-size:11px;font-weight:700;color:var(--bf-teal-d)!important;text-decoration:none;letter-spacing:.3px;}
.ft-a2m:hover{text-decoration:underline;}

/* ═══ MTBF das Máquinas ═══ */
.mes-tab{width:100%;border-collapse:collapse;font-size:13px;}
.mes-tab th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--bf-tx2);padding:8px 10px;border-bottom:1px solid var(--bf-borda);white-space:nowrap;}
.mes-tab td{padding:9px 10px;border-bottom:1px solid var(--bf-borda);font-variant-numeric:tabular-nums;white-space:nowrap;}
.mes-tab tbody tr{cursor:pointer;}
.mes-tab tbody tr:hover{background:#f5f7f9;}
.mes-tab tfoot td{font-weight:800;border-bottom:none;background:#f5f7f9;}
.mes-tab .mes-mtbf{font-weight:800;color:var(--bf-teal-dd);}
.mes-tab .mes-dif{color:#b42318;font-weight:800;}
.mes-prev{border:1px solid var(--bf-borda);border-radius:12px;padding:10px 12px;margin-top:10px;}
.mes-prev-t{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;}
.mes-prev-t span{font-size:12px;color:var(--bf-tx2);}

/* ═══ Análise de Falhas unificada (MTBF + OS) ═══ */
.af-ttl-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.af-qchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gray-200);background:#fff;border-radius:20px;
  padding:5px 12px 5px 9px;font:inherit;font-size:12.5px;color:var(--bf-tx2);cursor:pointer;transition:border-color .12s,box-shadow .12s;}
.af-qchip:hover{border-color:var(--bf-teal);box-shadow:var(--sh);}
.af-qchip svg{width:16px;height:16px;}
.af-qchip b{color:var(--bf-tx);}
.af-qchip.bom svg{color:#2c6b5d;} .af-qchip.medio svg{color:#b45309;} .af-qchip.ruim svg{color:#c2410c;}
.af-qchip.ruim b{color:#c2410c;} .af-qchip.medio b{color:#b45309;}
.af-presets-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start;}
.af-presets-row .af-presets{margin:-4px 0 14px;}
.af-tipo button{min-width:78px;}
.af-mes-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;}
.mes-det>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.mes-det>summary::-webkit-details-marker{display:none;}
.mes-det>summary::after{content:'';width:9px;height:9px;border-right:2px solid var(--bf-tx2);border-bottom:2px solid var(--bf-tx2);transform:rotate(45deg);margin-left:auto;transition:transform .15s;}
.mes-det[open]>summary::after{transform:rotate(225deg);}
.mes-det>summary .af-s{margin:0;}
@media (max-width:1100px){ .af-mes-kpis{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:640px){ .af-mes-kpis{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* Gráfico ocupa a altura do card quando o vizinho (quadrantes) é mais alto */
.af-g2>.af-card{display:flex;flex-direction:column;}
.af-g2>.af-card>.bfp{flex:1;display:flex;flex-direction:column;}
.af-g2>.af-card>.bfp>.bfp-in{flex:1;display:flex;flex-direction:column;}
.af-g2>.af-card>.bfp>.bfp-in>.bfp-plot{flex:1;min-height:230px;}
.bfp-plot{gap:6px;}
.bfp-x{gap:6px;}
.bfp-xl b{font-size:11px;}

/* Trocar senha */
.ts-msg{min-height:18px;margin-top:10px;font-size:13px;color:var(--bf-mute,#5b6472);}
.ts-msg.err{color:#b42318;font-weight:600;}

/* Equipe: o que vê no atendimento */
.eq-ver{padding:10px 12px;background:#f5f7fa;border:1px solid #dde3ea;border-radius:9px;}
.eq-ver-op{display:flex !important;align-items:flex-start;gap:9px;margin:6px 0 0 !important;cursor:pointer;text-transform:none !important;letter-spacing:0 !important;}
.eq-ver-op input{width:17px;height:17px;flex-shrink:0;margin-top:1px;}
.eq-ver-op span{display:flex;flex-direction:column;font-size:13px;color:var(--gray-700,#334155);}
.eq-ver-op em{font-style:normal;font-size:10.5px;color:var(--gray-400);}
.eq-ver-nota{font-size:10.5px;color:var(--gray-400);margin-top:8px;}

/* Plano de ação: OS do responsável */
.pa-osl{background:#efe7fb;color:#6b3fa0;font-weight:700;border-radius:999px;padding:2px 8px;}
.pa-osbox{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.pa-osbox b{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--bf-mute,#5b6472);}
.pa-osbox.vazio{font-size:12.5px;color:var(--bf-mute,#5b6472);background:#f5f7fa;border-radius:10px;padding:9px 11px;}
.pa-osbt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;width:100%;cursor:pointer;
  font:inherit;font-size:13px;background:#fff;border:1px solid var(--bf-borda,#dde3ea);border-radius:10px;padding:9px 11px;}
.pa-osbt span{font-weight:700;}
.pa-osbt em{font-style:normal;color:var(--bf-mute,#5b6472);font-size:12px;}
.pa-osbt i{font-style:normal;font-size:11px;color:#2c6b5d;font-weight:700;}

/* Cartão de destaque (kpi.dk): o fundo branco forçado acima deixava o
   valor branco sobre branco (Total Planejado / Realizado do OMPR). */
.kpi.dk{background:linear-gradient(160deg,#123d33,#0d2b25)!important;border-color:#0d2b25!important;}
.kpi.dk .kl{color:#bfe0d4!important;}
.kpi.dk .kv{color:#fff!important;}
.kpi.dk .ks{color:#8fc6b3!important;}

/* OS: filtros */
.os-f-ativo{min-width:200px;}
.os-f-busca{min-width:200px;flex:1;}
.os-fcount{font-size:12px;color:var(--bf-mute,#5b6472);margin:6px 2px 0;font-weight:600;}
#osTab1Cont .fbar .fg select,#osTab1Cont .fbar .fg input{height:34px;box-sizing:border-box;font-family:var(--fb);font-size:12.5px;}
#osTab1Cont .fbar .fg input{padding:6px 10px;-webkit-appearance:none;appearance:none;background-image:none;}
#osTab1Cont .fbar .brs{height:34px;}

/* Dashboard Executivo: filtros por chips e cards */
.dx-fbar{align-items:flex-end;}
.dx-mes{flex:1;min-width:280px;}
.dx-chips{display:flex;flex-wrap:wrap;gap:5px;}
.dx-chip{font:inherit;font-size:12px;font-weight:700;padding:6px 11px;border-radius:999px;cursor:pointer;
  background:#fff;border:1px solid var(--bf-borda,#e1e6eb);color:var(--bf-tx,#152029);transition:background .12s,border-color .12s;}
.dx-chip:hover{border-color:#2f7262;}
.dx-chip.prev{color:var(--gray-400);border-style:dashed;}
.dx-chip.on{background:#1f5a4c;border-color:#1f5a4c;color:#fff;}
.dx-forn{min-width:240px;}
.dx-forn input{height:34px;box-sizing:border-box;padding:6px 10px;font-size:12.5px;-webkit-appearance:none;appearance:none;background-image:none!important;width:100%;}
.dx-ativos{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-6px 0 12px;font-size:12px;color:var(--bf-mute,#5b6472);}
.dx-ativos:empty{display:none;}
.dx-tag{font:inherit;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer;background:#e7f1ee;color:#1f5a4c;border:1px solid #bcd9cf;}
.dx-dica{font-size:10px;letter-spacing:.3px;text-transform:none;color:var(--gray-400);font-weight:600;}
.dx-cards{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2.4fr);gap:10px;margin-bottom:14px;align-items:stretch;}
.dx-subs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
/* Setores numa linha só, uma coluna por setor (--n vem do JS). */
.dx-ccs{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:8px;}
.dx-subs>.dx-card,.dx-ccs>.dx-card{height:100%;}
.dx-card{font:inherit;text-align:left;cursor:pointer;width:100%;transition:transform .1s,box-shadow .12s,opacity .12s;}
.dx-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(16,40,34,.10)!important;}
.dx-card.on{outline:2px solid #1f5a4c;outline-offset:-1px;background:#f2f8f6!important;}
.dx-card.off{opacity:.55;}
.dx-vals{display:flex;gap:9px;flex-wrap:wrap;margin:2px 0;font-size:10.5px;color:var(--gray-400);}
.dx-vals strong{color:var(--bf-tx,#152029);}
.dx-mini{padding:10px 12px!important;}
.dx-mini .kl{font-size:10px;}
.dx-mini .ks{font-size:10.5px;}
.dx-ok{font-size:9.5px;color:#1f5a4c;font-weight:800;margin-left:4px;}
@media (max-width:1100px){.dx-cards{grid-template-columns:1fr;}}
@media (max-width:640px){.dx-subs{grid-template-columns:1fr;}.dx-ccs{grid-template-columns:1fr;}}
.dx-card{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;}

/* Gráficos: as colunas se reorganizam pelo espaço da área de conteúdo
   (não pela largura da janela, que inclui o menu). Antes eram 1fr 1fr e o
   gráfico não deixava a coluna encolher: em tela reduzida ficava cortado,
   sem empilhar e sem rolagem. */
.cgrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important;}
.cgrid3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;}
.cgrid>*,.cgrid3>*,.cc,.kpig>*{min-width:0;}
.cc canvas{max-width:100%;}

/* Budget: cards das contas (filtro) */
.bg-contas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin-bottom:14px;}
.bg-contas .kv{font-size:22px;}

/* Fornecedores: cards e nome */
.ff-nome{font-weight:800;color:var(--bf-tx,#152029);white-space:nowrap;}

/* Fornecedores: lançamentos recolhíveis e detalhe do fornecedor */
.ff-lanc>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;}
.ff-lanc>summary::-webkit-details-marker{display:none;}
.ff-lanc>summary::before{content:'▸';font-size:13px;color:#2f7262;transition:transform .15s;}
.ff-lanc[open]>summary::before{transform:rotate(90deg);}
.ff-lanc-dica{margin-left:auto;font-size:11px;font-weight:700;color:#2f7262;}
.ff-lanc[open] .ff-lanc-dica{display:none;}
.ff-lanc[open]>summary{margin-bottom:10px;}
.fd-sec{font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--bf-mute,#5b6472);margin:14px 0 8px;}
.fd-sec span{background:#e7f1ee;color:#1f5a4c;border-radius:999px;padding:1px 7px;margin-left:4px;}
.fd-itens{display:flex;flex-direction:column;gap:6px;max-height:46vh;overflow:auto;padding-right:4px;}
.fd-it{border:1px solid var(--bf-borda,#e1e6eb);border-radius:10px;padding:8px 11px;background:#fff;}
.fd-it-hd{display:flex;justify-content:space-between;gap:10px;font-size:13px;}
.fd-it-hd b{font-weight:700;color:var(--bf-tx,#152029);}
.fd-it-hd strong{white-space:nowrap;color:#1f5a4c;}
.fd-bar{height:4px;background:#eef2f1;border-radius:3px;margin:6px 0 5px;overflow:hidden;}
.fd-bar i{display:block;height:100%;background:#2f7262;border-radius:3px;}
.fd-it-s{font-size:11px;color:var(--bf-mute,#5b6472);}
.fd-meses{display:flex;flex-wrap:wrap;gap:6px;}
.fd-meses div{background:#f5f8f7;border:1px solid var(--bf-borda,#e1e6eb);border-radius:9px;padding:6px 10px;display:flex;flex-direction:column;min-width:74px;}
.fd-meses span{font-size:10px;color:var(--bf-mute,#5b6472);font-weight:700;}
.fd-meses b{font-size:13px;}
.fd-lanc{margin-top:14px;}
.fd-lanc>summary{cursor:pointer;font-size:12px;font-weight:700;color:#2f7262;margin-bottom:8px;}

/* Dashboard: mês fechado (Realizado × Orçado OP26) e status dos cards */
#kConsMFG{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:10px;}
.dx-mes-card{border-top:3px solid #9fb7af!important;}
.dx-mes-card.acima{border-top-color:#dc2626!important;}
.dx-mes-card.abaixo{border-top-color:#3b82f6!important;}
.dx-mes-card.ok{border-top-color:#2f7262!important;}
.dx-mes-real{font-size:20px;font-weight:800;color:var(--bf-tx,#152029);margin:2px 0 6px;}
.dx-mes-real span{font-size:11px;font-weight:600;color:var(--gray-400);}
.dx-mes-bar{position:relative;height:7px;background:#eef2f1;border-radius:4px;overflow:visible;}
.dx-mes-bar i{display:block;height:100%;border-radius:4px;background:#2f7262;}
.dx-mes-card.acima .dx-mes-bar i{background:#dc2626;}
.dx-mes-card.abaixo .dx-mes-bar i{background:#3b82f6;}
.dx-mes-bar b{position:absolute;top:-3px;width:2px;height:13px;background:#152029;}
.dx-mes-pct{font-size:11px;font-weight:700;margin-top:4px;color:var(--bf-mute,#5b6472);}
.dx-mes-v{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10.5px;color:var(--gray-400);margin-top:6px;}
.dx-mes-v strong{color:var(--bf-tx,#152029);}
.dx-mes-st{font-size:11.5px;font-weight:700;margin-top:6px;color:#2f7262;}
.dx-mes-card.acima .dx-mes-st{color:#dc2626;}
.dx-mes-card.abaixo .dx-mes-st{color:#1d4ed8;}
.dx-st{margin-top:3px;}

/* Upload: OMPR salvo */
.ompr-salvo{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;border:1px dashed var(--bf-borda,#dde3ea);background:#fff;margin-bottom:12px;}
.ompr-salvo.ok{border-style:solid;border-color:#bcd9cf;background:#f2f8f6;}
.ompr-salvo-ic{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e7f1ee;color:#1f5a4c;font-weight:800;flex-shrink:0;}
.ompr-salvo b{display:block;font-size:13px;color:var(--bf-tx,#152029);}
.ompr-salvo span{display:block;font-size:11.5px;color:var(--bf-mute,#5b6472);margin-top:2px;}

/* Planning: disponibilidade para compra */
.fin-tab td.num,.fin-tab th.num,#tPlanFin td.num{ text-align:right; white-space:nowrap; }
.fin-tab .fin-cc td{background:#f5f8f7;font-weight:800;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#1f5a4c;}
.fin-conta{padding-left:18px!important;}
.fin-aj{font-size:9.5px;font-weight:800;background:#fef3c7;color:#92400e;border-radius:999px;padding:1px 6px;margin-left:4px;}
.fin-inp{width:120px;text-align:right;padding:5px 8px;border:1px solid var(--bf-borda,#dde3ea);border-radius:8px;font:inherit;font-size:12.5px;background:#fff;}
.fin-inp.aj{border-color:#f59e0b;background:#fffbeb;}
.fin-inp:focus{outline:none;border-color:#2f7262;box-shadow:0 0 0 3px rgba(47,114,98,.15);}
.fin-bar{display:inline-block;width:100px;height:6px;background:#eef2f1;border-radius:3px;overflow:hidden;vertical-align:middle;}
.fin-bar i{display:block;height:100%;}
.fin-uso{font-size:10.5px;font-weight:700;margin-left:6px;color:var(--bf-mute,#5b6472);}
.fin-nota{font-size:11.5px;color:var(--bf-mute,#5b6472);margin-top:8px;}
.fin-sem{font-size:10px;font-weight:700;color:#b45309;}

/* Modal de compra: saldo da conta */
.c-saldo{border:1px solid var(--bf-borda,#dde3ea);border-radius:12px;padding:10px 12px;background:#f7faf9;}
.c-saldo.vazio{font-size:12px;color:var(--bf-mute,#5b6472);background:#fafbfc;border-style:dashed;}
.c-saldo-t{font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:#1f5a4c;margin-bottom:8px;}
.c-saldo-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.c-saldo-g div{display:flex;flex-direction:column;}
.c-saldo-g span{font-size:10px;color:var(--bf-mute,#5b6472);font-weight:700;}
.c-saldo-g b{font-size:13.5px;color:var(--bf-tx,#152029);}
.c-saldo-dep b{color:#1f5a4c;}
.c-saldo.baixo{background:#fffbeb;border-color:#fde68a;} .c-saldo.baixo .c-saldo-dep b{color:#b45309;}
.c-saldo.neg{background:#fef2f2;border-color:#fecaca;} .c-saldo.neg .c-saldo-dep b{color:#dc2626;}
.c-saldo-av{margin-top:8px;font-size:12px;font-weight:700;color:#dc2626;}
@media(max-width:640px){.c-saldo-g{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Análise IA financeira (chat) */
.iaf-box{background:#fff;border:1px solid var(--bf-borda,#e1e6eb);border-radius:18px;box-shadow:var(--sh);display:flex;flex-direction:column;min-height:calc(100vh - 210px);}
.iaf-msgs{flex:1;overflow:auto;padding:22px 22px 8px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 330px);}
.iaf-m{display:flex;}
.iaf-m.user{justify-content:flex-end;}
.iaf-b{max-width:min(780px,88%);padding:12px 15px;border-radius:16px;font-size:13.5px;line-height:1.6;color:var(--bf-tx,#152029);}
.iaf-m.user .iaf-b{background:#1f5a4c;color:#fff;border-bottom-right-radius:5px;}
.iaf-m.assistant .iaf-b{background:#f4f7f6;border:1px solid #e3ebe8;border-bottom-left-radius:5px;}
.iaf-m.erro .iaf-b{background:#fef2f2;border-color:#fecaca;color:#991b1b;}
.iaf-b p{margin:0 0 8px;} .iaf-b p:last-child{margin-bottom:0;}
.iaf-b ul,.iaf-b ol{margin:4px 0 8px 18px;padding:0;} .iaf-b li{margin:2px 0;}
.iaf-b h4{font-size:13px;margin:10px 0 6px;color:#1f5a4c;text-transform:none;letter-spacing:0;}
.iaf-b table{border-collapse:collapse;margin:6px 0 10px;font-size:12.5px;width:100%;background:#fff;border-radius:8px;overflow:hidden;}
.iaf-b th,.iaf-b td{border:1px solid #e3ebe8;padding:5px 8px;text-align:left;}
.iaf-b th{background:#eaf2ef;font-weight:700;}
.iaf-b code{background:#eaf2ef;border-radius:4px;padding:0 4px;font-size:12px;}
.iaf-pensando{display:flex;align-items:center;gap:5px;color:var(--bf-mute,#5b6472);}
.iaf-pensando span{width:6px;height:6px;border-radius:50%;background:#2f7262;animation:iafPulse 1s infinite ease-in-out;}
.iaf-pensando span:nth-child(2){animation-delay:.15s;} .iaf-pensando span:nth-child(3){animation-delay:.3s;}
@keyframes iafPulse{0%,100%{opacity:.25;transform:translateY(0);}50%{opacity:1;transform:translateY(-3px);}}
.iaf-vazio{margin:auto;text-align:center;max-width:420px;color:var(--bf-mute,#5b6472);display:flex;flex-direction:column;gap:6px;align-items:center;padding:40px 0;}
.iaf-vazio-ic{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#1f5a4c,#2f7262);color:#d2b06a;font-size:22px;display:flex;align-items:center;justify-content:center;}
.iaf-vazio b{color:var(--bf-tx,#152029);font-size:15px;}
.iaf-sug{display:flex;flex-wrap:wrap;gap:6px;padding:8px 22px;}
.iaf-in{display:flex;gap:10px;padding:10px 22px 6px;align-items:flex-end;}
.iaf-in textarea{flex:1;resize:none;border:1px solid var(--bf-borda,#dde3ea);border-radius:12px;padding:10px 12px;font:inherit;font-size:13.5px;min-height:46px;}
.iaf-in textarea:focus{outline:none;border-color:#2f7262;box-shadow:0 0 0 3px rgba(47,114,98,.15);}
.iaf-in .btn{height:46px;padding:0 20px;}
.iaf-ctx{font-size:11px;color:var(--gray-400);padding:0 22px 14px;}
