/* ContaDourada · Estética Padrão de Apps Boito (módulo 17, item 1.3) */
:root{
  --nh:36; --ns:6%;
  --acc:#C19A4B; --acc2:#2A2723;
  --acc-on:#1A1508; --acc-soft:rgba(193,154,75,.13); --acc-line:rgba(193,154,75,.38);
  --r:8px; --rc:6px;
  --fs:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fm:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --mov:150ms cubic-bezier(.32,.72,0,1);
}
:root,[data-theme=light]{
  --bg:hsl(var(--nh) var(--ns) 97.5%); --sf:hsl(var(--nh) var(--ns) 100%);
  --sf2:hsl(var(--nh) var(--ns) 95.5%); --sf3:hsl(var(--nh) var(--ns) 92.5%);
  --bd:hsl(var(--nh) var(--ns) 89%); --bd2:hsl(var(--nh) var(--ns) 82%);
  --tx:hsl(var(--nh) 8% 11%); --tx2:hsl(var(--nh) 6% 36%); --tx3:hsl(var(--nh) 5% 46%);
  --acc-tx:#7A5C1E;
  --ok:#2E7D4F; --ok-soft:rgba(46,125,79,.12);
  --wn:#8A5D06; --wn-soft:rgba(154,107,12,.13);
  --dg:#B3382B; --dg-soft:rgba(179,56,43,.10);
  --bl:#1F62A8; --bl-soft:rgba(31,98,168,.11);
  --luz:rgba(255,255,255,.72);
  --sh-el:inset 0 1px 0 var(--luz), 0 1px 2px rgba(0,0,0,.045), 0 10px 24px -14px rgba(0,0,0,.20);
  --sh-el2:inset 0 1px 0 var(--luz), 0 2px 5px rgba(0,0,0,.05), 0 20px 44px -20px rgba(0,0,0,.26);
  --sf-grad:linear-gradient(180deg,hsl(var(--nh) var(--ns) 100%) 0%,hsl(var(--nh) var(--ns) 98.4%) 100%);
  --bg-grad:linear-gradient(180deg,hsl(var(--nh) var(--ns) 99.2%) 0px,var(--bg) 520px);
  --acc-halo:rgba(193,154,75,.30);
  --dg-halo:hsl(6 60% 48% / .30);
  --pressao:inset 0 2px 5px rgba(0,0,0,.14);
  --veu:rgba(20,18,14,.52);
  color-scheme:light;
}
[data-theme=dark]{
  --bg:hsl(var(--nh) var(--ns) 6.5%); --sf:hsl(var(--nh) var(--ns) 9.5%);
  --sf2:hsl(var(--nh) var(--ns) 13%); --sf3:hsl(var(--nh) var(--ns) 17%);
  --bd:hsl(var(--nh) var(--ns) 18%); --bd2:hsl(var(--nh) var(--ns) 26%);
  --tx:hsl(var(--nh) 8% 95%); --tx2:hsl(var(--nh) 6% 70%); --tx3:hsl(var(--nh) 5% 58%);
  --acc-tx:#D9B66E;
  --ok:#5FBF85; --ok-soft:rgba(95,191,133,.14);
  --wn:#E0B155; --wn-soft:rgba(224,177,85,.14);
  --dg:#EF8A7C; --dg-soft:rgba(239,138,124,.13);
  --bl:#7FB3E8; --bl-soft:rgba(127,179,232,.15);
  --luz:rgba(255,255,255,.055);
  --sh-el:inset 0 1px 0 var(--luz), 0 1px 2px rgba(0,0,0,.45), 0 12px 28px -16px rgba(0,0,0,.85);
  --sh-el2:inset 0 1px 0 var(--luz), 0 2px 6px rgba(0,0,0,.5), 0 24px 52px -22px rgba(0,0,0,.92);
  --sf-grad:linear-gradient(180deg,hsl(var(--nh) var(--ns) 12.8%) 0%,var(--sf) 100%);
  --bg-grad:linear-gradient(180deg,hsl(var(--nh) var(--ns) 8.6%) 0px,var(--bg) 520px);
  --acc-halo:rgba(193,154,75,.42);
  --dg-halo:hsl(9 70% 62% / .38);
  --pressao:inset 0 2px 6px rgba(0,0,0,.5);
  --veu:rgba(0,0,0,.62);
  color-scheme:dark;
}

*{box-sizing:border-box}
[data-theme]{color:var(--tx)}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--tx);font-family:var(--fs);font-size:14px;line-height:1.5;font-stretch:94%;-webkit-font-smoothing:antialiased;letter-spacing:-.003em}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,p{margin:0}
.n{font-family:var(--fm);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-stretch:100%}
.neg{color:var(--dg)}
.pos{color:var(--ok)}
.fraco{color:var(--tx2)}
.mudo{color:var(--tx3)}
.ico{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle}
.ico.g{width:20px;height:20px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- selo de protótipo ---------- */
.selo-prot{position:fixed;right:16px;bottom:16px;z-index:35;display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:var(--rc);background:var(--sf);border:1px solid var(--bd2);box-shadow:var(--sh-el);font-size:12px;font-weight:600;color:var(--tx2);pointer-events:none}
.selo-prot b{color:var(--acc-tx)}

/* ---------- botões e campos ---------- */
.bt{height:36px;padding:0 12px;border-radius:var(--rc);border:1px solid var(--bd2);background:var(--sf);background-image:var(--sf-grad);box-shadow:inset 0 1px 0 var(--luz);font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform var(--mov),box-shadow var(--mov),background var(--mov)}
.bt:hover{border-color:var(--tx3)}
.bt:active{transform:translateY(1px);box-shadow:var(--pressao)}
.bt.pri{background:var(--acc);border-color:transparent;color:var(--acc-on);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 0 18px -7px var(--acc-halo)}
.bt.pri:hover{filter:brightness(1.06)}
.bt.peq{height:28px;padding:0 8px;font-size:12.5px;gap:4px}
.bt.fantasma{background:transparent;border-color:transparent;box-shadow:none}
.bt.fantasma:hover{background:var(--sf2)}
.bt[disabled]{opacity:.5;cursor:not-allowed}
.bt.ok{color:var(--ok)}
.in,.sel{height:36px;width:100%;padding:0 12px;border-radius:var(--rc);border:1px solid var(--bd2);background:var(--sf);color:var(--tx);transition:box-shadow var(--mov),border-color var(--mov)}
.in:focus,.sel:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.in.n{text-align:right}
textarea.in{height:auto;padding:8px 12px;resize:vertical}
.campo{display:flex;flex-direction:column;gap:4px}
.campo>label,.rot{font-size:12.5px;font-weight:600;color:var(--tx2)}
.campo .erro{font-size:12px;color:var(--dg);display:flex;gap:4px;align-items:center}
.grade-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.grade-campos .inteira{grid-column:1/-1}

/* segmentado (opção escolhida acende) */
.seg{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--bd2);border-radius:8px;background:var(--sf2)}
.seg button{height:28px;padding:0 12px;border:0;border-radius:6px;background:transparent;font-size:13px;font-weight:600;color:var(--tx2);display:inline-flex;align-items:center;gap:8px}
.seg button.on{background:var(--sf);color:var(--tx);box-shadow:inset 0 1px 0 var(--luz),0 0 16px -6px var(--acc-halo),0 0 0 1px var(--acc-line)}

/* etiquetas */
.et{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--sf3);color:var(--tx2)}
.et .ico{width:13px;height:13px}
.et.ok{background:var(--ok-soft);color:var(--ok)}
.et.wn{background:var(--wn-soft);color:var(--wn)}
.et.dg{background:var(--dg-soft);color:var(--dg)}
.et.bl{background:var(--bl-soft);color:var(--bl)}
.et.ac{background:var(--acc-soft);color:var(--acc-tx)}

/* ---------- ENTRADA (Padrão de Entrada dos cases) ---------- */
.entrada{position:fixed;inset:0;display:grid;grid-template-columns:51.25% 1fr;background:var(--bg);overflow:hidden}
.entrada .marca{position:relative;color:#EDE6D8;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(640px 420px at 28% 20%,rgba(193,154,75,.20),transparent 70%),radial-gradient(520px 380px at 85% 95%,rgba(193,154,75,.07),transparent 70%),linear-gradient(160deg,#25211B 0%,#16140F 60%,#0F0D0A 100%)}
.entrada .marca::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:32px 32px}
.marca-in{position:relative;z-index:1;width:440px}
/* claro e escuro, no canto do painel da marca (sempre escuro) */
.tema-ent{position:absolute;z-index:3;top:16px;right:calc(48.75% + 16px);height:32px;padding:0 12px;border-radius:6px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#EDE6D8;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.tema-ent:hover{background:rgba(255,255,255,.08)}
.logo-marca{display:flex;align-items:center;gap:12px;color:#fff}
.logo-marca svg{width:44px;height:44px}
.logo-marca b{font-size:32px;font-weight:700;letter-spacing:-.02em;font-stretch:100%}
.logo-marca b span{color:#D9B66E}
.ey{display:block;font-size:12px;font-weight:700;letter-spacing:1.6px;color:#D9C49A;text-transform:uppercase}
.marca .nome{margin-top:32px}
.marca .nome b{display:block;font-size:40px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-top:4px}
.marca .ass{display:block;font-size:16px;color:#CFC6B4;margin-top:8px}
.pilares{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:16px}
.pilares li{display:grid;grid-template-columns:32px 1fr;gap:12px}
.pilares .num{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#E5CF9F;background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 16px -8px rgba(193,154,75,.5);font-family:var(--fm)}
.pilares strong{display:block;font-size:15px;font-weight:700;color:#fff}
.pilares span.d{display:block;font-size:13px;color:#CFC6B4;line-height:1.5}
.entrada .lado{display:flex;align-items:center;justify-content:center;padding:24px 0;background:linear-gradient(180deg,hsl(36 8% 96%),hsl(36 6% 94%))}
.col-ent{width:520px;display:flex;flex-direction:column;gap:12px}
.aviso{background:var(--sf);border:1px solid var(--bd);border-radius:12px;padding:12px 16px}
.aviso .t{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.4px;color:var(--acc-tx)}
.aviso .t svg{width:15px;height:15px;color:var(--acc)}
.aviso p{font-size:12.5px;line-height:1.5;color:var(--tx2);margin-top:4px}
.cartao{background:var(--sf);border:1px solid var(--bd);border-radius:16px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 6px rgba(20,18,14,.06),0 24px 48px -20px rgba(20,18,14,.28)}
.cartao h1{font-size:24px;font-weight:700;letter-spacing:-.01em}
.cartao .sub{font-size:14px;color:var(--tx2);margin-top:4px}
.cartao .campo{margin-top:12px}
.cartao .in{height:40px;border-radius:10px}
.bt.entrar{margin-top:16px;width:100%;height:40px;border-radius:10px;font-size:14px}
.esq{margin-top:8px;height:28px;display:grid;place-items:center;font-size:13px;color:var(--tx2);font-weight:500;background:none;border:0;width:100%}
.divisor{height:1px;background:var(--bd);margin:8px 0 12px}
.bt.conhecer{width:100%;height:40px;border-radius:10px;font-size:14px}
.msg-ent{margin-top:12px;font-size:12.5px;color:var(--bl);background:var(--bl-soft);border-radius:8px;padding:8px 12px;display:flex;gap:8px;align-items:flex-start}
.rodape-ent{font-size:13px;color:var(--tx3);text-align:center;line-height:1.5}
.rodape-ent em{font-style:normal;color:var(--acc-tx);font-weight:700}
.veu{position:fixed;inset:0;background:var(--veu);display:flex;align-items:center;justify-content:center;z-index:50;animation:aparece .16s ease-out}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.janela{width:600px;max-width:calc(100% - 32px);background:var(--sf);border-radius:16px;padding:24px;box-shadow:0 24px 64px -16px rgba(0,0,0,.45);animation:sobe .2s cubic-bezier(.32,.72,0,1)}
@keyframes sobe{from{transform:translateY(12px);opacity:.6}to{transform:none;opacity:1}}
.janela .topo-j{display:flex;align-items:center;justify-content:space-between;gap:12px}
.janela h2{font-size:16px;font-weight:700}
.janela .sub{font-size:14px;color:var(--tx2);margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.modo{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;border:1px solid var(--bd2);border-radius:10px;background:var(--sf2)}
.modo button{display:flex;align-items:center;justify-content:center;gap:8px;height:32px;border-radius:7px;border:0;background:transparent;font-size:13px;font-weight:600;color:var(--tx2)}
.modo button.on{background:var(--sf);color:var(--tx);box-shadow:0 1px 2px rgba(0,0,0,.1),inset 0 0 0 1px var(--acc),0 0 16px -6px var(--acc-halo)}
.perfis{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:stretch}
.perfil{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;border:1px solid var(--bd2);border-radius:10px;background:var(--sf);text-align:left;padding:12px;box-shadow:inset 0 1px 0 var(--luz),0 1px 2px rgba(0,0,0,.05),0 12px 32px -16px rgba(0,0,0,.22);transition:transform var(--mov),box-shadow var(--mov),border-color var(--mov)}
.perfil:hover{transform:translateY(-2px);border-color:var(--acc-line);box-shadow:var(--sh-el2)}
.perfil b{display:block;font-size:14px;font-weight:700}
.perfil small{display:block;font-size:12px;color:var(--tx2);line-height:1.4;margin-top:4px}

/* visão celular no notebook */
.palco-cel{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--sf3)}
.barra-cel{height:48px;flex:none;background:var(--sf);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:14px;color:var(--tx2)}
.barra-cel strong{color:var(--tx);font-weight:700}
.barra-cel .acoes{display:flex;gap:8px}
.coluna-cel{flex:1;display:flex;justify-content:center;overflow:hidden;padding:0}
.coluna-cel iframe{width:390px;height:100%;border:0;background:var(--bg);box-shadow:0 0 0 1px var(--bd),0 16px 40px -16px rgba(0,0,0,.35)}

/* ---------- CASCA ---------- */
.app{display:grid;grid-template-columns:232px 1fr;height:100vh;height:100dvh}
.lat{display:flex;flex-direction:column;background:var(--sf);box-shadow:1px 0 0 var(--bd),4px 0 22px -18px rgba(0,0,0,.55);z-index:3;min-height:0}
.lat-topo{height:56px;display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--bd)}
.lat-topo svg{width:24px;height:24px;color:var(--acc)}
.lat-topo{color:var(--tx)}
.lat-topo b{font-size:17px;font-weight:700;letter-spacing:-.01em;font-stretch:100%}
.lat-topo b span{color:var(--acc-tx)}
.empresa{margin:12px;padding:8px;border-radius:var(--r);background:var(--sf2);border:1px solid transparent;display:grid;grid-template-columns:32px minmax(0,1fr) 16px;gap:8px;align-items:center;text-align:left;color:inherit;transition:border-color var(--mov),background var(--mov)}
.empresa:hover{border-color:var(--bd2);background:var(--sf3)}
.empresa .ico{color:var(--tx3)}
.lista-emp{display:grid;gap:8px;margin-top:16px}
.opcao-emp{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:start;text-align:left;padding:12px;border:1px solid var(--bd2);border-radius:var(--r);background:var(--sf);color:inherit;transition:border-color var(--mov),box-shadow var(--mov)}
.opcao-emp:hover{border-color:var(--acc-line)}
.opcao-emp.on{border-color:var(--acc-line);box-shadow:inset 0 1px 0 var(--luz),0 0 16px -6px var(--acc-halo),0 0 0 1px var(--acc-line)}
.opcao-emp b{display:block;font-size:14px;font-weight:700}
.opcao-emp small{display:block;font-size:12.5px;color:var(--tx2);margin-top:2px;line-height:1.4}
.mono{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--cor-emp,hsl(var(--nh) var(--ns) 24%));color:#F1EEE8;font-family:var(--fm)}
.empresa b{display:block;font-size:13px;font-weight:700;line-height:1.25}
.empresa small{display:block;font-size:11.5px;color:var(--tx3);margin-top:2px}
.nav{padding:4px 8px;display:flex;flex-direction:column;gap:4px;flex:1;overflow:auto}
.nav-it{height:36px;display:flex;align-items:center;gap:12px;padding:0 12px;border-radius:var(--rc);border:0;background:transparent;color:var(--tx2);font-weight:600;font-size:13.5px;text-align:left;transition:background var(--mov),color var(--mov)}
.nav-it:hover{background:var(--sf2);color:var(--tx)}
.nav-it.on{background:var(--acc-soft);color:var(--tx);box-shadow:inset 0 1px 0 var(--luz),0 0 18px -7px var(--acc-halo)}
.nav-it.on .ico{color:var(--acc)}
.nav-it .qt{margin-left:auto;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--wn-soft);color:var(--wn)}
.lat-pe{border-top:1px solid var(--bd);padding:12px;display:flex;flex-direction:column;gap:8px}
.quem{display:flex;align-items:center;gap:8px}
.quem .av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sf3);font-size:11px;font-weight:700}
.quem b{font-size:13px;display:block;line-height:1.2}
.quem small{font-size:11.5px;color:var(--tx3)}
.lat-pe .linha{display:flex;gap:4px}
.ass-boito{font-size:11.5px;color:var(--tx3);text-align:center}
.ass-boito em{font-style:normal;font-weight:700;color:var(--acc-tx)}

.pri{min-width:0;overflow:auto;background:var(--bg-grad);background-color:var(--bg);position:relative}
.topo{position:sticky;top:0;z-index:4;height:56px;display:flex;align-items:center;gap:16px;padding:0 24px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--bd)}
.topo h1{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.abas{display:flex;gap:4px;height:100%;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.abas::-webkit-scrollbar{display:none}
.aba{border:0;background:transparent;padding:0 12px;font-size:13.5px;font-weight:600;color:var(--tx2);position:relative;white-space:nowrap}
.aba:hover{color:var(--tx)}
.aba.on{color:var(--tx)}
.aba.on::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--acc)}
.topo .dir{margin-left:auto;display:flex;align-items:center;gap:8px}
.conteudo{padding:24px;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}

/* cartões e grade */
.card{background-color:var(--sf);background-image:var(--sf-grad);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh-el);padding:16px;min-width:0}
.card.aceso{border-color:var(--dg);box-shadow:var(--sh-el),0 0 24px -9px var(--dg-halo)}
.card h2{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.card .cab{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.card .cab p{font-size:12.5px;color:var(--tx3);margin-top:2px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g21{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.kpi .rot{display:flex;align-items:center;gap:8px;color:var(--tx2);font-size:12.5px;font-weight:600}
.kpi .valor{font-size:24px;font-weight:600;margin-top:8px;line-height:1.2}
.kpi .det{margin-top:8px;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--tx2)}
.kpi .det div{display:flex;justify-content:space-between;gap:8px}
.faixa-acao{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r);background:var(--bl-soft);border:1px solid color-mix(in srgb,var(--bl) 30%,transparent)}
.faixa-acao .txt{flex:1;font-size:13.5px}
.faixa-acao .txt b{font-weight:700}

/* número do dono */
.heroi .rot{font-size:13px;font-weight:600;color:var(--tx2);display:flex;align-items:center;gap:8px}
.heroi .num{font-size:40px;font-weight:600;line-height:1.15;margin-top:8px}
.heroi .porque{font-size:13.5px;color:var(--tx2);margin-top:8px;max-width:64ch}
.conta-lin{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--bd);font-size:13.5px}
.conta-lin:last-child{border-bottom:0;font-weight:700}
.conta-lin .in{width:144px;height:32px}
.conta{margin-top:16px;border-top:1px solid var(--bd2)}
/* previsão em destaque (a ideia dourada) */
.prev-card .alerta{display:flex;gap:12px;align-items:flex-start}
.prev-card .alerta .ic{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--dg-soft);color:var(--dg);flex:none}
.prev-card .alerta.bom .ic{background:var(--ok-soft);color:var(--ok)}
.prev-card .alerta b{font-size:15px;font-weight:700;display:block}
.prev-card .alerta p{font-size:13px;color:var(--tx2);margin-top:2px}
.ouro{color:var(--acc-tx)}

/* tabela */
.tab-wrap{overflow:auto;border:1px solid var(--bd);border-radius:var(--r);background:var(--sf)}
.tab{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.tab th{position:sticky;top:0;background:var(--sf2);box-shadow:inset 0 1px 0 var(--luz),inset 0 -1px 0 var(--bd);font-size:12px;font-weight:700;color:var(--tx2);text-align:center;padding:8px 12px;white-space:nowrap;z-index:1}
.tab td{padding:8px 12px;border-bottom:1px solid var(--bd);vertical-align:top}
.tab tbody tr:last-child td{border-bottom:0}
.tab tbody tr{transition:box-shadow var(--mov),background var(--mov)}
.tab tbody tr:hover{box-shadow:inset 3px 0 0 var(--acc-line);background:var(--sf2)}
.tab tr.atrasada td:first-child{box-shadow:inset 3px 0 0 var(--dg)}
.tab tr.sel{background:var(--acc-soft)}
.tab .c{text-align:center}
.tab .d{text-align:right}
.tab .e{text-align:left}
.tab td.nome b{display:block;font-weight:600}
.tab td.nome small{display:block;font-size:12px;color:var(--tx3);margin-top:2px}
.tab tfoot td{background:var(--sf2);font-weight:700;border-top:1px solid var(--bd2);border-bottom:0}
.tab .chk{width:40px;text-align:center}
.tab input[type=checkbox]{width:16px;height:16px;accent-color:var(--acc)}
.tab tr.clic{cursor:pointer}
.tab tr.sub td{background:var(--sf2);font-weight:700}
.tab tr.tot td{background:var(--sf3);font-weight:700}
.tab tr.marg td{color:var(--tx3);font-size:12.5px}
.tab td.ind1{padding-left:32px}

/* resumo em chips (filtro de situação) */
.resumo{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.chip{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;border:1px solid var(--bd);border-radius:var(--r);background:var(--sf);background-image:var(--sf-grad);box-shadow:var(--sh-el);padding:12px;text-align:left;transition:transform var(--mov),box-shadow var(--mov),border-color var(--mov)}
.chip:hover{transform:translateY(-1px);box-shadow:var(--sh-el2)}
.chip.on{border-color:var(--acc-line);box-shadow:inset 0 1px 0 var(--luz),0 0 16px -6px var(--acc-halo),0 0 0 1px var(--acc-line)}
.chip .t{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--tx2)}
.chip .v{font-size:18px;font-weight:600;margin-top:4px}
.chip .q{font-size:12px;color:var(--tx3)}
.ferr{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ferr .esp{flex:1}
.mes-nav{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--bd2);border-radius:var(--rc);background:var(--sf);height:36px;padding:0 4px}
.mes-nav button{width:28px;height:28px;border:0;border-radius:4px;background:transparent;display:grid;place-items:center}
.mes-nav button:hover{background:var(--sf2)}
.mes-nav button[disabled]{opacity:.35;cursor:not-allowed}
.mes-nav span{min-width:136px;text-align:center;font-weight:600;font-size:13.5px}
.busca{position:relative;width:240px}
.busca .ico{position:absolute;left:12px;top:10px;color:var(--tx3)}
.busca .in{padding-left:36px}
.sel.auto{width:auto;min-width:160px}

/* barras horizontais */
.barras{display:flex;flex-direction:column;gap:12px}
.barra-h .lin{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.barra-h .lin>span:last-child{white-space:nowrap}
.barra-h .trilho{height:8px;border-radius:4px;background:var(--sf3);margin-top:4px;overflow:hidden}
.barra-h .ench{height:100%;border-radius:4px;background:var(--tx3)}
.barra-h .ench.ac{background:var(--acc)}

/* listas curtas do painel */
.lista{display:flex;flex-direction:column}
.lista .it{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--bd)}
.lista .it:last-child{border-bottom:0}
.lista .dia{font-family:var(--fm);font-size:12.5px;text-align:center;color:var(--tx2)}
.lista .nm{min-width:0}
.lista .nm b{display:block;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista .nm small{display:block;font-size:12px;color:var(--tx3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lista .it.quebra .nm b,.lista .it.quebra .nm small{white-space:normal}

/* gráficos */
.grafico{width:100%;height:auto;display:block;overflow:visible}
.grafico.mini{height:96px}
.g-grade{stroke:var(--bd);stroke-width:1}
.g-grade.zero{stroke:var(--tx3);stroke-width:1}
.g-grade.v{stroke-dasharray:2 4}
.g-eixo{font-size:11px;fill:var(--tx3);font-family:var(--fm)}
.g-eixo.forte{fill:var(--tx);font-weight:600}
.g-ent{fill:var(--ok)}
.g-sai{fill:var(--tx3)}
.g-neg{fill:var(--dg)}
.g-pos{fill:var(--ok)}
.g-tot{fill:var(--acc)}
.g-fut{opacity:.45}
.g-linha{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.g-linha.saldo{stroke:var(--acc)}
.g-linha.prev{stroke:var(--acc);stroke-width:2.5}
.g-linha.prev-neg{stroke:var(--dg);stroke-width:2.5}
.g-linha.tracejada{stroke:var(--tx3);stroke-dasharray:5 5;stroke-width:1.5}
.g-area{fill:var(--acc-soft)}
.g-faixa-neg{fill:var(--dg-soft)}
.g-ponto{fill:var(--sf);stroke:var(--acc);stroke-width:2}
.g-ponto.neg{stroke:var(--dg)}
.g-ponto.min{stroke-width:3}
.g-rotulo{font-size:12.5px;font-weight:700;fill:var(--tx);font-family:var(--fs)}
.g-rotulo.neg{fill:var(--dg)}
.legenda{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--tx2)}
.legenda span{display:inline-flex;align-items:center;gap:8px}
.legenda i{width:12px;height:12px;border-radius:3px;display:inline-block}
.legenda i.l{height:3px;border-radius:2px}
.legenda i.t{height:0;border-top:2px dashed var(--tx3);border-radius:0}

/* simulador */
.sims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sim{border:1px solid var(--bd2);border-radius:var(--r);background:var(--sf);padding:12px;text-align:left;display:grid;grid-template-columns:20px 1fr;gap:8px 12px;align-items:start;transition:box-shadow var(--mov),border-color var(--mov)}
.sim .cx{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--bd2);display:grid;place-items:center;margin-top:1px}
.sim.on{border-color:var(--acc-line);box-shadow:inset 0 1px 0 var(--luz),0 0 16px -6px var(--acc-halo),0 0 0 1px var(--acc-line)}
.sim.on .cx{background:var(--acc);border-color:var(--acc);color:var(--acc-on)}
.sim b{font-size:13.5px;font-weight:700;display:block}
.sim small{font-size:12.5px;color:var(--tx2);display:block;margin-top:2px}
.sim .ef{grid-column:2;font-size:12.5px;font-weight:600}
.como{font-size:13px;color:var(--tx2);display:grid;gap:8px;padding-left:20px;margin:0}

/* conciliação */
.conc-lin{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 196px;gap:12px;align-items:stretch;padding:12px 0;border-bottom:1px solid var(--bd)}
.conc-lin:last-child{border-bottom:0}
.conc-lin .lado-b,.conc-lin .lado-s{border:1px solid var(--bd);border-radius:var(--r);padding:8px 12px;background:var(--sf);min-width:0}
.conc-lin .lado-b{background:var(--sf2)}
.conc-lin .lado-s.vazio{border-style:dashed;display:flex;align-items:center;color:var(--tx3);font-size:13px}
.conc-lin .topo-l{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.conc-lin .topo-l b{font-size:13px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conc-lin small{font-size:12px;color:var(--tx3);display:block;margin-top:2px}
.conc-lin .seta{display:grid;place-items:center;color:var(--tx3)}
.conc-lin .acoes-c{display:flex;flex-direction:column;gap:8px;justify-content:center}
.conc-lin .acoes-c .bt{width:100%}
.cab-conc{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 196px;gap:12px;font-size:12px;font-weight:700;color:var(--tx2);padding-bottom:8px;border-bottom:1px solid var(--bd2)}
.cab-conc span{text-align:center}

/* gaveta lateral */
.gaveta-veu{position:fixed;inset:0;background:var(--veu);z-index:40;animation:aparece .16s ease-out}
.gaveta{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:100%;background:var(--sf);z-index:41;display:flex;flex-direction:column;box-shadow:-24px 0 64px -24px rgba(0,0,0,.5);animation:entra .22s cubic-bezier(.32,.72,0,1)}
@keyframes entra{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.gaveta .g-cab{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--bd);flex:none}
.gaveta .g-cab h2{font-size:16px;font-weight:700}
.gaveta .g-corpo{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:16px}
.gaveta .g-pe{border-top:1px solid var(--bd);padding:16px 24px;display:flex;gap:8px;justify-content:flex-end;flex:none}
.gaveta .g-pe .esq-p{margin-right:auto}
.info{display:flex;gap:8px;font-size:13px;padding:12px;border-radius:var(--r);background:var(--sf2);color:var(--tx2)}
.info.bl{background:var(--bl-soft);color:var(--tx)}
.info.wn{background:var(--wn-soft);color:var(--tx)}
.hist{font-size:12.5px;color:var(--tx3);display:grid;gap:4px}

/* aviso flutuante */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:var(--tx);color:var(--bg);padding:12px 16px;border-radius:var(--r);font-size:13.5px;font-weight:600;display:flex;gap:8px;align-items:center;box-shadow:0 16px 40px -12px rgba(0,0,0,.5);animation:sobe .2s cubic-bezier(.32,.72,0,1)}

.vazio-lista{padding:48px 16px;text-align:center;color:var(--tx3);font-size:13.5px}
.so-leitura{font-size:12px}
.navbaixo{display:none}
.selo-topo{display:inline-flex}
.app~.selo-prot{display:none}
.oculto{display:none!important}

/* ---------- celular ---------- */
@media (max-width:1180px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resumo{grid-template-columns:repeat(3,minmax(0,1fr))}
  .g21{grid-template-columns:1fr}
}
@media (max-width:767px){
  .entrada{grid-template-columns:1fr;grid-template-rows:auto 1fr;overflow:auto}
  .entrada .marca{padding:12px 16px;justify-content:flex-start}
  .marca-in{width:auto;display:flex;align-items:center;gap:16px}
  .tema-ent{top:8px;right:8px;width:32px;padding:0;justify-content:center}
  .tema-ent .txt{display:none}
  .logo-marca{gap:8px}
  .logo-marca svg{width:26px;height:26px}
  .logo-marca b{font-size:19px}
  .marca .nome{margin:0;padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}
  .marca .ey{font-size:11px;letter-spacing:1.4px;white-space:nowrap}
  .marca .nome b,.marca .ass,.pilares{display:none}
  .entrada .lado{align-items:flex-start;padding:8px 16px}
  .col-ent{width:100%;gap:8px}
  .aviso{padding:8px 12px;font-size:11.5px;line-height:1.4}
  .aviso .t svg{width:13px;height:13px}
  .aviso .t{display:inline-flex;margin-right:4px;vertical-align:-2px}
  .aviso p{font-size:11.5px;line-height:1.4;margin-top:2px}
  .aviso p.um{display:inline;margin:0}
  .cartao{padding:12px 16px;border-radius:14px}
  .cartao h1{font-size:19px}
  .cartao .sub{font-size:13px;margin-top:2px}
  .cartao .campo{margin-top:8px}
  .cartao .campo>label{font-size:12px}
  .cartao .in{height:36px}
  .bt.entrar{margin-top:12px;height:38px}
  .esq{height:24px;margin-top:4px;font-size:12.5px}
  .divisor{margin:4px 0 8px}
  .bt.conhecer{height:38px}
  .rodape-ent{font-size:12px}
  .veu{align-items:flex-end}
  .janela{width:100%;max-width:100%;border-radius:16px 16px 0 0;padding:16px}
  .perfis{grid-template-columns:1fr 1fr}
  .modo{display:none}

  .app{grid-template-columns:1fr;grid-template-rows:1fr auto}
  .lat{display:none}
  .topo{height:auto;min-height:48px;flex-wrap:wrap;padding:8px 16px;gap:8px}
  .topo h1{font-size:16px}
  .topo .abas{order:3;width:100%;height:36px;margin:0 -16px;padding:0 8px}
  .topo .dir .bt .txt{display:none}
  .conteudo{padding:16px;gap:12px}
  .g4,.g3,.g2,.g21{grid-template-columns:1fr;gap:12px}
  .g4.kpis{grid-template-columns:1fr 1fr}
  .kpi .valor{font-size:18px}
  .kpi .det{display:none}
  .resumo{grid-template-columns:1fr 1fr;gap:8px}
  .resumo .chip:last-child{grid-column:1/-1}
  .chip{padding:8px 12px}
  .chip .v{font-size:15px}
  .ferr .busca{width:100%}
  .ferr .sel.auto{flex:1;min-width:0}
  .mes-nav{flex:1;justify-content:space-between}
  .sims{grid-template-columns:1fr}
  .heroi .num{font-size:30px}
  .cab-conc{display:none}
  .conc-lin{grid-template-columns:1fr;gap:8px}
  .conc-lin .seta{transform:rotate(90deg);height:16px}
  .conc-lin .acoes-c{flex-direction:row}
  .gaveta{width:100%}
  .grade-campos{grid-template-columns:1fr}
  .lista .it{grid-template-columns:44px minmax(0,1fr) auto}
  .lista .it .et{display:none}
  .selo-prot{right:8px;bottom:8px;font-size:11px;padding:4px 8px}
  .card .cab{flex-wrap:wrap}
  .navbaixo{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--sf);border-top:1px solid var(--bd);padding:4px 4px calc(4px + env(safe-area-inset-bottom));z-index:5}
  .navbaixo button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:11px;font-weight:600;color:var(--tx3);border-radius:8px;min-height:48px;justify-content:center}
  .navbaixo button.on{color:var(--tx);background:var(--acc-soft);box-shadow:0 0 18px -7px var(--acc-halo)}
  .navbaixo button.on .ico{color:var(--acc)}
  .navbaixo .ico{width:20px;height:20px}
  .cel-lista{display:flex;flex-direction:column;border:1px solid var(--bd);border-radius:var(--r);background:var(--sf);overflow:hidden}
  .cel-it{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px;border-bottom:1px solid var(--bd)}
  .cel-it:last-child{border-bottom:0}
  .cel-it.atrasada{box-shadow:inset 3px 0 0 var(--dg)}
  .cel-it b{font-size:13.5px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cel-it small{font-size:12px;color:var(--tx3)}
  .cel-it .d{text-align:right}
  .toast{left:16px;right:16px;transform:none;bottom:80px}
}
@media (max-width:380px){.marca .ey{font-size:10px;letter-spacing:.8px}.marca .nome{padding-left:12px}.marca-in{gap:12px}}
