
:root{
  color-scheme:light;
  /* prestação de contas: entrou, saiu e o resultado do mês (com ▲▼ junto, nunca só a cor) */
  --pc-rec:#3452C7; --pc-desp:#C98224; --pc-hach:rgba(255,255,255,.62);
  --pc-pos:#12735A; --pc-neg:#B3271A; --pc-pos-suave:#E3F3ED; --pc-neg-suave:#FCEAE7; --pc-eixo:#9AA6BF;
  --concreto:#EEF1F8;
  --papel:#FFFFFF;
  --sutil:#F4F6FC;
  --tinta:#101726;
  --grafite:#5A6782;
  --regua:#E1E6F1;
  --indigo:#3F5EDB;
  --indigo-suave:#EAEEFE;
  --verde:#12735A;
  --verde-suave:#E3F3ED;
  --carimbo:#C0392B;
  --carimbo-suave:#FCEAE7;
  --ambar:#8A5A0B;
  --ambar-suave:#FCF2DE;
  --menu:#0A0F1C;
  --menu-texto:#9DAAC6;
  --menu-fraco:#6B7899;
  --menu-ativo:rgba(75,110,245,.22);
  --menu-ativo-texto:#FFFFFF;
  --menu-titulo:#EEF2FA;
  --sombra:0 1px 2px rgba(16,23,38,.04), 0 10px 26px -16px rgba(16,23,38,.22);
  --sombra-forte:0 18px 50px -18px rgba(16,23,38,.34);
  --grade-graf:#E4E9F4;
  --acao:#4361E8; --acao-texto:#FFFFFF;
  --destaque:#33499A; --destaque-texto:#FFFFFF;
  --ok:#12735A; --ok-texto:#FFFFFF;
  --barra-paga:#12735A; --barra-caixa:#33499A;
  --marca-a:#4B6EF5; --marca-b:#7C5CFF;
  --brilho-a:rgba(75,110,245,.10); --brilho-b:rgba(47,214,160,.07);
  --display:'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --corpo:'Inter', system-ui, -apple-system, sans-serif;
  --mono:'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --r:14px;
  --escala:1;
}
[data-tema="escuro"]{
  color-scheme:dark;
  --pc-rec:#6F88EC; --pc-desp:#C0822E; --pc-hach:rgba(13,20,36,.55);
  --pc-pos:#5FD3A6; --pc-neg:#FF8A7A; --pc-pos-suave:#10302A; --pc-neg-suave:#3A1A18; --pc-eixo:#56627E;
  --concreto:#070B14;
  --papel:#0D1424;
  --sutil:#131C2E;
  --tinta:#E9EEF9;
  --grafite:#8493B4;
  --regua:#1E2941;
  --indigo:#8FA6E8;
  --indigo-suave:#18223A;
  --verde:#5BC49C;
  --verde-suave:#12291F;
  --carimbo:#F08C7F;
  --carimbo-suave:#2C1A18;
  --ambar:#E0B267;
  --ambar-suave:#2A2114;
  --menu:#05080F;
  --menu-texto:#8493B4;
  --menu-fraco:#5C6A88;
  --menu-ativo:rgba(75,110,245,.24);
  --menu-ativo-texto:#F2F6FF;
  --menu-titulo:#EEF2FA;
  --sombra:0 1px 2px rgba(0,0,0,.5);
  --sombra-forte:0 18px 50px -14px rgba(0,0,0,.8);
  --grade-graf:#1E2941;
  --acao:#4361E8; --acao-texto:#FFFFFF;
  --destaque:#26356A; --destaque-texto:#EEF2FA;
  --ok:#1B7A5E; --ok-texto:#FFFFFF;
  --barra-paga:#1B7A5E; --barra-caixa:#3B54A5;
  --marca-a:#4B6EF5; --marca-b:#7C5CFF;
  --brilho-a:rgba(75,110,245,.16); --brilho-b:rgba(47,214,160,.08);
}
[data-contraste="alto"]{
  --grafite:#3A444C;
  --regua:#9AA5AE;
}
[data-tema="escuro"][data-contraste="alto"]{
  --grafite:#C3CCD4;
  --regua:#5C6873;
  --tinta:#FFFFFF;
}
::selection{background:color-mix(in srgb, var(--indigo) 35%, transparent);color:var(--tinta)}
*{scrollbar-color:color-mix(in srgb, var(--grafite) 55%, transparent) transparent}
*::-webkit-scrollbar{width:11px;height:11px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--grafite) 45%, transparent);
  border-radius:8px;border:3px solid transparent;background-clip:content-box}
*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--grafite) 70%, transparent);
  background-clip:content-box}
[data-movimento="reduzido"] *{transition:none!important;animation:none!important;scroll-behavior:auto!important}

/* ---------- movimento ---------- */
@keyframes surgir{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes surgirLeve{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes escala{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@keyframes subir{from{transform:translateY(100%)}to{transform:none}}
@keyframes clarear{from{opacity:0}to{opacity:1}}
@keyframes pulo{0%{transform:scale(1)}45%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes crescerBarra{from{width:0}}
/* o painel se estica a partir do campo, em vez de simplesmente aparecer */
@keyframes esticarPainel{from{opacity:0;transform:scaleY(.72)}to{opacity:1;transform:none}}

#tela.entrando > *{animation:surgir .34s cubic-bezier(.22,.68,.28,1) both}
#tela.entrando > *:nth-child(2){animation-delay:.02s}
#tela.entrando > *:nth-child(3){animation-delay:.05s}
#tela.entrando > *:nth-child(4){animation-delay:.08s}
#tela.entrando > *:nth-child(5){animation-delay:.11s}
#tela.entrando > *:nth-child(n+6){animation-delay:.14s}
#tela.entrando .grade > *{animation:surgirLeve .3s ease-out both}
#tela.entrando .grade > *:nth-child(2){animation-delay:.05s}
#tela.entrando .grade > *:nth-child(3){animation-delay:.1s}
#tela.entrando .grade > *:nth-child(4){animation-delay:.15s}
#tela.entrando .lista .linha:nth-child(-n+9){animation:surgirLeve .28s ease-out both}
#tela.entrando .lista .linha:nth-child(2){animation-delay:.03s}
#tela.entrando .lista .linha:nth-child(3){animation-delay:.06s}
#tela.entrando .lista .linha:nth-child(4){animation-delay:.09s}
#tela.entrando .lista .linha:nth-child(5){animation-delay:.12s}
#tela.entrando .lista .linha:nth-child(6){animation-delay:.15s}
#tela.entrando .lista .linha:nth-child(n+7){animation-delay:.18s}
#tela.entrando .graf svg,#tela.entrando .meta{animation:escala .4s cubic-bezier(.22,.68,.28,1) both}

.fundo-modal{animation:clarear .18s ease-out}
.modal{animation:escala .26s cubic-bezier(.22,.68,.28,1)}
.dobra-corpo{animation:surgirLeve .24s ease-out}
.acesso .cartao-acesso{animation:escala .35s cubic-bezier(.22,.68,.28,1)}

.barra i{transition:width .55s cubic-bezier(.2,.8,.2,1)}
#tela.entrando .barra{animation:crescerBarra .55s cubic-bezier(.2,.8,.2,1)}
.check[data-on="1"]{animation:pulo .3s ease-out}

.bt,.opcao,.check,.conta,.item-predio,.opcao-cond,.linha,.nav button,.sub-abas button,
.tipos-graf button,.chip-cond,.perfil-btn,.dobra-cab{transition:background .16s ease,border-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease,opacity .16s ease}
.bt:active,.opcao:active,.check:active,.tipos-graf button:active,.sub-abas button:active{transform:scale(.96)}
.conta:active,.item-predio:not(.bloqueado):active,.opcao-cond:active,.dobra-cab:active{transform:scale(.99)}
.lista .linha:hover{background:color-mix(in srgb, var(--sutil) 60%, transparent)}
.linha.cabecalho:hover,.l-rodape:hover{background:var(--sutil)}
.cartao,.meta,.graf,.lista{transition:box-shadow .2s ease,border-color .2s ease}
.app{transition:grid-template-columns .26s cubic-bezier(.22,.68,.28,1)}
.lateral{transition:padding .26s ease}
.nav button[aria-current="true"]{box-shadow:var(--sombra)}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(900px 520px at 8% -6%, var(--brilho-a), transparent 62%),
    radial-gradient(760px 480px at 96% 4%, var(--brilho-b), transparent 62%),
    var(--concreto);
  background-attachment:fixed;
  color:var(--tinta);
  font-family:var(--corpo);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{font-family:var(--display);margin:0;letter-spacing:-.015em}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ---------- Estrutura ---------- */
.app{display:grid;grid-template-columns:286px 1fr;min-height:var(--vp-alt, 100dvh)}
.lateral{
  background:var(--menu);color:var(--menu-titulo);border-right:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:2px;
  padding:24px 16px 18px;position:sticky;top:0;height:var(--vp-alt, 100dvh);overflow:hidden;
}
.marca{padding:0 4px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:16px}
.marca .predio{font-family:var(--display);font-weight:800;font-size:26px;line-height:1;letter-spacing:-.03em}
.marca .sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--menu-fraco);margin-top:7px}
/* a marca em cima e o rodapé embaixo ficam sempre à vista; só as abas rolam */
.marca{flex:none}
.nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-height:0;
  overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;margin:0 -4px;padding:0 4px}
.nav button{
  background:none;border:0;text-align:left;color:var(--menu-texto);
  padding:12px 13px;border-radius:11px;font-size:15.5px;font-weight:500;
  display:flex;align-items:center;gap:13px;transition:background .12s,color .12s;
}
.nav button:hover{background:rgba(255,255,255,.07);color:var(--menu-titulo)}
.nav button[aria-current="true"]{background:var(--menu-ativo);color:var(--menu-ativo-texto);font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(140,168,255,.22)}
.nav .ic{width:23px;height:23px;flex:none;display:flex;align-items:center;justify-content:center;opacity:.9}
.nav .ic svg{width:23px;height:23px}
.nav button[aria-current="true"] .ic{opacity:1}
.perfil-sair svg{width:17px;height:17px}
.perfil-sair{display:flex;align-items:center;justify-content:center}
.rot-curto{display:none}
.pe-lateral{flex:none;margin-top:12px;padding:12px 4px 0;border-top:1px solid rgba(255,255,255,.12);
  max-height:50%;overflow-y:auto;scrollbar-width:thin}
.recolher-barra{flex:none}
/* em tela baixa o rodapé encolhe para sobrar espaço às abas */
[data-altura="baixa"] .pe-lateral{max-height:42%;margin-top:8px;padding-top:8px}
[data-altura="baixa"] .versao-menu{display:none}

.area{min-width:0;display:flex;flex-direction:column}
.conteudo{padding:22px 34px 90px;min-width:0;width:100%;flex:1}

/* ---------- barra superior ---------- */
.barra-topo{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:10px 26px;min-height:58px;
  background:color-mix(in srgb, var(--papel) 78%, transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--regua)}
.barra-topo:empty{display:none}
.trilha{display:flex;align-items:center;gap:9px;min-width:0;font-size:13.5px;color:var(--grafite)}
.trilha .alternar-menu{min-height:0;padding:6px;border-radius:9px;color:var(--grafite);display:inline-flex}
.trilha .alternar-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trilha-sep{opacity:.5}
.logo-topo{display:none;padding:0;border:0;background:none;transition:opacity .14s}
.logo-topo img{width:30px;height:auto;display:block}
.logo-topo:hover{opacity:.82}
.trilha-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trilha-item.atual{color:var(--tinta);font-weight:700}
.topo-direita{display:flex;align-items:center;gap:8px}
.sino{position:relative;width:38px;height:38px;border-radius:11px;border:1px solid transparent;background:none;
  color:var(--grafite);display:flex;align-items:center;justify-content:center;transition:.14s}
.sino svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sino:hover,.sino.aberto{background:var(--sutil);border-color:var(--regua);color:var(--tinta)}
.sino-cont{position:absolute;top:5px;right:5px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;
  background:var(--carimbo);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--papel)}
.painel-suspenso.painel-avisos{min-width:310px;max-width:min(370px, calc(100vw - 24px));padding:6px}
.aviso-item{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;padding:10px 10px;border:0;
  background:none;border-radius:9px;color:var(--tinta);transition:.12s}
.aviso-item:hover{background:var(--sutil)}
.aviso-item b{display:block;font-size:13.5px}
.aviso-item small{display:block;color:var(--grafite);font-size:12px;margin-top:2px}
.aviso-ponto{width:9px;height:9px;border-radius:50%;flex:none;margin-top:5px;background:var(--grafite)}
.aviso-ponto.atraso{background:var(--carimbo)}
.aviso-ponto.mes{background:var(--ambar)}
.aviso-ponto.despesa{background:var(--indigo)}
.aviso-ponto.obra{background:var(--verde)}
.aviso-ponto.senha{background:var(--carimbo)}
.aviso-vazio{padding:16px 12px;color:var(--grafite);font-size:13px;text-align:center}
.perfil-topo{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:none;
  padding:4px 10px 4px 4px;border-radius:12px;text-align:left;color:var(--tinta);transition:.14s}
.perfil-topo:hover{background:var(--sutil);border-color:var(--regua)}
.perfil-topo-txt{min-width:0;max-width:170px}
.perfil-topo-txt b,.perfil-topo-txt small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perfil-topo-txt b{font-size:13px;line-height:1.15}
.perfil-topo-txt small{color:var(--grafite);font-size:11px}
.perfil-topo .avatar.mini{width:30px;height:30px;border-radius:9px;font-size:12px}

/* ---------- marca e seletor de prédio no menu ---------- */
.logo-menu{display:flex;align-items:center;gap:10px;padding:2px 2px 18px;width:100%;
  background:none;border:0;transition:opacity .14s}
.logo-menu:hover{opacity:.82}
.logo-menu:active{opacity:.7}
/* os dois são medidos pela altura, então o nome acompanha o símbolo */
.logo-menu{--alt-marca:62px}
.logo-simbolo{height:var(--alt-marca);width:auto;flex:none;filter:drop-shadow(0 6px 18px rgba(124,92,255,.42))}
.logo-palavra{height:var(--alt-marca);width:auto;flex:none}
[data-altura="baixa"] .logo-menu{--alt-marca:48px;padding-bottom:12px}
.cartao-predio{display:flex;align-items:center;gap:13px;width:100%;text-align:left;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;
  padding:12px 13px;color:inherit;transition:.14s}
.cartao-predio:not(.sem):hover{background:rgba(255,255,255,.09);border-color:rgba(140,168,255,.35)}
.cartao-predio .selo-predio{width:38px;height:38px;border-radius:11px}
.cartao-predio .selo-predio svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cartao-predio .marca-txt{flex:1;min-width:0}
.cartao-predio .predio{font-family:var(--display);font-weight:700;font-size:16.5px;line-height:1.15;letter-spacing:-.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.marca .cartao-predio .marca-txt .sub{font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--menu-fraco);margin-top:2px;display:block}
.seta-predio{color:var(--menu-fraco);font-size:18px;line-height:1}
.topo{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:22px}
.topo h1{font-size:27px;font-weight:800}
.atalho-topo{display:inline-flex;align-items:center;gap:4px;margin-bottom:10px}
.chip-cond{background:var(--indigo-suave);color:var(--indigo);border:1px solid color-mix(in srgb,var(--indigo) 22%, transparent);border-radius:999px;
  padding:5px 12px 5px 6px;display:inline-flex;gap:9px;align-items:center;font-family:var(--corpo)}
.chip-cond .chip-txt{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.chip-cond b{font-size:12.5px;font-weight:700}
.chip-cond small{font-size:11px;opacity:.8}
.avatar.mini{width:26px;height:26px;border-radius:8px;font-size:11px}
.esconder{opacity:.45;font-size:12px;min-height:0;padding:4px 7px}
.esconder:hover{opacity:1}
.mostrar-atalho{margin-bottom:8px;opacity:.6}
.mostrar-atalho:hover{opacity:1}
.chip-cond:hover{filter:brightness(.96)}
.chip-cond .seta{font-size:9px;opacity:.7}
.opcao-cond{display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;text-align:left;
  background:var(--papel);border:1px solid var(--regua);border-radius:9px;padding:11px 13px;margin-bottom:8px}
.opcao-cond:hover{border-color:var(--tinta)}
.opcao-cond.atual{border-color:var(--indigo);background:var(--indigo-suave)}
.opcao-cond .etq{white-space:nowrap}
.opcao-cond b{display:block;font-size:14px}
.opcao-cond small{color:var(--grafite);font-size:11.5px}
.marca .alvo-marca{background:none;border:0;padding:0;text-align:left;width:100%;color:inherit}
.marca .alvo-marca:hover .predio{opacity:.75}
.topo .legenda{color:var(--grafite);font-size:13px;margin-top:3px}

.seletor-mes .suspenso{width:auto}
.rotulo-mes{border:0;background:none;color:inherit;font-family:var(--display);font-weight:700;
  font-size:15px;letter-spacing:-.01em;padding:7px 12px;border-radius:10px;
  display:inline-flex;align-items:center;gap:8px;transition:.14s;white-space:nowrap}
.rotulo-mes:hover{background:var(--sutil)}
.rotulo-mes.aberto{background:var(--indigo-suave);color:var(--indigo)}
.rotulo-mes .seta{font-size:10px;opacity:.55}
.passo-ano-mini{display:flex;align-items:center;justify-content:center;gap:10px;padding:2px 3px 8px}
.passo-ano-mini b{font-family:var(--display);font-size:15px;font-weight:700;min-width:48px;text-align:center}
.passo-ano-mini .bt{min-height:30px;padding:3px 10px;font-size:15px}
.mes-mini.hoje{box-shadow:inset 0 0 0 1px var(--indigo)}
.seletor-mes{display:flex;align-items:center;gap:6px;background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);padding:4px}
.seletor-mes button{background:none;border:0;padding:5px 9px;border-radius:6px;color:var(--grafite);font-size:15px;line-height:1}
.seletor-mes button:hover{background:var(--concreto);color:var(--tinta)}
.seletor-mes .rotulo{font-family:var(--display);font-weight:600;font-size:14px;min-width:132px;text-align:center}

/* ---------- Blocos ---------- */
.cartao{background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);padding:18px;box-shadow:var(--sombra)}
.grade{display:grid;gap:14px}
.grade > *{min-width:0}
.g4{grid-template-columns:repeat(4,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}

.indicador{position:relative}
.selo-ind{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:10px;
  display:flex;align-items:center;justify-content:center}
.selo-ind svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.selo-ind.verde{background:var(--verde-suave);color:var(--verde)}
.selo-ind.laranja{background:var(--ambar-suave);color:var(--ambar)}
.selo-ind.vermelho{background:var(--carimbo-suave);color:var(--carimbo)}
.selo-ind.cinza{background:var(--sutil);color:var(--grafite)}
.selo-ind.claro{background:rgba(255,255,255,.16);color:#fff}
.indicador .rotulo,.indicador .valor,.indicador .nota{padding-right:40px}
.g-fluxo{grid-template-columns:1.7fr 1fr}
.fatia .dica-graf{opacity:0;transition:opacity .12s;pointer-events:none}
.fatia:hover .dica-graf,.fatia:focus-within .dica-graf{opacity:1}
.fatia .dica-graf rect{filter:drop-shadow(0 6px 16px rgba(0,0,0,.22))}
.pc-svg{display:block;overflow:visible}
.pc-svg text{font-family:var(--mono)}
.pc-rec{fill:var(--pc-rec)} .pc-desp{fill:var(--pc-desp)} .pc-desp-hach{fill:url(#pcHach)} .pc-hach{fill:var(--pc-hach)}
.pc-pos{fill:var(--pc-pos)} .pc-neg{fill:var(--pc-neg)}
.pc-pos-suave{fill:var(--pc-pos-suave)} .pc-neg-suave{fill:var(--pc-neg-suave)}
.pc-rot{fill:var(--grafite)} .pc-val{fill:var(--tinta)} .pc-apagado{opacity:.45}
.pc-grade{stroke:var(--grade-graf);stroke-width:1} .pc-eixo{stroke:var(--pc-eixo);stroke-width:1}
.pc-prev{stroke:var(--grafite);stroke-width:1;stroke-dasharray:3 3;opacity:.7}
.pc-alvo:hover path{filter:brightness(1.12)}
.pc-leg{margin:0}
.pc-leg svg{flex:none}
.pc-sobras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px}
.pc-sobras div{display:grid;gap:1px;padding:6px 8px;border-radius:8px;min-width:0}
.pc-sobras div.pos{background:var(--pc-pos-suave)} .pc-sobras div.neg{background:var(--pc-neg-suave)}
.pc-sobras span{font-size:11px;color:var(--grafite)}
.pc-sobras b{font:700 12.5px var(--mono);white-space:nowrap;font-variant-numeric:tabular-nums}
.pc-sobras .pos b{color:var(--pc-pos)} .pc-sobras .neg b{color:var(--pc-neg)}
[data-largura="estreita"] .pc-sobras{grid-template-columns:repeat(2,minmax(0,1fr))}
.pc-nota{font-size:11px;color:var(--grafite);text-align:right;margin-top:4px}
.pc-bloco{padding:16px 16px 12px;min-width:0}
.pc-duas{grid-template-columns:1.1fr 1fr;margin-top:14px}
[data-tela="celular"] .pc-duas,[data-tela="media"] .pc-duas{grid-template-columns:1fr}
.pc-numeros{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
[data-tela="media"] .pc-numeros{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-tela="celular"] .pc-numeros{grid-template-columns:repeat(2,minmax(0,1fr))}
.pc-num{background:var(--papel);border:1px solid var(--regua);border-radius:12px;padding:12px 13px;display:grid;gap:3px;min-width:0;box-shadow:var(--sombra)}
.pc-num small{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grafite)}
.pc-num b{overflow:hidden;font:700 18px/1.2 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.pc-num span{font-size:12px;color:var(--grafite)}
.pc-num.pos{background:var(--pc-pos-suave);border-color:transparent} .pc-num.pos b{color:var(--pc-pos)}
.pc-num.neg{background:var(--pc-neg-suave);border-color:transparent} .pc-num.neg b{color:var(--pc-neg)}
.pc-ranking{display:grid;gap:9px;padding:2px 0 6px}
.pc-rk{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;align-items:center;gap:10px;font-size:13px;min-width:0}
.pc-nome{min-width:0;line-height:1.3;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-trilho{height:14px;border-radius:0 4px 4px 0;background:var(--sutil);overflow:hidden;min-width:30px}
.pc-trilho i{display:block;height:100%;background:var(--pc-rec);border-radius:0 4px 4px 0}
.pc-v{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.pc-v em{font-style:normal;color:var(--grafite);margin-left:6px;display:inline-block;min-width:3.2em}
.pc-rk.total{border-top:1px solid var(--regua);padding-top:8px;font-weight:600}
[data-largura="estreita"] .pc-rk{grid-template-columns:minmax(70px,110px) 1fr auto;font-size:12px}
[data-largura="estreita"] .pc-v em{display:none}
.so-impresso{display:none}
.pc-assinaturas{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.pc-assinaturas div{border-top:1px solid var(--tinta);padding-top:6px;font-size:8.5pt;color:var(--grafite);text-align:center}
.pc-assinaturas b{display:block;color:var(--tinta);font-size:9pt;font-weight:600}
.graf-cabeca{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap;min-width:0}
.graf-cabeca > div{min-width:0}
.graf-cabeca h3{font-size:15px;margin:0}
.graf-cabeca small{display:block;color:var(--grafite);font-size:12.5px;margin-top:2px}
.indicador .rotulo{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grafite);font-weight:600}
.indicador .valor{font-family:var(--mono);font-weight:700;font-size:25px;letter-spacing:-.03em;margin-top:8px;line-height:1}
.indicador .nota{font-size:12px;color:var(--grafite);margin-top:6px}
.indicador.alerta{background:var(--carimbo-suave);border-color:color-mix(in srgb,var(--carimbo) 40%, transparent)}
.indicador.alerta .valor,.indicador.alerta .rotulo{color:var(--carimbo)}
.indicador.alerta .nota{color:var(--carimbo);opacity:.85}
.dupla-check{display:inline-flex;align-items:center;gap:6px}
.check.fantasma{opacity:.45;pointer-events:none}
.indicador.destaque{background:linear-gradient(150deg,var(--destaque),color-mix(in srgb,var(--destaque) 72%, var(--marca-b)));
  border-color:transparent;color:var(--destaque-texto);box-shadow:0 14px 30px -16px rgba(75,110,245,.8)}
.indicador.destaque .rotulo,.indicador.destaque .nota{color:var(--destaque-texto);opacity:.72}
.pos{color:var(--verde)} .neg{color:var(--carimbo)}

.titulo-secao{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:30px 0 12px}
.titulo-secao h2{font-size:16px;font-weight:700;letter-spacing:.01em}
.titulo-secao .aux{font-size:12px;color:var(--grafite)}

/* ---------- Cobranças ---------- */
.l-cob{grid-template-columns:36px 1fr 132px 108px 146px}
.l-cob .c-valor{text-align:right}
.l-cob .unid{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:-.01em}
.acrescimo{font-size:11px;color:var(--ambar);font-family:var(--mono)}
.linha.paga{background:var(--verde-suave)}
.linha.atrasada{background:var(--carimbo-suave)}
.trilho{display:flex;gap:8px;align-items:center}

/* ---------- Botões / etiquetas ---------- */
.bt{border:1px solid var(--regua);background:var(--papel);border-radius:10px;padding:8px 13px;font-size:13px;font-weight:500;transition:.12s}
.bt:hover{border-color:var(--tinta)}
.bt.cheio{background:var(--acao);border-color:var(--acao);color:var(--acao-texto);font-weight:600;
  box-shadow:0 10px 22px -12px rgba(75,110,245,.85)}
.bt.cheio:hover{opacity:.86}
.bt.ok{background:var(--ok);border-color:var(--ok);color:var(--ok-texto)}
.bt.perigo{background:var(--carimbo);border-color:var(--carimbo);color:#fff}
.bt.perigo:hover{opacity:.88}
.bt.ok:hover{opacity:.88}
.bt.leve{background:transparent;border-color:transparent;color:var(--grafite);padding:5px 8px}
.bt.leve:hover{background:var(--concreto);color:var(--tinta)}
.bt.pq{padding:4px 9px;font-size:12px}
.bt[disabled]{opacity:.45;cursor:not-allowed}
.etq{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:7px;background:var(--sutil);color:var(--grafite);white-space:nowrap}
.etq.verde{background:var(--verde-suave);color:var(--verde)}
.etq.vermelha{background:var(--carimbo-suave);color:var(--carimbo)}
.etq.ambar{background:var(--ambar-suave);color:var(--ambar)}
.etq.indigo{background:var(--indigo-suave);color:var(--indigo)}

/* ---------- Listas ---------- */
.lista{background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);overflow:hidden;box-shadow:var(--sombra)}
.linha{display:grid;grid-template-columns:34px 1fr 130px 118px 92px;gap:12px;align-items:center;padding:11px 15px;border-top:1px solid var(--regua)}
/* cobranças: a coluna de ação leva WhatsApp, Baixar e a outra data */
.linha.l-cob{grid-template-columns:34px 1fr 130px 112px 146px}
.linha:first-child{border-top:0}
.linha > *{min-width:0}
/* .linha > * zera o min-width; as células de dinheiro precisam do tamanho real */
.linha > .dinheiro{min-width:max-content}
.lista{max-width:100%}
.linha.cabecalho{background:var(--sutil);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grafite);font-weight:600;padding:9px 15px}
.linha.feito .desc{color:var(--grafite)}
.linha .desc{font-weight:500}
.linha .meta-desc{font-size:11.5px;color:var(--grafite);margin-top:1px}
input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;flex:none;
  border:1.8px solid color-mix(in srgb, var(--grafite) 58%, transparent);border-radius:7px;
  background:transparent;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:.14s;margin:0}
input[type="checkbox"]:hover{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent)}
input[type="checkbox"]:checked{background:var(--ok);border-color:var(--ok)}
input[type="checkbox"]:checked::after{content:"✓";color:var(--ok-texto);font-size:13px;line-height:1;font-weight:700}
input[type="checkbox"]:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.check{width:19px;height:19px;border:1.8px solid color-mix(in srgb, var(--grafite) 58%, transparent);
  border-radius:6px;background:transparent;display:flex;align-items:center;justify-content:center;
  font-size:12px;color:transparent;padding:0;flex:none}
.check:hover{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, transparent);
  color:color-mix(in srgb, var(--ok) 55%, transparent)}
.check[data-on="1"]{background:var(--ok);border-color:var(--ok);color:var(--ok-texto)}
.check.sel{border-radius:50%;border-style:dashed;border-color:color-mix(in srgb, var(--destaque) 60%, transparent)}
.check.sel:hover{border-color:var(--destaque);background:color-mix(in srgb, var(--destaque) 14%, transparent);
  color:color-mix(in srgb, var(--destaque) 55%, transparent)}
.check.sel[data-on="1"]{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto);border-style:solid}
.dinheiro{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-weight:500;
  white-space:nowrap;text-overflow:clip}
/* números nunca aparecem pela metade: quando falta espaço a fonte encolhe (ajustarNumeros) */
.indicador .valor,.previa-abrir b,.resumo-ficha b,.resumo-desp b{
  white-space:nowrap;overflow:hidden;text-overflow:clip}
.entrada{border:1px solid var(--regua);border-radius:10px;padding:8px 11px;width:100%;background:var(--papel)}
select.entrada{background-color:var(--papel);color:var(--tinta)}
select.entrada option,select.entrada optgroup{background-color:var(--papel);color:var(--tinta)}
.entrada{min-width:0}   /* sem isto o input não encolhe abaixo do tamanho próprio */
.entrada::placeholder{color:var(--grafite);opacity:.65}
.entrada:focus{outline:2px solid var(--indigo);outline-offset:-1px;border-color:var(--indigo)}
.entrada[type="number"]{appearance:textfield;-moz-appearance:textfield}
.entrada[type="number"]::-webkit-outer-spin-button,
.entrada[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.entrada:-webkit-autofill,.entrada:-webkit-autofill:hover,.entrada:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--tinta);
  -webkit-box-shadow:0 0 0 1000px var(--papel) inset;
  caret-color:var(--tinta);
  transition:background-color 9999s ease-in-out 0s}
.entrada.dinheiro{text-align:right;font-family:var(--mono);appearance:textfield;-moz-appearance:textfield}
.entrada.dinheiro::-webkit-outer-spin-button,
.entrada.dinheiro::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.caixa-senha{position:relative;display:block}
.olho{position:absolute;right:5px;top:50%;transform:translateY(-50%);background:none;border:0;
  padding:7px;border-radius:9px;color:var(--grafite);display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:.14s;-webkit-user-select:none;user-select:none;touch-action:none}
.olho svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.olho:hover{color:var(--tinta);background:var(--sutil)}
.olho.aberto{color:var(--indigo)}
.caixa-senha .entrada{padding-right:72px}
/* cada navegador desenha o seu proprio botao de "ver senha"; ficariam dois olhos lado a lado */
.caixa-senha .entrada::-ms-reveal,
.caixa-senha .entrada::-ms-clear{display:none!important;width:0;height:0}
.caixa-senha .entrada::-webkit-credentials-auto-fill-button,
.caixa-senha .entrada::-webkit-strong-password-auto-fill-button,
.caixa-senha .entrada::-webkit-caps-lock-indicator{display:none!important;visibility:hidden!important;
  pointer-events:none!important;width:0!important;height:0!important;margin:0!important;opacity:0!important}
.sinal-caps{position:absolute;right:38px;top:50%;transform:translateY(-50%);
  color:var(--ambar);font-size:14px;line-height:1;pointer-events:auto;cursor:help;
  animation:surgirLeve .18s ease-out}
.sinal-caps[hidden]{display:none}
.moeda{position:relative;display:block}
.moeda > .cifrao{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;
  color:var(--grafite);font-family:var(--mono);pointer-events:none;line-height:1}
.moeda .entrada{padding-left:32px}
.moeda .entrada.pq{padding-left:29px}
.l-unid{grid-template-columns:1fr 1fr 150px 110px}
.l-atraso{grid-template-columns:1fr auto auto;gap:10px}
.l-conta{grid-template-columns:34px 1fr auto auto;gap:12px}
.l-conta.vencida{box-shadow:inset 3px 0 0 var(--carimbo)}
.l-conta .dinheiro{text-align:right}
.meta-desc .etq-venc{margin-left:4px;padding:2px 7px;font-size:10px;vertical-align:1px}
.campo-venc input{max-width:150px}
.texto-whats{width:100%;min-height:260px;resize:vertical;font-family:inherit;font-size:13.5px;line-height:1.5;white-space:pre-wrap;margin-top:12px}
.acoes-whats .bt{white-space:nowrap}
.acoes-whats{flex-wrap:wrap}
.destino-whats{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--grafite)}
.destino-whats span{margin-right:2px}
a.bt{text-decoration:none}
.destino-whats .bt.ativo{background:var(--indigo-suave);border-color:var(--indigo);color:var(--indigo);font-weight:600}
.texto-whats.curto{min-height:190px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.l-extrato{grid-template-columns:minmax(0,1fr) auto auto;gap:14px}
.linha.esmaecida{opacity:.55}
.linha.esmaecida .desc{text-decoration:line-through;text-decoration-color:var(--regua)}
.l-hist{grid-template-columns:1fr 1fr auto auto;gap:10px}
.l-cat{grid-template-columns:minmax(0,150px) minmax(0,1fr) auto;gap:14px}
.l-meta{grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px}
/* ---- seleção em lote ----
   Escolher fica em cima da lista, agir fica embaixo. Cada linha tem uma
   caixinha só, e a linha inteira é clicável. */
.tira-escolha{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:11px 14px;margin-bottom:-1px;border:1px solid var(--destaque);
  border-bottom-color:var(--regua);border-radius:var(--r) var(--r) 0 0;
  background:var(--indigo-suave)}
.tira-escolha .bt{min-height:36px}
.tira-escolha .bt:first-child{display:inline-flex;align-items:center;gap:9px;font-weight:600}
.tira-escolha .bt.ativo-lote{border-color:var(--destaque);color:var(--destaque);
  background:color-mix(in srgb, var(--destaque) 13%, transparent)}
.tira-escolha .conta-escolha{flex:1;min-width:0;font-size:12.5px;color:var(--grafite)}
.tira-escolha + .lista{border-top-left-radius:0;border-top-right-radius:0}
.caixa-sel{width:19px;height:19px;flex:none;border-radius:6px;border:1.6px solid var(--grafite);
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;line-height:1;color:#fff;background:transparent;transition:.14s}
.caixa-sel.on{background:var(--destaque);border-color:var(--destaque)}
.linha.escolhivel{cursor:pointer}
.linha.escolhivel:hover{background:color-mix(in srgb, var(--indigo-suave) 55%, transparent)}
.linha.escolhivel.marcada{background:var(--indigo-suave)}
.linha.escolhivel .caixa-sel{margin-top:1px}

.barra-acoes{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:12px 20px;padding:13px 15px;background:var(--indigo-suave)}
.barra-acoes.vazia{background:var(--sutil)}
.acoes-titulo{display:flex;flex-direction:column;gap:2px;min-width:0}
.acoes-titulo b{font-size:14.5px}
.acoes-titulo span{font-size:12.5px;color:var(--grafite)}
.acoes-lista{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;flex:1}
.barra-acoes .bt[disabled]{opacity:.4;cursor:not-allowed}

/* zona de perigo dos ajustes da conta */
.zona-perigo{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:18px;padding:14px;border:1px solid color-mix(in srgb, var(--carimbo) 38%, transparent);
  border-radius:12px;background:var(--carimbo-suave)}
.zona-perigo b{display:block;font-size:14.5px;color:var(--carimbo)}
.zona-perigo small{display:block;color:var(--grafite);font-size:12.5px;margin-top:3px;max-width:44ch}
.lista-destinos .conta{cursor:pointer}
.lista-destinos .conta.atual{border-color:var(--destaque);
  background:color-mix(in srgb, var(--destaque) 10%, transparent)}
.lista-destinos .caixa-sel{margin-left:auto}
/* plano do ano */
.cabeca-plano{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.cabeca-plano .filtros-cob{flex:1;min-width:0}
.resumo-plano{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.resumo-plano > div{background:var(--papel);border:1px solid var(--regua);border-radius:12px;
  padding:11px 13px;box-shadow:var(--sombra)}
.resumo-plano small{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--grafite);font-weight:600}
.resumo-plano b{display:block;font-family:var(--mono);font-size:16px;margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:clip}
.linha-selos{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.selo-fila{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;
  padding:3px 8px;border-radius:7px;background:var(--indigo-suave);color:var(--destaque);flex:none}
.selo-fila.feito{background:var(--verde-suave);color:var(--verde)}
.selo-fila.pronto{background:var(--ambar-suave);color:var(--ambar)}
.mover-meta{display:inline-flex;gap:4px;margin-right:auto}
.mover-meta .bt{min-height:32px;padding:4px 9px;font-size:14px;line-height:1}
.mover-meta .bt[disabled]{opacity:.32;cursor:not-allowed}
[data-tela="celular"] .resumo-plano{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-tela="media"] .resumo-plano{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-tela="celular"] .cabeca-plano{flex-direction:column;align-items:stretch}
[data-tela="celular"] .cabeca-plano .bt{width:100%}
.vazio-desp{padding:26px 16px;text-align:center;color:var(--grafite)}
.vazio-desp b{display:block;color:var(--tinta);font-size:15px;margin-bottom:6px}
.vazio-desp p{margin:0 0 14px;font-size:13px}
.sugestoes-desp{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

/* limites de valor */
.lista-lim .l-lim{grid-template-columns:minmax(0,1fr) 180px 180px;gap:14px;align-items:center}
.lim-nome b{display:block;font-size:14.5px}
.lim-nome small{color:var(--grafite);font-size:12.5px}
.lim-campo{display:flex;flex-direction:column;gap:5px}
.lim-campo > label:first-child{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  font-weight:700;color:var(--grafite)}
.lim-fixo{font-family:var(--mono);font-size:13.5px}
.moeda .cifrao.fim{left:auto;right:11px}
.moeda.pct .entrada{padding-left:12px;padding-right:30px}
.opcional{text-transform:none;letter-spacing:0;font-weight:400;color:var(--grafite)}
.grade.g1{display:grid;grid-template-columns:1fr;gap:16px}
.link-data{background:none;border:0;padding:0;font:inherit;color:var(--indigo);
  text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}
.link-data:hover{color:var(--tinta)}
.l-user{grid-template-columns:44px 1.5fr 122px 0.9fr 132px 150px}
.avatar.mini{position:relative}
.avatar[class*="ponto-"]::after{content:"";position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;
  border-radius:50%;border:2px solid var(--papel);background:var(--grafite)}
.avatar.ponto-online::after{background:#22C08A;box-shadow:0 0 0 3px rgba(34,192,138,.22)}
.avatar.ponto-espera::after{background:#E0A83C}
.avatar.ponto-offline::after,.avatar.ponto-nunca::after{background:var(--grafite);opacity:.7}
.presenca{display:flex;align-items:center;gap:6px;font-weight:500}
.presenca::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--grafite);flex:none}
.presenca.online{color:#1B9E72}
.presenca.online::before{background:#22C08A}
.presenca.espera{color:var(--ambar)}
.presenca.espera::before{background:#E0A83C}
[data-tema="escuro"] .presenca.online{color:#5BD6A8}
.l-aud{grid-template-columns:160px 150px 1fr 100px}
.quando-aud{font-size:12px;color:var(--grafite)}
.hora-aud{display:block;font-size:11px;opacity:.75}
.filtros-aud{display:flex;flex-direction:column;gap:12px}
.linha-filtro{display:flex;flex-direction:column;gap:7px}
.grade-filtro{display:grid;gap:10px 12px;align-items:end;
  grid-template-columns:repeat(auto-fit, minmax(145px, 1fr))}
.grade-filtro .grupo-filtro:last-child{grid-column:1/-1}
.grupo-filtro{min-width:0}
.grupo-filtro .entrada{min-width:0;width:100%}
.grupo-filtro label{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grafite);font-weight:600;margin-bottom:5px}
.l-mod{grid-template-columns:1fr 1fr 104px 28px;row-gap:7px;padding:11px 12px;align-items:center}
.l-rodape{grid-template-columns:1fr auto;background:var(--sutil)}
.l-mod .m-nome{grid-column:1/4;grid-row:1}
.l-mod .m-del{grid-column:4;grid-row:1;text-align:right}
.l-mod .m-tipo{grid-column:1;grid-row:2}
.l-mod .m-per{grid-column:2;grid-row:2}
.l-mod .m-val{grid-column:3/5;grid-row:2}
.entrada.pq{padding:5px 7px;font-size:12.5px}

/* ---------- Metas ---------- */
.meta{background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);padding:16px 17px;margin-bottom:12px;box-shadow:var(--sombra)}
.meta.ativa{border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-suave)}
.meta .topo-meta{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.meta .topo-meta > *:first-child{min-width:0;overflow-wrap:anywhere}
.meta .topo-meta > *:last-child{flex:none}
.parcela span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.meta h3{font-size:16px;font-weight:700}
.meta .obs{font-size:12.5px;color:var(--grafite);margin-top:3px}
.barra{position:relative;height:22px;border-radius:6px;background:var(--concreto);border:1px solid var(--regua);overflow:hidden;margin-bottom:6px}
.barra i{position:absolute;top:0;bottom:0;display:block;transition:width .25s}
.fatia-paga{left:0;background:var(--barra-paga);border-radius:5px 0 0 5px}
.fatia-caixa{background:var(--barra-caixa);opacity:.6}
/* o que o caixa cobriria se a obra fosse a próxima: listrado, para não se confundir
   com o dinheiro que de fato está reservado para ela */
.fatia-possivel{opacity:.55;border-radius:0 5px 5px 0;
  background:repeating-linear-gradient(115deg,
    color-mix(in srgb, var(--barra-caixa) 42%, transparent) 0 5px,
    transparent 5px 11px)}
.leg-possivel i{background:repeating-linear-gradient(115deg,
    color-mix(in srgb, var(--barra-caixa) 70%, transparent) 0 3px,
    transparent 3px 6px);border:1px solid color-mix(in srgb, var(--barra-caixa) 45%, transparent)}
.leg-possivel{opacity:.85}
/* valor de despesa já baixada: mostrado, não editável direto na lista */
/* conta de consulta: some tudo que altera dados. O bloqueio real é no despachante;
   isto aqui evita botão morto na tela. */
body[data-consulta] [data-acao="gerar"],
body[data-consulta] [data-acao="baixa-hoje"],
body[data-consulta] [data-acao="pagar"],
body[data-consulta] [data-acao="estornar"],
body[data-consulta] [data-acao="enviar"],
body[data-consulta] [data-acao="enviar-todos"],
body[data-consulta] [data-acao="whats-boleto"],
body[data-consulta] [data-acao="whats-fila"],
body[data-consulta] [data-acao="modo-selecao"],
body[data-consulta] [data-acao="modo-sel-desp"],
body[data-consulta] [data-acao="baixar-despesa"],
body[data-consulta] [data-acao="nova-despesa"],
body[data-consulta] [data-acao="editar-despesa"],
body[data-consulta] [data-acao="sugerir-despesa"],
body[data-consulta] [data-acao="data-despesa"],
body[data-consulta] [data-acao="nova-meta"],
body[data-consulta] [data-acao="editar-meta"],
body[data-consulta] [data-acao="apagar-meta"],
body[data-consulta] [data-acao="pagar-meta"],
body[data-consulta] [data-acao="concluir-meta"],
body[data-consulta] [data-acao="reabrir-meta"],
body[data-consulta] [data-acao="subir-meta"],
body[data-consulta] [data-acao="descer-meta"],
body[data-consulta] [data-acao="apagar-pagamento"],
body[data-consulta] [data-acao="nova-unidade"],
body[data-consulta] [data-acao="apagar-unidade"],
body[data-consulta] [data-acao="fechar"],
body[data-consulta] [data-acao="reabrir"],
body[data-consulta] [data-acao="excluir-cobranca"],
body[data-consulta] [data-acao="zerar"],
body[data-consulta] [data-acao="novo-cond"],
body[data-consulta] [data-acao="excluir-cond"],
body[data-consulta] [data-acao="liberar-predio"],
body[data-consulta] [data-acao="transferir-predio"],
body[data-consulta] [data-acao="assumir-predio"],
body[data-consulta] [data-acao="abrir-copia"],
body[data-consulta] .l-desp .col-valor .moeda,
body[data-consulta] .col-acao,
body[data-consulta] .c-acao{display:none!important}
body[data-consulta] .entrada:not(#txtExcluir):not(.senha){pointer-events:none;opacity:.75}
.faixa-consulta{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:16px;
  border:1px solid color-mix(in srgb, var(--indigo) 35%, transparent);border-radius:12px;
  background:var(--indigo-suave);font-size:13px;color:var(--tinta)}
.faixa-consulta svg{width:17px;height:17px;flex:none;color:var(--indigo);fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.selo-recado{width:40px;height:40px;flex:none;border-radius:13px;display:flex;align-items:center;
  justify-content:center;background:var(--indigo-suave);color:var(--indigo)}
.selo-recado svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.lista-recados{display:flex;flex-direction:column;gap:10px;margin:16px 0 4px;
  max-height:46vh;overflow-y:auto}
.recado{border:1px solid var(--regua);border-left:3px solid var(--indigo);border-radius:10px;
  padding:12px 13px;background:var(--sutil)}
.recado b{display:block;font-size:14.5px;margin-bottom:5px}
.recado p{margin:0;font-size:13px;color:var(--grafite);line-height:1.6}
.recado small{display:block;margin-top:7px;font-size:11px;color:var(--grafite);opacity:.8}
.cab-equipe{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cab-equipe small{display:block;color:var(--grafite);font-size:12.5px;margin-top:3px}
.valor-travado{display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;width:100%;
  background:none;border:1px dashed var(--regua);border-radius:9px;padding:8px 10px;
  color:var(--grafite);font-size:14px;text-align:right}
.valor-travado:hover{border-color:var(--indigo);color:var(--tinta)}
.valor-travado svg{width:13px;height:13px;flex:none;opacity:.65;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* bloco do pagamento dentro dos modais */
.bloco-pago{border:1px solid var(--regua);background:var(--sutil);border-radius:13px;
  padding:13px 13px 11px;margin:6px 0 14px}
.bloco-pago .cab-bloco{margin-bottom:11px}
.bloco-pago .campo:last-of-type{margin-bottom:0}
.selo-pago{width:26px;height:26px;flex:none;border-radius:9px;display:flex;align-items:center;
  justify-content:center;background:var(--verde-suave);color:var(--verde)}
.selo-pago svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}
.barra .pct{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:11px;font-weight:700;white-space:nowrap}
.acoes-meta{display:flex;gap:6px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
.meta-cabeca{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 12px;flex-wrap:wrap;min-width:0}
.meta-cabeca .etq{white-space:normal}
.meta-cabeca .custo{font-weight:700;font-size:17px}
.resumo-meta{font-size:13px;color:var(--grafite);margin-top:8px}
.bt.larga{width:100%;margin-top:12px}
.parcelas{margin-top:10px;border-top:1px dashed var(--regua);padding-top:8px}
.parcela{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--grafite);padding:2px 0}
.parcela .num{color:var(--tinta);font-family:var(--mono);white-space:nowrap}
.medidor{display:flex;justify-content:space-between;font-size:12px;color:var(--grafite)}
.medidor b{font-family:var(--mono);color:var(--tinta)}

/* ---------- Tabela anual ---------- */
.rolagem{overflow-x:auto;border:1px solid var(--regua);border-radius:var(--r);background:var(--papel);box-shadow:var(--sombra)}
table{border-collapse:collapse;width:100%;min-width:660px}
th,td{padding:9px 13px;text-align:right;border-top:1px solid var(--regua);font-size:13px;white-space:nowrap}
th{background:var(--sutil);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--grafite);font-weight:600;border-top:0}
th:first-child,td:first-child{text-align:left;font-weight:500}
tbody td:not(:first-child){font-family:var(--mono);font-variant-numeric:tabular-nums}
tfoot td{background:var(--sutil);font-weight:700;border-top:1.5px solid var(--tinta)}
td:first-child{position:sticky;left:0;background:var(--papel);z-index:1}
th:first-child,tfoot td:first-child{position:sticky;left:0;background:var(--sutil);z-index:2}
td:first-child::after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--regua)}

/* ---------- Modal ---------- */
.fundo-modal{position:fixed;inset:0;background:color-mix(in srgb, var(--concreto) 45%, transparent);
  backdrop-filter:blur(7px) saturate(.9);-webkit-backdrop-filter:blur(7px) saturate(.9);
  display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}
.modal{box-shadow:var(--sombra-forte)}
/* overflow-x recortado: um menu aberto nunca liga a barra de rolagem lateral.
   min-height com transição: quando um seletor abre e ainda há espaço, a caixa
   se estica em vez de ligar a rolagem. */
.modal{background:var(--papel);border-radius:14px;padding:22px;width:100%;max-width:430px;max-height:88vh;
  overflow-y:auto;overflow-x:clip;transition:min-height .26s cubic-bezier(.22,.68,.28,1)}
[data-movimento="reduzido"] .modal{transition:none}
.modal h3{font-size:18px;margin-bottom:4px}
.modal .dica{font-size:12.5px;color:var(--grafite);margin-bottom:16px}
.campo{margin-bottom:13px}
.campo label{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grafite);font-weight:600;margin-bottom:5px}
.acoes-modal{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}
.resumo-calc{background:var(--concreto);border-radius:8px;padding:12px 14px;font-size:13px;margin-top:6px}
.resumo-calc div{display:flex;justify-content:space-between;padding:2px 0}
.resumo-calc .total{border-top:1px solid var(--regua);margin-top:6px;padding-top:7px;font-weight:700}

.graf{background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);padding:15px 14px 8px;box-shadow:var(--sombra)}
.barra-unid{display:flex;gap:12px;align-items:center;margin:18px 0 14px;flex-wrap:wrap}
.campo-busca{position:relative;flex:1;min-width:220px;display:flex;align-items:center;gap:8px}
.campo-busca svg{position:absolute;left:12px;width:17px;height:17px;fill:none;stroke:var(--grafite);
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.campo-busca .entrada{padding-left:38px}
.campo-busca .bt{position:absolute;right:6px}
.grade-unid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px}
.ficha-unid{display:flex;flex-direction:column;gap:12px;text-align:left;padding:16px;min-width:0;overflow:hidden;
  background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);
  box-shadow:var(--sombra);transition:.16s;color:var(--tinta)}
.ficha-unid:hover{border-color:var(--indigo);transform:translateY(-2px);box-shadow:var(--sombra-forte)}
.ficha-unid.vazia{border-style:dashed}
.fu-topo{display:flex;align-items:center;gap:12px}
.selo-unid{width:42px;height:42px;border-radius:13px;flex:none;display:flex;align-items:center;
  justify-content:center;font-family:var(--display);font-weight:800;font-size:16px;
  background:linear-gradient(140deg,var(--marca-a),var(--marca-b));color:#fff}
.selo-unid.grande{width:54px;height:54px;border-radius:17px;font-size:20px}
.fu-nome{min-width:0}
.fu-nome b{display:block;font-size:16px;font-family:var(--display);letter-spacing:-.01em}
.fu-nome small{display:block;color:var(--grafite);font-size:13px;margin-top:2px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-linhas{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--grafite);min-width:0}
.fu-linhas span{display:flex;align-items:center;gap:8px;min-width:0}
.fu-linhas span > *{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fu-linhas svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.fu-falta{color:var(--indigo);font-weight:500}
.fu-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-top:11px;border-top:1px solid var(--regua)}
.fu-abrir{font-size:12px;color:var(--grafite)}
.ficha-unid:hover .fu-abrir{color:var(--indigo)}
.abrir-mes{background:var(--papel);border:1px dashed var(--regua);border-radius:var(--r);
  padding:30px 26px;text-align:center;display:flex;flex-direction:column;align-items:center;
  box-shadow:var(--sombra)}
.icone-abrir{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--marca-a),var(--marca-b));color:#fff;
  box-shadow:0 14px 30px -14px rgba(124,92,255,.9);margin-bottom:16px;flex:none}
.icone-abrir svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.icone-abrir.pq{width:42px;height:42px;border-radius:13px;margin:0}
.icone-abrir.pq svg{width:20px;height:20px}
.abrir-mes h3{font-size:19px;margin:0}
.abrir-mes p{color:var(--grafite);font-size:13.5px;line-height:1.6;margin:8px 0 20px;max-width:460px}
.previa-abrir{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;width:100%;
  max-width:520px;margin-bottom:20px;min-width:0}
.previa-abrir > div{min-width:0}
.previa-abrir > div{background:var(--sutil);border:1px solid var(--regua);border-radius:12px;padding:12px 8px}
.previa-abrir b{display:block;font-family:var(--mono);font-size:16px;font-weight:700}
.previa-abrir small{display:block;color:var(--grafite);font-size:11px;margin-top:3px}
.abrir-mes .bt.larga{max-width:320px;min-height:46px}
.abrir-mes .ajuda{margin-top:10px}
.faixa-abrir{display:flex;align-items:center;gap:14px;background:var(--papel);
  border:1px solid var(--regua);border-radius:var(--r);padding:14px 16px;margin-bottom:14px;
  box-shadow:var(--sombra)}
.faixa-abrir > div{flex:1;min-width:0}
.faixa-abrir b{display:block;font-size:15px}
.faixa-abrir small{display:block;color:var(--grafite);font-size:12.5px;margin-top:2px}
.faixa-abrir .bt{flex:none}
.lista-contatos{display:flex;flex-direction:column;gap:8px}
.linha-contato{display:flex;align-items:center;gap:8px}
.linha-contato .entrada{flex:1 1 0;min-width:0;text-overflow:ellipsis}
.entrada.ok{border-color:var(--verde);background:color-mix(in srgb, var(--verde-suave) 60%, var(--papel))}
.entrada.erro{border-color:var(--carimbo);background:color-mix(in srgb, var(--carimbo-suave) 60%, var(--papel))}
.entrada.incompleto{border-color:var(--ambar)}
.ajuda.erro{color:var(--carimbo)}
.aviso-campo{margin:2px 0 0 42px}
.ic-contato{width:34px;height:34px;flex:none;border-radius:10px;background:var(--sutil);
  border:1px solid var(--regua);display:flex;align-items:center;justify-content:center;color:var(--grafite)}
.ic-contato svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.linha-contato .bt{flex:none;min-height:34px;padding:6px 9px}
.linha-contato .bt svg{margin:0;width:15px;height:15px}
.bt.copiado{background:var(--verde-suave);border-color:var(--verde);color:var(--verde)}
.bt.larga{width:100%}
.fu-linhas .corta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}
.fu-linhas .mais{flex:none;font-size:10.5px;font-weight:700;background:var(--sutil);
  border-radius:6px;padding:2px 6px;color:var(--grafite)}
.cabeca-ficha{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.cabeca-ficha h3{font-size:20px;margin:0}
.cabeca-ficha small{display:block;color:var(--grafite);font-size:12.5px;margin-top:3px}
.grupo-ficha{margin-bottom:18px}
.grupo-ficha .rot-barra{margin-bottom:10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--grafite);font-weight:700}
.resumo-ficha{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.resumo-ficha > div{min-width:0}
.resumo-ficha > div{background:var(--sutil);border:1px solid var(--regua);border-radius:11px;
  padding:11px 12px;text-align:center}
.resumo-ficha b{display:block;font-family:var(--mono);font-size:17px;font-weight:700}
.resumo-ficha small{display:block;color:var(--grafite);font-size:11px;margin-top:2px}
.barra-periodo{position:relative;display:flex;flex-wrap:wrap;gap:9px;align-items:center;background:var(--papel);
  border:1px solid var(--regua);border-radius:12px;padding:8px 10px;margin-bottom:8px}
.passo-ano{display:flex;align-items:center;gap:4px}
.passo-ano > .bt.leve{min-height:42px;padding:4px 11px;font-size:16px;border-radius:11px;flex:none}
.passo-ano .suspenso{width:auto}
.barra-periodo .suspenso{width:auto}
.barra-periodo .bt.seletor{width:auto}
/* ---------- seletor suspenso, padrão único do sistema ---------- */
.bt.seletor{width:100%;min-width:0;justify-content:flex-start;text-align:left;
  padding:9px 12px;min-height:42px;border-radius:11px;font-size:14px;font-weight:500;
  background:var(--papel);color:var(--tinta)}
.bt.seletor:hover{border-color:var(--indigo)}
.bt.seletor.aberto{border-color:var(--indigo);color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-suave)}
.bt.seletor > span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt.seletor .seta{flex:none;margin-left:6px;font-size:11px;opacity:.6}
.bt.seletor svg{flex:none;width:17px;height:17px;margin:0 8px 0 0;opacity:.75}
.bt.seletor.sel-ano{font-family:var(--display);font-weight:700;font-size:15px;justify-content:center}
.bt.seletor.sel-ano > span:first-of-type{flex:none;text-align:center}
.grade-anos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ano-quadro{border:1px solid var(--regua);background:var(--papel);border-radius:11px;padding:13px 6px;
  display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;transition:.14s}
.ano-quadro b{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.02em}
.ano-quadro small{font-size:10.5px;color:var(--grafite);text-align:center}
.ano-quadro:hover{border-color:var(--tinta)}
.ano-quadro.ativo{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto)}
.ano-quadro.ativo small{color:var(--destaque-texto);opacity:.75}

.suspenso{position:relative;display:inline-flex}
.suspenso .gatilho{display:inline-flex;align-items:center;gap:7px}
.suspenso .gatilho .seta{font-size:10px;opacity:.55}
.suspenso .gatilho.aberto{border-color:var(--indigo);color:var(--indigo)}
.painel-suspenso{position:absolute;top:calc(100% + 5px);left:0;z-index:45;background:var(--papel);
  border:1px solid var(--regua);border-radius:12px;box-shadow:var(--sombra-forte);padding:5px;
  min-width:190px;max-width:min(300px, calc(100vw - 28px));max-height:min(62vh,360px);overflow:auto;
  transform-origin:top center;animation:esticarPainel .2s cubic-bezier(.22,.68,.28,1)}
.painel-suspenso.direita{left:auto;right:0}
.painel-suspenso.acima{top:auto;bottom:calc(100% + 5px);transform-origin:bottom center}
[data-movimento="reduzido"] .painel-suspenso{animation:none}
/* seletor de formulário: o mesmo painel dos demais menus, mas guardando um valor */
.campo-sel{width:100%}
.campo-sel .painel-suspenso{min-width:100%}
.campo-sel .painel-suspenso[hidden]{display:none}
.item-suspenso{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  padding:8px 11px;border:0;background:none;border-radius:9px;text-align:left;font-size:13.5px;
  color:var(--tinta);transition:.12s}
.item-suspenso:hover{background:var(--sutil)}
.item-suspenso.ativo{background:var(--indigo-suave);color:var(--indigo);font-weight:600}
.item-suspenso small{color:var(--grafite);font-size:11.5px;white-space:nowrap;flex:none}
.item-suspenso > span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-suspenso.ativo small{color:var(--indigo);opacity:.8}
.grade-anos{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:3px}
.ano-mini{border:1px solid var(--regua);background:var(--papel);border-radius:8px;min-height:34px;padding:2px 4px;
  font-family:var(--mono);font-size:12.5px;color:var(--grafite);display:flex;flex-direction:column;
  align-items:center;justify-content:center;line-height:1.1;gap:1px}
.ano-mini small{font-size:9px;opacity:.75}
.ano-mini:hover{border-color:var(--tinta);color:var(--tinta)}
.ano-mini.ativo{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto)}
.ano-mini.sem-dados{opacity:.45}
.ano-mini.hoje{box-shadow:inset 0 0 0 1px var(--indigo)}
.grade-meses-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:3px}
.mes-mini{border:1px solid var(--regua);background:var(--papel);border-radius:8px;height:32px;padding:0;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:600;color:var(--grafite);transition:.12s}
.mes-mini:hover{border-color:var(--tinta);color:var(--tinta)}
.mes-mini.ativo{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto)}
.mes-mini.sem-dados{opacity:.45}
.sep-suspenso{border-top:1px solid var(--regua);margin:6px 3px}
.atalhos-mini{display:flex;flex-wrap:wrap;gap:4px;padding:3px}
.atalho-mini{border:0;background:var(--sutil);border-radius:7px;padding:5px 8px;font-size:11.5px;
  color:var(--grafite);font-weight:600;transition:.12s}
.atalho-mini:hover{background:var(--indigo-suave);color:var(--indigo)}
.grupo-filtro .suspenso{width:100%}
.grade-meses{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.mes-quadro{border:1px solid var(--regua);background:var(--papel);border-radius:10px;padding:9px 4px;
  display:flex;flex-direction:column;gap:2px;align-items:center;transition:.14s}
.mes-quadro b{font-size:13.5px;font-weight:700}
.mes-quadro small{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--grafite)}
.mes-quadro:hover{border-color:var(--tinta)}
.mes-quadro.ativo{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto)}
.mes-quadro.ativo small{color:var(--destaque-texto);opacity:.75}
.mes-quadro.sem-dados{opacity:.5}
.chip-mes{border:1px solid var(--regua);background:var(--papel);color:var(--grafite);border-radius:9px;
  padding:6px 11px;font-size:12.5px;font-weight:600;transition:.14s}
.chip-mes:hover{border-color:var(--tinta);color:var(--tinta)}
.chip-mes.ativo{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto)}
.chip-mes[data-vazio]{opacity:.45}
.aviso-filtro{font-size:12px;color:var(--grafite);margin-left:auto}
.tipos-graf{display:flex;gap:4px;background:var(--sutil);border:1px solid var(--regua);
  border-radius:9px;padding:3px;margin-bottom:12px;width:fit-content;max-width:100%;overflow-x:auto}
.tipos-graf button{border:0;background:none;color:var(--grafite);padding:6px 12px;border-radius:7px;
  font-size:12.5px;font-weight:600;white-space:nowrap;transition:.14s}
.tipos-graf button:hover{color:var(--tinta)}
.tipos-graf button.ativo{background:var(--papel);color:var(--tinta);box-shadow:var(--sombra)}
.legenda-graf{display:flex;flex-wrap:wrap;gap:7px 16px;font-size:12px;color:var(--grafite);margin-bottom:12px}
.legenda-graf span{display:inline-flex;align-items:center;gap:6px}
.legenda-graf i{width:10px;height:10px;border-radius:2px;display:inline-block;flex:none}
.legenda-graf b{color:var(--tinta);font-family:var(--mono);font-weight:600}
.vazio{text-align:center;padding:34px 20px;color:var(--grafite);font-size:13.5px}
.vazio p{margin:0 0 14px}
.aviso{background:var(--ambar-suave);border:1px solid var(--ambar);border-radius:8px;padding:11px 14px;font-size:13px;color:var(--ambar);margin-bottom:14px}
.aviso.bloqueio{background:var(--carimbo-suave);border-color:var(--carimbo);color:var(--carimbo)}
.sino{position:relative}
.ponto-novo{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;
  background:var(--acao);box-shadow:0 0 0 2px var(--papel)}
button.versao-menu{background:none;border:0;text-align:left;cursor:pointer;font:inherit;font-size:11.5px;color:var(--menu-fraco)}
button.versao-menu:hover{color:var(--menu-texto);text-decoration:underline;opacity:1}
.link-versao{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted}
.link-versao:hover{color:var(--indigo)}
.lista-novidades{display:flex;flex-direction:column;gap:10px;margin:4px 0 6px}
.novidade{border:1px solid var(--regua);border-radius:12px;padding:12px 14px;background:var(--papel)}
.novidade.atual{border-color:var(--indigo);background:color-mix(in srgb, var(--indigo-suave) 55%, var(--papel))}
.nov-topo{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--grafite)}
.nov-topo b{font-family:var(--mono);color:var(--tinta);font-size:13px}
.novidade h4{font-size:14px;margin:4px 0 6px}
.novidade ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.novidade li{font-size:12.5px;line-height:1.45;color:var(--tinta)}
.modo-baixa{margin:0 0 14px}
.modo-baixa .opcao{flex:1}
.bloco-parciais{border:1px solid var(--regua);border-radius:11px;padding:10px 12px;margin:4px 0 14px;background:var(--sutil)}
.bloco-parciais .rot-barra{margin-bottom:6px}
.parcela-cob{display:grid;grid-template-columns:1fr auto 34px;align-items:center;gap:10px;font-size:13px;padding:3px 0}
.parcela-cob .num{font-family:var(--mono)}
.parcela-cob.total{border-top:1px dashed var(--regua);margin-top:4px;padding-top:7px;font-weight:600}
.parcial-info{font-size:11.5px;color:var(--ambar);font-weight:600;margin-top:2px}
.l-cob .data-cob{white-space:nowrap}
.faixa-parcial{grid-column:2 / -1;margin-top:2px;padding:9px 12px 10px;border-radius:10px;
  border:1px solid color-mix(in srgb, var(--ambar) 30%, var(--regua));
  background:color-mix(in srgb, var(--ambar-suave) 55%, transparent);cursor:pointer;transition:.14s}
.faixa-parcial:hover{border-color:var(--ambar)}
.faixa-parcial:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.fp-topo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--grafite)}
.fp-soma b{font-family:var(--mono);color:var(--tinta)}
.fp-falta{margin-left:auto}
.fp-falta b{font-family:var(--mono);color:var(--ambar)}
.fp-barra{height:5px;border-radius:4px;background:color-mix(in srgb, var(--regua) 70%, transparent);overflow:hidden;margin:8px 0}
.fp-barra i{display:block;height:100%;border-radius:4px;background:var(--ok)}
.fp-partes{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11.5px}
.fp-parte{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;
  background:var(--papel);border:1px solid var(--regua);color:var(--grafite)}
.fp-parte svg{width:12px;height:12px;flex:none;fill:none;stroke:var(--ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.fp-parte b{font-family:var(--mono);color:var(--tinta);font-weight:600}
.fp-mais{color:var(--grafite)}
.fp-ver{margin-left:auto;color:var(--indigo);font-weight:600}
[data-tela="celular"] .l-cob .faixa-parcial{grid-column:1 / -1;grid-row:3}
[data-largura="estreita"] .l-cob .faixa-parcial{grid-column:1 / -1}
.etq-bt{border:0;cursor:pointer;margin-left:5px}
.etq-bt:hover{filter:brightness(.95);text-decoration:underline}
.barra-ocultas{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin:-2px 0 10px;padding:6px 6px 6px 12px;border:1px solid var(--regua);border-radius:12px;
  background:color-mix(in srgb, var(--sutil) 70%, var(--papel))}
.bo-info{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--grafite)}
.bo-info svg{width:16px;height:16px;flex:none;opacity:.8}
.bo-info b{color:var(--tinta);font-family:var(--mono)}
.bo-acoes{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.bo-bt{display:inline-flex;align-items:center;gap:7px;background:var(--papel);border:1px solid var(--regua);
  border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--tinta);transition:.14s;
  white-space:nowrap;min-height:34px}
.bo-bt svg{margin:0;width:15px;height:15px}
.bo-bt:hover{border-color:var(--indigo);color:var(--indigo)}
.bo-bt.ligado{background:var(--indigo-suave);border-color:var(--indigo);color:var(--indigo)}
.bo-bt.forte{background:var(--acao);border-color:var(--acao);color:var(--acao-texto)}
.bo-bt.forte:hover{filter:brightness(1.08);color:var(--acao-texto);border-color:var(--acao)}
.bo-num{font-family:var(--mono);font-size:11px;line-height:1;padding:3px 6px;border-radius:999px;
  background:var(--sutil);color:var(--grafite)}
.bo-bt.forte .bo-num{background:rgba(255,255,255,.22);color:var(--acao-texto)}
[data-tela="celular"] .barra-ocultas{padding:8px}
[data-tela="celular"] .bo-acoes{width:100%}
[data-tela="celular"] .bo-bt{flex:1 1 auto;justify-content:center;padding:6px 9px}
.bt.so-icone.apagar:hover{color:var(--carimbo);border-color:var(--carimbo)}
.linha-marcar{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--tinta);
  cursor:pointer;margin:2px 0 14px;text-align:left}
.linha-marcar input[type="checkbox"]{width:18px;height:18px}
.acesso .linha-marcar{color:var(--ac-texto)}
.bloco-ident [hidden]{display:none}
.bloco-ident .parte-endereco{animation:surgirLeve .18s ease-out}
.ok-cnpj{display:inline-flex;align-items:center;gap:5px;color:var(--ok);font-weight:600}
.ok-cnpj svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.erro-cnpj{color:var(--carimbo);font-weight:600}
.acesso .ok-cnpj{color:#5FD3A6}.acesso .erro-cnpj{color:#FF8A7A}
.mobile-so{display:none}
.desktop-so{display:block}
.so-peq{display:none}

/* ---------- Responsivo ---------- */
[data-tela="celular"] /* ---------- estrutura ---------- */
  .app{grid-template-columns:1fr}
[data-tela="celular"] body{font-size:15px}
[data-tela="celular"] .conteudo{padding:20px 14px 108px}
[data-tela="celular"] .mobile-so{display:block}
[data-tela="celular"] .so-peq{display:inline}
[data-tela="celular"] .desktop-so{display:none}
[data-tela="celular"] /* barra inferior com alvos de toque decentes */
  .lateral{
    position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;
    flex-direction:row;padding:8px 4px calc(8px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(255,255,255,.14);z-index:40;
  }
[data-tela="celular"] .marca, [data-tela="celular"] .pe-lateral{display:none}
[data-tela="celular"] .barra-topo{padding:8px 12px;min-height:52px;gap:8px}
[data-tela="celular"] .perfil-topo-txt,[data-tela="celular"] .trilha .alternar-menu,[data-tela="celular"] .trilha-sep,
[data-tela="celular"] .trilha-item:not(.atual){display:none}
[data-tela="celular"] .trilha{gap:9px;font-size:15px}
/* com o texto ampliado o título da aba não cabia ao lado da marca e dos ícones */
[data-largura="estreita"] .trilha{gap:7px;font-size:13.5px}
[data-largura="estreita"] .barra-topo{gap:6px;padding-left:10px;padding-right:10px}
[data-tela="celular"] .logo-topo{display:block}
[data-tela="celular"] .perfil-topo{padding:3px}
[data-tela="celular"] .recolher-barra{display:none!important}
[data-tela="celular"] .nav{flex-direction:row;width:100%;gap:0}
[data-tela="celular"] .nav button{flex:1;flex-direction:column;gap:4px;font-size:10px;padding:8px 2px;
    text-align:center;letter-spacing:.02em;min-height:52px;justify-content:center}
[data-tela="celular"] .nav button[aria-current="true"]{background:rgba(255,255,255,.16);color:var(--menu-titulo)}
[data-tela="celular"] .nav .ic{width:21px;height:21px;opacity:1}
[data-tela="celular"] .nav .ic svg{width:21px;height:21px}
[data-tela="celular"] .rot-longo{display:none}
[data-tela="celular"] .rot-curto{display:inline}
[data-tela="celular"] /* ---------- cabeçalho ---------- */
  .topo{align-items:stretch;flex-direction:column;gap:14px;margin-bottom:20px}
[data-tela="celular"] .topo h1{font-size:24px}
[data-tela="celular"] .topo .legenda{font-size:13.5px}
[data-tela="celular"] .chip-cond{padding:6px 13px;font-size:11.5px}
[data-tela="celular"] .seletor-mes{justify-content:space-between;padding:5px}
[data-tela="celular"] .seletor-mes button{padding:9px 14px;font-size:18px;min-height:42px}
[data-tela="celular"] .seletor-mes .rotulo{font-size:15px;flex:1}
[data-tela="celular"] .seletor-mes{min-width:0;max-width:100%;gap:2px}
[data-tela="celular"] .seletor-mes > .bt.pq{display:none}
[data-tela="celular"] .seletor-mes .rotulo-mes{flex:1;min-width:0;padding:9px 6px;font-size:15px;
  justify-content:center}
[data-tela="celular"] .seletor-mes .rotulo-mes > span:first-of-type{overflow:hidden;text-overflow:ellipsis}
[data-largura="estreita"] .seletor-mes .rotulo-mes{font-size:13.5px}
[data-tela="celular"] .titulo-secao{flex-direction:column;align-items:flex-start;gap:3px;margin:26px 0 11px}
[data-tela="celular"] .titulo-secao h2{font-size:17px}
[data-tela="celular"] .titulo-secao .aux{font-size:12.5px}
[data-tela="celular"] /* ---------- botões maiores ---------- */
  .bt{padding:10px 15px;font-size:14px;min-height:42px;display:inline-flex;
    align-items:center;justify-content:center}
[data-tela="celular"] .bt.pq{padding:8px 13px;font-size:13.5px;min-height:38px}
[data-tela="celular"] .bt.leve{min-height:38px;padding:8px 10px}
[data-tela="celular"] .check{width:24px;height:24px;font-size:14px;border-radius:7px}
[data-tela="celular"] .entrada{padding:10px 12px;font-size:15px}
[data-tela="celular"] .entrada.pq{padding:9px 10px;font-size:14px}
[data-tela="celular"] .moeda .entrada{padding-left:36px}
[data-tela="celular"] .moeda > .cifrao{left:12px;font-size:13px}
[data-tela="celular"] /* ---------- indicadores viram uma ficha só ---------- */
  .grade.g4, [data-tela="celular"] .grade.g3{display:block;background:var(--papel);border:1px solid var(--regua);
    border-radius:var(--r);overflow:hidden}
[data-tela="celular"] .grade.g4 > .cartao, [data-tela="celular"] .grade.g3 > .cartao{
    border:0;border-top:1px solid var(--regua);border-radius:0;padding:14px 16px;
    display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px}
[data-tela="celular"] .grade.g4 > .cartao:first-child, [data-tela="celular"] .grade.g3 > .cartao:first-child{border-top:0}
[data-tela="celular"] .grade .indicador.destaque{background:var(--indigo-suave)}
[data-tela="celular"] .grade .indicador.destaque .rotulo{color:var(--indigo)}
[data-tela="celular"] .grade .indicador.destaque .nota{color:var(--grafite)}
[data-tela="celular"] .grade .indicador.destaque .valor{color:var(--indigo)}
[data-tela="celular"] .indicador .rotulo{font-size:10.5px;letter-spacing:.11em;order:1}
[data-tela="celular"] .indicador .valor{font-size:20px;margin-top:0;order:2;letter-spacing:-.03em}
[data-tela="celular"] .indicador .nota{font-size:12px;margin-top:2px;order:3;flex-basis:100%}
[data-tela="celular"] .g2{grid-template-columns:1fr;gap:0}
[data-tela="celular"] .ajustes-layout{grid-template-columns:1fr;gap:12px}
[data-tela="celular"] .cabeca-cob{padding:14px}
[data-tela="celular"] .filtros-cob{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px}
[data-tela="celular"] .filtros-cob::-webkit-scrollbar{display:none}
[data-tela="celular"] .chip-cob{flex:none}
[data-tela="celular"] .selo-cob{width:30px;height:30px;border-radius:9px;font-size:12px}
[data-tela="celular"] .selo-cat{width:30px;height:30px;border-radius:9px}
[data-tela="celular"] .selo-cat svg{width:15px;height:15px}
[data-largura="estreita"] .resumo-desp{grid-template-columns:1fr}
[data-tela="celular"] #avisoRapido{bottom:calc(74px + env(safe-area-inset-bottom));left:12px;right:12px;transform:none;max-width:none}
[data-tela="celular"] .resumo-ficha{grid-template-columns:1fr 1fr}
[data-tela="celular"] .resumo-ficha.quatro{grid-template-columns:1fr 1fr}
[data-tela="celular"] .indice-ajustes{position:static;flex-direction:row;overflow-x:auto;
  scrollbar-width:none;padding:6px;gap:6px}
[data-tela="celular"] .indice-ajustes::-webkit-scrollbar{display:none}
[data-tela="celular"] .indice-ajustes button{flex:none;flex-direction:column;gap:6px;text-align:center;
  min-width:82px;padding:10px 8px}
[data-tela="celular"] .txt-secao small{display:none}
[data-tela="celular"] .txt-secao b{font-size:12.5px}
[data-tela="celular"] .grade > *{min-width:0}
[data-tela="celular"] .cartao .trilho{flex-wrap:wrap}
[data-tela="celular"] .item-predio,[data-tela="celular"] .item-predio .dados{min-width:0}
[data-tela="celular"] .g-fluxo{grid-template-columns:1fr;gap:12px}
[data-tela="celular"] /* ---------- listas: cartões espaçados, [data-tela="celular"] sem corte ---------- */
  .lista{border-radius:12px}
[data-tela="celular"] .linha{grid-template-columns:1fr auto;row-gap:6px;padding:15px 16px;align-items:center}
[data-tela="celular"] .linha.cabecalho{display:none}
[data-tela="celular"] .linha .desc{font-size:15px}
[data-tela="celular"] .meta-desc{font-size:12.5px;line-height:1.45}
[data-tela="celular"] .dinheiro{font-size:15px}
[data-tela="celular"] .trilho{gap:8px;flex-wrap:wrap}
[data-tela="celular"] /* cobranças */
  .l-cob{grid-template-columns:24px 1fr auto;column-gap:12px;row-gap:10px;padding:15px 16px}
[data-tela="celular"] .l-cob .c-check{grid-column:1;grid-row:1/3;align-self:start;margin-top:1px}
[data-tela="celular"] .l-cob .c-unid{grid-column:2;grid-row:1;min-width:0}
[data-tela="celular"] .l-cob .c-status{grid-column:3;grid-row:1;align-self:start}
[data-tela="celular"] .l-cob .c-valor{grid-column:2;grid-row:2;text-align:left}
[data-tela="celular"] .l-cob .c-acao{grid-column:3;grid-row:2;align-self:center}
[data-tela="celular"] .l-cob .unid{font-size:16px}
[data-tela="celular"] .l-cob .meta-desc, [data-tela="celular"] .l-cob .unid{white-space:normal;overflow:visible;text-overflow:clip}
[data-tela="celular"] /* despesas */
  .l-desp{grid-template-columns:24px 1fr 106px;column-gap:10px;row-gap:9px;padding:15px 16px}
[data-tela="celular"] .l-desp > *{min-width:0}
[data-tela="celular"] .l-desp .col-quando{white-space:normal}
[data-tela="celular"] .l-desp .c-check{grid-column:1;grid-row:1/3;align-self:start;margin-top:1px}
[data-tela="celular"] .l-desp .c-desc{grid-column:2;grid-row:1;min-width:0}
[data-tela="celular"] .l-desp .col-acao{grid-column:3;grid-row:1;text-align:right}
[data-tela="celular"] .l-desp .col-quando{grid-column:2;grid-row:2;text-align:left;align-self:center}
[data-tela="celular"] .l-desp .col-valor{grid-column:3;grid-row:2}
[data-tela="celular"] /* unidades: campos como texto, [data-tela="celular"] sem caixas */
  .l-unid{grid-template-columns:1fr auto;row-gap:2px;padding:14px 16px}
[data-tela="celular"] .l-unid > *:nth-child(1){grid-column:1;grid-row:1}
[data-tela="celular"] .l-unid > *:nth-child(4){grid-column:2;grid-row:1;text-align:right;white-space:nowrap}
[data-tela="celular"] .l-unid > *:nth-child(2){grid-column:1/3;grid-row:2}
[data-tela="celular"] .l-unid > *:nth-child(3){grid-column:1/3;grid-row:3}
[data-tela="celular"] .l-unid .entrada{border:0;background:transparent;border-radius:0;padding:5px 0;
    border-bottom:1px solid transparent}
[data-tela="celular"] .l-unid > *:nth-child(1) .entrada{font-family:var(--display);font-weight:700;font-size:16px;padding-top:0}
[data-tela="celular"] .l-unid > *:nth-child(2) .entrada{font-size:14.5px}
[data-tela="celular"] .l-unid > *:nth-child(3) .entrada{font-size:13.5px;color:var(--grafite);font-family:var(--mono)}
[data-tela="celular"] .l-unid .entrada:focus{outline:none;border-bottom-color:var(--indigo);background:transparent}
[data-tela="celular"] .l-unid .entrada::placeholder{color:var(--grafite);opacity:.6}
[data-tela="celular"] /* atrasos */
  .l-atraso, [data-tela="celular"] .l-hist{grid-template-columns:1fr auto;row-gap:10px;padding:15px 16px}
[data-tela="celular"] .l-atraso .dinheiro, [data-tela="celular"] .l-hist .dinheiro{text-align:right}
[data-tela="celular"] .l-atraso .trilho, [data-tela="celular"] .l-hist .trilho{grid-column:1/3;justify-content:flex-end}
[data-tela="celular"] .l-conta{grid-template-columns:34px 1fr auto;row-gap:10px}
[data-tela="celular"] .l-conta .bt{grid-column:2/4;justify-self:end}
[data-tela="celular"] .l-hist > *:nth-child(2){grid-column:1/3;grid-row:2}
[data-tela="celular"] .l-hist > *:nth-child(3){grid-column:1/3;grid-row:3;text-align:left}
[data-tela="celular"] .l-hist .trilho{grid-row:4}
[data-tela="celular"] /* extrato do caixa */
  .l-extrato{grid-template-columns:1fr auto;row-gap:5px;padding:14px 16px}
[data-tela="celular"] .l-extrato > *:nth-child(3){grid-column:1/3;text-align:left;font-size:12px;color:var(--grafite)}
[data-tela="celular"] .l-extrato > *:nth-child(3)::before{content:"saldo depois: "}
[data-tela="celular"] /* despesas por tipo */
  .l-cat{grid-template-columns:1fr auto;row-gap:8px;padding:14px 16px}
[data-tela="celular"] .l-cat > div:nth-child(2){grid-column:1/3;order:3}
[data-tela="celular"] /* fundo e obras */
  .l-meta{grid-template-columns:1fr auto;row-gap:6px;padding:15px 16px}
[data-tela="celular"] .l-meta > div:nth-child(3), [data-tela="celular"] .l-meta > div:nth-child(4){grid-column:1/3;text-align:left;
    font-size:13px;color:var(--grafite)}
[data-tela="celular"] /* despesas fixas nos ajustes */
  .barra-periodo .suspenso{position:static}
[data-tela="celular"] .barra-periodo .painel-suspenso{left:0;right:0;width:auto;min-width:0!important;max-width:none}
[data-tela="celular"] .barra-acoes{flex-direction:column;align-items:stretch;row-gap:12px;padding:14px 15px}
[data-tela="celular"] .acoes-lista{flex-direction:column;align-items:stretch;justify-content:flex-start}
[data-tela="celular"] .acoes-lista .bt{width:100%}
[data-tela="celular"] .tira-escolha{padding:12px}
[data-tela="celular"] .tira-escolha .bt:first-child{flex:1 1 100%;justify-content:center}
[data-tela="celular"] .lista-lim .l-lim{grid-template-columns:1fr;row-gap:10px}
[data-tela="celular"] .l-user{grid-template-columns:38px 1fr auto;row-gap:7px;padding:14px 15px}
[data-tela="celular"] .l-user > *:nth-child(3){grid-column:3;grid-row:1;text-align:right}
[data-tela="celular"] .l-user > *:nth-child(4), [data-tela="celular"] .l-user > *:nth-child(5){grid-column:2/4;text-align:left}
[data-tela="celular"] .l-user > *:nth-child(6){grid-column:1/4;justify-content:flex-end}
[data-tela="celular"] .grade-filtro{grid-template-columns:repeat(auto-fit, minmax(132px, 1fr))}
[data-tela="celular"] .grade-filtro .grupo-filtro:last-child{grid-column:1/-1}
[data-tela="celular"] .grade-filtro .entrada{min-width:0;width:100%}
[data-tela="celular"] .filtros-aud{padding:14px}
[data-tela="celular"] .l-aud{grid-template-columns:1fr auto;row-gap:5px;padding:14px 15px}
[data-tela="celular"] .l-aud > *:nth-child(1){grid-column:2;grid-row:1;text-align:right}
[data-tela="celular"] .l-aud > *:nth-child(2){grid-column:1;grid-row:1}
[data-tela="celular"] .l-aud > *:nth-child(3){grid-column:1/3;grid-row:2}
[data-tela="celular"] .l-aud > *:nth-child(4){grid-column:1/3;grid-row:3;font-size:11.5px}
[data-tela="celular"] .nav{overflow-x:auto;scrollbar-width:none}
[data-tela="celular"] .nav::-webkit-scrollbar{display:none}
[data-tela="celular"] .nav button{min-width:60px}
[data-tela="celular"] .l-mod{grid-template-columns:1fr 96px 28px;gap:10px;row-gap:10px;padding:14px 14px}
[data-tela="celular"] .l-mod .m-nome{grid-column:1/3;grid-row:1}
[data-tela="celular"] .l-mod .m-del{grid-column:3;grid-row:1}
[data-tela="celular"] .l-mod .m-tipo{grid-column:1;grid-row:2}
[data-tela="celular"] .l-mod .m-val{grid-column:2/4;grid-row:2}
[data-tela="celular"] .l-mod .m-per{grid-column:1/4;grid-row:3}
[data-tela="celular"] /* rodapés de lista: botão em cima, [data-tela="celular"] total embaixo */
  .l-rodape{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}
[data-tela="celular"] .l-rodape .trilho{flex-direction:column;align-items:stretch;gap:8px}
[data-tela="celular"] .l-rodape .dinheiro{text-align:left;font-weight:700}
[data-tela="celular"] .l-rodape .bt{width:100%}
[data-tela="celular"] /* ---------- metas e gráficos ---------- */
  .meta{padding:16px;border-radius:12px}
[data-tela="celular"] .meta h3{font-size:16px}
[data-tela="celular"] .barra{height:26px}
[data-tela="celular"] .legenda-graf{font-size:12.5px;gap:6px 14px}
[data-tela="celular"] .parcela{font-size:13px;padding:5px 0}
[data-tela="celular"] .graf{padding:16px 14px 10px;border-radius:12px}
[data-tela="celular"] /* a tabela do ano dá lugar às fichas por mês */
  .rolagem{display:none}
[data-tela="celular"] /* ---------- modais viram folha de baixo ---------- */
  .fundo-modal{align-items:flex-end;padding:0}
[data-tela="celular"] .modal{max-width:none;border-radius:18px 18px 0 0;max-height:92vh;
    padding:22px 18px calc(22px + env(safe-area-inset-bottom))}
[data-tela="celular"] .modal h3{font-size:19px}
[data-tela="celular"] .campo label{font-size:11.5px}
[data-tela="celular"] .acoes-modal{gap:10px}
[data-tela="celular"] .acoes-modal .bt{flex:1;min-height:46px}
[data-tela="celular"] .opcao-cond{padding:14px}

.dobra{margin-top:10px}
.dobra-cab{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--papel);border:1px solid var(--regua);border-radius:10px;padding:13px 15px;
  font-size:13.5px;font-weight:500;color:var(--tinta);text-align:left}
.dobra-cab .seta{font-size:12px;color:var(--indigo);font-weight:600;white-space:nowrap}
.dobra.aberta .dobra-cab{border-radius:10px 10px 0 0;border-bottom:0;background:var(--sutil)}
.dobra-corpo{border:1px solid var(--regua);border-top:0;border-radius:0 0 10px 10px;overflow:hidden}
.dobra-corpo > .lista{border:0;border-radius:0}
.dobra-corpo > .miolo{padding:14px 15px}
.ficha-mes{border-top:1px solid var(--regua);padding:15px 16px}
.ficha-mes:first-child{border-top:0}
.ficha-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.ficha-topo .nome{font-family:var(--display);font-weight:700;font-size:16px}
.ficha-grade{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.ficha-grade > div{display:flex;flex-direction:column;gap:2px}
.ficha-grade span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--grafite);font-weight:600}
.ficha-grade b{font-family:var(--mono);font-weight:600;font-size:14px}
.ficha-sobra{display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-top:12px;padding-top:10px;border-top:1px dashed var(--regua)}
.ficha-sobra span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--grafite);font-weight:600}
.ficha-sobra b{font-family:var(--mono);font-weight:700;font-size:17px}
.sub-abas{display:flex;gap:6px;background:var(--sutil);border:1px solid var(--regua);
  border-radius:12px;padding:5px;margin-bottom:18px;overflow-x:auto}
.sub-abas button{flex:1;white-space:nowrap;border:0;background:none;color:var(--grafite);
  padding:9px 14px;border-radius:8px;font-size:13.5px;font-weight:600;transition:.14s}
.sub-abas button:hover{color:var(--tinta)}
.sub-abas button.ativa{background:var(--papel);color:var(--tinta);box-shadow:var(--sombra)}
/* ---------- cobranças do mês ---------- */
.painel-cob{background:var(--papel);border:1px solid var(--regua);border-radius:var(--r);
  box-shadow:var(--sombra);overflow:hidden}
.painel-cob .lista{border:0;border-radius:0;box-shadow:none;background:none}
.cabeca-cob{padding:16px 17px 14px;border-bottom:1px solid var(--regua);display:flex;
  flex-direction:column;gap:14px}
.prog-cob{min-width:0}
.prog-topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin-bottom:8px;flex-wrap:wrap;min-width:0}
.prog-topo > *{min-width:0}
.prog-topo b{font-size:15px}
.prog-topo span{font-size:12.5px;color:var(--grafite)}
.prog-cob .barra{height:8px;border-radius:5px;background:var(--sutil);overflow:hidden}
.prog-cob .barra i{display:block;height:100%;border-radius:5px;background:var(--barra-paga);
  transition:width .5s cubic-bezier(.22,.68,.28,1)}
.filtros-cob{display:flex;gap:7px;flex-wrap:wrap;min-width:0;max-width:100%}
.chip-cob{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--regua);
  background:var(--papel);color:var(--grafite);border-radius:999px;padding:6px 12px;
  font-size:12.5px;font-weight:500;transition:.14s}
.chip-cob b{font-family:var(--mono);font-size:11.5px;background:var(--sutil);border-radius:999px;
  padding:1px 7px;color:var(--grafite)}
.chip-cob:hover:not(:disabled){border-color:var(--indigo);color:var(--indigo)}
.chip-cob.ativo:hover{color:#fff}
.chip-cob:disabled{opacity:.42}
.chip-cob.ativo{background:var(--indigo);border-color:var(--indigo);color:#fff}
.chip-cob.ativo b{background:rgba(255,255,255,.22);color:#fff}
.chip-cob.atrasadas b{color:var(--carimbo)}
.chip-cob.atrasadas.ativo{background:var(--carimbo);border-color:var(--carimbo)}
.chip-cob.atrasadas.ativo b{color:#fff}
.chip-cob.pagas b{color:var(--verde)}
.chip-cob.pagas.ativo{background:var(--verde);border-color:var(--verde)}
.chip-cob.pagas.ativo b{color:#fff}
.desp-nome{display:flex;align-items:center;gap:11px;min-width:0}
.selo-cat{width:34px;height:34px;flex:none;border-radius:10px;display:flex;align-items:center;
  justify-content:center;border:1px solid transparent}
.selo-cat svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.selo-cat.ambar{background:var(--ambar-suave);color:var(--ambar)}
.selo-cat.azul{background:color-mix(in srgb,#3FBBD1 16%, var(--papel));color:#1E8FA3}
.selo-cat.verde{background:var(--verde-suave);color:var(--verde)}
.selo-cat.roxo{background:color-mix(in srgb,#A97BFF 16%, var(--papel));color:#7C5CFF}
.selo-cat.indigo{background:var(--indigo-suave);color:var(--indigo)}
.selo-cat.cinza{background:var(--sutil);color:var(--grafite)}
.linha.feito .selo-cat{opacity:.72}
.prog-cob .barra i.laranja{background:var(--ambar)}
.resumo-desp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.resumo-desp > div{background:var(--sutil);border:1px solid var(--regua);border-radius:11px;
  padding:9px 11px;min-width:0}
.resumo-desp small{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grafite);font-weight:700}
.resumo-desp b{display:block;font-family:var(--mono);font-size:15px;margin-top:3px}
.c-unid{display:flex;align-items:center;gap:11px;min-width:0}
.c-unid-txt{min-width:0}
.selo-cob{width:34px;height:34px;flex:none;border-radius:10px;display:flex;align-items:center;
  justify-content:center;font-family:var(--display);font-weight:800;font-size:13px;
  background:var(--sutil);color:var(--grafite)}
.selo-cob{border:1px solid transparent}
.linha.paga .selo-cob{background:var(--papel);color:var(--verde);
  border-color:color-mix(in srgb, var(--verde) 32%, transparent)}
.linha.atrasada .selo-cob{background:var(--papel);color:var(--carimbo);
  border-color:color-mix(in srgb, var(--carimbo) 32%, transparent)}
.linha.marcada{background:var(--indigo-suave)}
.c-acao{display:flex;justify-content:flex-end;align-items:center;gap:6px}
.dupla-baixa{display:inline-flex;gap:5px}
.bt.so-icone{padding:6px 8px;min-width:0}
.bt.so-icone svg{margin:0;width:15px;height:15px}
#avisoRapido{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:60;
  pointer-events:none;max-width:calc(100vw - 24px)}
#avisoRapido .toast{display:flex;align-items:center;gap:12px;pointer-events:auto;
  background:var(--menu);color:var(--menu-titulo);border:1px solid rgba(255,255,255,.14);
  border-radius:13px;padding:11px 13px 11px 15px;box-shadow:var(--sombra-forte);
  font-size:13.5px;animation:surgirLeve .22s ease-out}
#avisoRapido .toast > span{flex:1;min-width:0}
#avisoRapido svg{width:17px;height:17px;flex:none;fill:none;stroke:var(--verde);stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
#avisoRapido .bt{flex:none;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);
  color:var(--menu-titulo)}
#avisoRapido .bt:hover{background:rgba(255,255,255,.2)}
.ajustes-layout{display:grid;grid-template-columns:264px 1fr;gap:18px;align-items:start}
.indice-ajustes{display:flex;flex-direction:column;gap:4px;background:var(--papel);
  border:1px solid var(--regua);border-radius:var(--r);padding:8px;box-shadow:var(--sombra);
  position:sticky;top:76px}
.indice-ajustes button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  border:0;background:none;border-radius:11px;padding:11px 12px;color:var(--tinta);transition:.14s}
.indice-ajustes button:hover{background:var(--sutil)}
.indice-ajustes button.ativa{background:var(--indigo-suave);color:var(--indigo)}
.ic-secao{width:34px;height:34px;flex:none;border-radius:10px;background:var(--sutil);
  display:flex;align-items:center;justify-content:center;color:var(--grafite)}
.indice-ajustes button.ativa .ic-secao{background:var(--indigo);color:#fff}
.ic-secao svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.txt-secao{min-width:0}
.txt-secao b{display:block;font-size:14px;line-height:1.2}
.txt-secao small{display:block;font-size:11.5px;color:var(--grafite);margin-top:2px;
  white-space:normal;line-height:1.35}
.indice-ajustes button.ativa .txt-secao small{color:var(--indigo);opacity:.75}
.painel-ajustes{min-width:0}
.cabeca-secao{margin-bottom:14px}
.cabeca-secao h2{font-size:19px;margin:0}
.cabeca-secao span{display:block;font-size:13px;color:var(--grafite);margin-top:3px}
.tit-bloco{font-size:14.5px;margin:0 0 14px}
.entrada-com-selo{display:flex;align-items:center;gap:0;position:relative}
.entrada-com-selo .entrada{flex:1;min-width:0}
.selo-campo{position:absolute;left:12px;font-family:var(--mono);font-size:12.5px;
  color:var(--grafite);pointer-events:none}
.selo-campo.fim{left:auto;right:12px}
.entrada-com-selo:has(.selo-campo:not(.fim)) .entrada{padding-left:40px}
.entrada-com-selo:has(.selo-campo.fim) .entrada{padding-right:34px}
.conta-letras{font-variant-numeric:tabular-nums;font-size:11.5px;opacity:.72;transition:color .15s,opacity .15s}
.conta-letras.apertado{color:var(--ambar);opacity:1}
.conta-letras.cheio{color:var(--carimbo);opacity:1;font-weight:700}
.resumo-ficha.quatro{grid-template-columns:repeat(2,1fr)}
.simulacao{margin-top:16px;background:var(--sutil);border:1px solid var(--regua);
  border-radius:12px;padding:14px}
.simulacao p{font-size:13px;color:var(--grafite);margin:8px 0 12px;line-height:1.6}
.conta-sim{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px;color:var(--grafite);align-items:baseline}
.conta-sim b{font-family:var(--mono);color:var(--tinta)}
.conta-sim .total{font-size:15px;color:var(--tinta);font-weight:600}
.conta-sim .total b{color:var(--carimbo)}
.rodape-ajustes{margin-top:16px;text-align:center;font-size:11.5px;color:var(--grafite);opacity:.75}
.tit-cartao{font-size:15px;margin-bottom:4px}
.sub-cartao{font-size:12.5px;color:var(--grafite);margin-bottom:16px}
.tit-cartao + .campo,.tit-cartao + .perfil{margin-top:12px}
.linha-chave{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;
  border-top:1px solid var(--regua)}
.linha-chave b{display:block;font-size:14px}
.linha-chave small{display:block;color:var(--grafite);font-size:12px;margin-top:2px}
.trio-tema{display:inline-flex;background:var(--sutil);border:1px solid var(--regua);
  border-radius:12px;padding:3px;gap:2px;flex:none}
.trio-tema button{width:40px;height:32px;border:0;background:none;border-radius:9px;
  color:var(--grafite);display:flex;align-items:center;justify-content:center;transition:.16s}
.trio-tema button:hover{color:var(--tinta)}
.trio-tema svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.trio-tema button.ativo{background:var(--papel);color:var(--indigo);box-shadow:var(--sombra)}
.interruptor{width:44px;height:26px;border-radius:13px;border:0;background:var(--regua);position:relative;
  flex:none;transition:.18s;padding:0}
.interruptor .bolinha{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:var(--papel);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}
.interruptor.ligado{background:var(--acao)}
.interruptor.ligado .bolinha{left:21px}
.campo .suspenso{width:100%}
.modal-saida{text-align:center}
.icone-saida{width:58px;height:58px;border-radius:18px;margin:2px auto 16px;display:flex;
  align-items:center;justify-content:center;
  background:linear-gradient(140deg,var(--marca-a),var(--marca-b));color:#fff;
  box-shadow:0 14px 32px -12px rgba(124,92,255,.85)}
.icone-saida svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.modal-saida h3{font-size:20px}
.modal-saida .dica{margin:6px 0 18px}
.cartao-saida{display:flex;align-items:center;gap:13px;text-align:left;
  background:var(--sutil);border:1px solid var(--regua);border-radius:13px;padding:13px 15px;margin-bottom:14px}
.cartao-saida b{display:block;font-size:15px}
.cartao-saida small{display:block;color:var(--grafite);font-size:12.5px;margin-top:2px}
.modal-saida .acoes-modal{justify-content:center;gap:10px}
.modal-saida .acoes-modal .bt{flex:1;min-height:44px;justify-content:center}
.nota-conta{background:var(--sutil);border:1px solid var(--regua);border-radius:10px;padding:12px 14px;
  font-size:12.5px;color:var(--grafite);line-height:1.55;margin:4px 0 14px}
.bt svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:6px}
.opcoes{display:flex;gap:7px;flex-wrap:wrap}
.opcao{border:1px solid var(--regua);background:var(--papel);color:var(--grafite);
  border-radius:10px;padding:9px 13px;font-size:13.5px;font-weight:500;transition:.14s;white-space:nowrap}
.opcao:hover{border-color:var(--tinta);color:var(--tinta)}
.opcao.ativa{background:var(--destaque);border-color:var(--destaque);color:var(--destaque-texto);font-weight:600}
.ajuda{font-size:12px;color:var(--grafite);margin-top:7px;line-height:1.55}
.amostra{border:1px solid var(--regua);border-radius:11px;padding:14px;background:var(--sutil)}
.amostra-linha{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:14px}
.contas{display:flex;flex-direction:column;gap:9px}
.conta{display:flex;align-items:center;gap:13px;width:100%;min-width:0;text-align:left;padding:12px 14px;
  background:var(--papel);border:1px solid var(--regua);border-radius:12px;transition:.14s}
.conta .dados{flex:1;min-width:0}
.conta b{display:block;font-size:14.5px}
.conta small{display:block;color:var(--grafite);font-size:12px;margin-top:1px}
.conta .seta{color:var(--grafite);font-size:19px}
.conta.atual{border-color:var(--indigo);background:var(--indigo-suave)}
.perfil{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.perfil b{display:block;font-size:15px}
.perfil small{color:var(--grafite);font-size:12px}
.conta.atual{border-color:var(--indigo);background:var(--indigo-suave)}
.lista-predios{display:flex;flex-direction:column;gap:8px;max-height:250px;overflow-y:auto;padding:2px}
.item-predio{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 12px;
  background:var(--papel);border:1px solid var(--regua);border-radius:11px;transition:.14s}
.item-predio:not(.bloqueado):hover{border-color:var(--indigo)}
.item-predio.marcado{border-color:var(--indigo);background:var(--indigo-suave)}
.item-predio.bloqueado{opacity:.6;cursor:not-allowed;background:var(--sutil)}
.item-predio .dados{flex:1;min-width:0}
.item-predio b{display:block;font-size:14px;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item-predio small{display:block;color:var(--grafite);font-size:11.5px;line-height:1.35;
  overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.marca-caixa{width:22px;height:22px;border-radius:7px;border:1.5px solid var(--regua);flex:none;
  display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--destaque-texto)}
.item-predio.marcado .marca-caixa{background:var(--destaque);border-color:var(--destaque)}
.marca-caixa svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;
  stroke-linecap:round;stroke-linejoin:round}
/* o prédio ocupado mostra um cadeado desenhado, no mesmo traço dos outros ícones */
.item-predio.bloqueado .marca-caixa{border:0;background:none;color:var(--grafite)}
.item-predio.bloqueado .marca-caixa svg{width:17px;height:17px;stroke-width:1.7}
.selo-predio-mini{width:34px;height:34px;flex:none;border-radius:10px;display:flex;
  align-items:center;justify-content:center;background:var(--sutil);color:var(--grafite);
  border:1px solid var(--regua)}
.selo-predio-mini svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.item-predio.marcado .selo-predio-mini{background:var(--destaque);border-color:var(--destaque);color:#fff}

/* blocos numerados do cadastro */
.bloco-cad{background:color-mix(in srgb, var(--ac-campo, var(--sutil)) 55%, transparent);
  border:1px solid var(--ac-linha, var(--regua));border-radius:16px;padding:16px 16px 14px}
.cab-bloco{display:flex;align-items:center;gap:11px;margin-bottom:14px;text-align:left}
.cab-bloco b{display:block;font-family:var(--display);font-size:14.5px;letter-spacing:-.01em}
.cab-bloco small{display:block;font-size:12px;color:var(--ac-fraco, var(--grafite));margin-top:2px}
.passo-num{width:26px;height:26px;flex:none;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-family:var(--mono);font-size:13px;font-weight:700;
  background:var(--ac-realce, var(--destaque));color:#fff}
.bloco-cad .campo:last-of-type{margin-bottom:0}
/* em tela baixa o cadastro se comprime para continuar cabendo sem rolagem */
[data-altura="media"] .bloco-cad{padding:13px 13px 11px}
[data-altura="media"] .cab-bloco{margin-bottom:10px}
[data-altura="media"] .acesso .cad-grade .lista-predios{max-height:min(30vh,230px)}
[data-altura="media"] .acesso .bloco-cad .campo{margin-bottom:11px}
[data-altura="media"] .acesso .bloco-cad .ajuda{font-size:11.5px;line-height:1.45}
[data-altura="baixa"] .bloco-cad{padding:11px 12px 9px}
[data-altura="baixa"] .cab-bloco{margin-bottom:8px}
[data-altura="baixa"] .cab-bloco small{display:none}
[data-altura="baixa"] .acesso[data-passo="cadastro"] .sub{display:none}
[data-altura="baixa"] .acesso .cad-grade .lista-predios{max-height:min(24vh,170px)}
[data-altura="baixa"] .acesso .bloco-cad .ajuda{font-size:11px;line-height:1.4}
.usuario-tag{font-family:var(--mono);font-size:12px;color:var(--indigo);font-weight:600}
.dica-boa{color:var(--verde)}
.dica-ruim{color:var(--carimbo)}
.acesso .dica-boa{color:#5FE3B8}
.acesso .dica-ruim{color:#F3A79C}

/* escolha inicial e dica do modo demonstração */
.escolha-acesso{display:flex;flex-direction:column;gap:10px}
.dica-demo{margin-top:20px;padding:12px 14px;border-radius:12px;text-align:center;
  border:1px dashed var(--ac-linha);background:rgba(255,255,255,.03)}
.dica-demo b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ac-fraco);font-weight:700}
.dica-demo span{display:block;font-family:var(--mono);font-size:13px;color:var(--ac-texto);margin-top:6px}
.dica-demo small{display:block;font-size:11px;color:var(--ac-fraco);margin-top:6px;opacity:.85}
body[data-acesso] .lateral{display:none}
body[data-acesso] .app{grid-template-columns:1fr}
body[data-acesso] .conteudo{padding:0;max-width:none}
/* ---------- tela de acesso ---------- */
.acesso{
  --ac-fundo:#070B14; --ac-painel:#0B1120; --ac-linha:#1C2740; --ac-campo:#111A2C;
  --ac-texto:#E9EEF9; --ac-fraco:#8493B4; --ac-realce:#4361E8; --ac-realce2:#6D8BFF;
  color-scheme:dark;
  position:relative;display:grid;grid-template-columns:1fr minmax(400px, var(--ac-painel-larg, 470px));
  height:var(--vp-alt, 100dvh);max-height:var(--vp-alt, 100dvh);overflow:hidden;
  background:var(--ac-fundo);color:var(--ac-texto)}
[data-contraste="alto"] .acesso{--ac-fraco:#B7C3DC;--ac-linha:#2E3C5C}
/* o painel usa a largura que sobra na tela, conforme o passo */
.acesso{transition:grid-template-columns .42s cubic-bezier(.22,.68,.28,1)}
[data-movimento="reduzido"] .acesso{transition:none}
.acesso[data-passo="cadastro"]{--ac-painel-larg:min(62vw, 940px)}
.acesso[data-passo="cadastro"]{grid-template-columns:1fr minmax(540px, var(--ac-painel-larg))}
.acesso[data-passo="senha"]{--ac-painel-larg:520px}
/* nada de rolagem na página quando a tela de acesso está no ar */
body[data-acesso]{overflow:hidden}
html[data-tela="celular"] body[data-acesso]{overflow:auto}

.acesso-arte{position:relative;overflow:hidden;
  background:
    radial-gradient(680px 460px at 22% 18%, rgba(75,110,245,.20), transparent 62%),
    radial-gradient(560px 420px at 68% 82%, rgba(47,214,160,.13), transparent 62%),
    linear-gradient(160deg, #0A1020 0%, #070B14 60%)}
.brilho{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.brilho.b1{width:420px;height:420px;left:4%;top:6%;background:rgba(75,110,245,.26)}
.brilho.b2{width:380px;height:380px;right:6%;bottom:4%;background:rgba(47,214,160,.15)}
.anel{position:absolute;left:50%;top:50%;width:min(60%,430px);aspect-ratio:1;transform:translate(-50%,-50%);
  border:1px dashed rgba(255,255,255,.09);border-radius:50%}
.anel.a2{width:min(38%,270px);border-style:solid;border-color:rgba(255,255,255,.05)}

.cena{position:fixed;inset:0;width:var(--vp-larg, 100%);height:var(--vp-alt, 100%);display:none;z-index:1;pointer-events:none}
body[data-acesso] .cena{display:block}
.vinheta{position:fixed;inset:0;display:none;pointer-events:none;z-index:2;
  background:radial-gradient(125% 95% at 36% 46%, transparent 46%, rgba(4,7,14,.55) 100%)}
body[data-acesso] .vinheta{display:block}
.acesso-forma{position:relative;z-index:3;
  background:color-mix(in srgb, var(--ac-painel) 62%, transparent);
  backdrop-filter:blur(9px) saturate(1.05);-webkit-backdrop-filter:blur(9px) saturate(1.05);
  border-left:1px solid var(--ac-linha);
  padding:clamp(18px, 4vh, 54px) clamp(22px, 3vw, 46px) clamp(14px, 3vh, 34px);
  display:flex;flex-direction:column;overflow-y:auto;height:100%;max-height:100%}
/* a marca mora no painel de arte, grande, ocupando o espaço que sobrava.
   z-index acima do canvas (1) e da vinheta (2): as constelações passam por trás,
   mas a logo em si fica sólida */
.arte-marca{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:0;padding:5%;text-align:center;
  /* o 55% amarra ao tamanho da própria coluna: ao estreitar, a marca acompanha */
  --w-simbolo:min(310px, 25vw, 33vh, 55%)}
.marca-simbolo{width:var(--w-simbolo);height:auto;
  filter:drop-shadow(0 26px 60px rgba(124,92,255,.5))}
/* o nome vem colado no símbolo e um pouco maior que ele */
.marca-palavra{width:min(calc(var(--w-simbolo) * 1.58), 88%);height:auto;margin-top:-4%}
/* a frase é assinatura: caixa alta, fonte diferente e discreta, para não brigar com a marca */
.arte-frase{margin:-1% 0 0;font-family:var(--mono);
  font-size:clamp(8.5px,.62vw,11.5px);font-weight:400;text-transform:uppercase;
  letter-spacing:.24em;line-height:1.6;color:rgba(233,238,249,.42);
  max-width:100%;overflow-wrap:break-word}
/* tela de acesso com o texto centralizado, sem repetir a marca */
.acesso-forma{text-align:center}
.acesso-forma, .acesso-miolo, .cad-grade, .cad-col, .bloco-cad{min-width:0}
.acesso h2, .acesso .sub, .acesso-rodape, .risco-acesso{text-align:center}
.acesso .acoes-acesso{justify-content:center}
.acesso .campo label, .acesso .ajuda, .acesso .aviso{text-align:left}
/* o botão de voltar é navegação, não texto: fica ancorado à esquerda */
.acesso .voltar-acesso{display:flex;width:fit-content;margin:0 auto 14px 0}
.acesso .perfil-acesso{justify-content:center;text-align:left}
.acesso .conta, .acesso .item-predio{text-align:left}
.acesso[data-passo="cadastro"] .cad-col{text-align:left}
/* muitas contas não podem esticar o painel: a lista rola sozinha */
.acesso .contas{max-height:min(46vh, 420px);overflow-y:auto;padding-right:2px}
[data-altura="baixa"]:not([data-tela="celular"]) .acesso h2{font-size:23px}
[data-altura="baixa"]:not([data-tela="celular"]) .acesso .sub{margin:7px 0 16px}
[data-altura="baixa"]:not([data-tela="celular"]) .risco-acesso{margin:14px 0 12px}
[data-altura="baixa"]:not([data-tela="celular"]) .acesso-rodape{display:none}
/* no cadastro, que é o passo mais alto, o rodapé encolhe antes de sumir */
/* o cadastro é o passo mais alto: rodapé deitado e sem a data, para caber */
.acesso[data-passo="cadastro"] .acesso-rodape{
  flex-direction:row;flex-wrap:wrap;justify-content:center;gap:5px 18px;padding-top:11px;font-size:11px}
[data-altura="media"] .acesso[data-passo="cadastro"] .acesso-cabeca,
[data-altura="baixa"] .acesso[data-passo="cadastro"] .acesso-cabeca{display:none}
/* troca de passo: o conteúdo entra pelo lado para onde a navegação foi */
@keyframes passoFrente{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes passoTras{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
.acesso-miolo.trocando[data-sentido="frente"]{animation:passoFrente .34s cubic-bezier(.22,.68,.28,1) both}
.acesso-miolo.trocando[data-sentido="tras"]{animation:passoTras .34s cubic-bezier(.22,.68,.28,1) both}
[data-movimento="reduzido"] .acesso-miolo.trocando{animation:none}
.selo-acesso{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(140deg,var(--ac-realce),#7C5CFF);color:#fff;
  box-shadow:0 8px 22px -8px rgba(75,110,245,.9)}
.selo-acesso svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}

.acesso-miolo{padding:clamp(14px,3vh,30px) 0;margin:auto 0}
/* três faixas: saudação no topo, formulário no meio, garantias embaixo */
.acesso-cabeca{flex:none;padding-bottom:6px}
.acesso-cabeca span{font-size:12.5px;color:var(--ac-fraco)}
.acesso-rodape{flex:none;margin-top:auto;display:flex;flex-direction:column;gap:7px;
  font-size:11.5px;color:var(--ac-fraco);line-height:1.5;
  padding-top:16px;border-top:1px solid var(--ac-linha)}
.acesso-rodape span{display:flex;align-items:center;justify-content:center;gap:8px}
.acesso-rodape svg{width:14px;height:14px;flex:none;opacity:.75;
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.acesso h2{font-size:27px;font-weight:800;letter-spacing:-.025em;color:#fff}
.acesso .sub{color:var(--ac-fraco);font-size:14px;margin:9px 0 26px;line-height:1.6}
.voltar-acesso{align-self:flex-start;margin:0 0 14px -8px;color:var(--ac-fraco)}
.voltar-acesso:hover{color:var(--ac-texto);background:rgba(255,255,255,.06)}
.perfil-acesso{display:flex;align-items:center;gap:15px;margin-bottom:24px}
.perfil-acesso h2{font-size:22px}
.perfil-acesso .sub{margin:4px 0 0;font-size:13px}

.acesso .contas{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.acesso .conta{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 15px;
  background:color-mix(in srgb, var(--ac-campo) 88%, transparent);border:1px solid var(--ac-linha);border-radius:14px;
  color:var(--ac-texto);transition:.16s}
.acesso .conta:hover{border-color:var(--ac-realce);background:rgba(75,110,245,.13);transform:translateY(-1px)}
.acesso .conta .dados{flex:1;min-width:0}
.acesso .conta b{display:block;font-size:15px;color:#fff}
.acesso .conta small{color:var(--ac-fraco);font-size:12px}
.acesso .conta .seta{color:var(--ac-fraco);font-size:19px}
.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(140deg,var(--marca-a),var(--marca-b));color:#fff;flex:none;
  display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:15px}
.avatar.grande{width:58px;height:58px;border-radius:18px;font-size:20px}
.acesso .avatar{background:linear-gradient(140deg,var(--ac-realce),#7C5CFF);color:#fff}

.acesso .campo label{color:var(--ac-fraco)}
.acesso .entrada{background:color-mix(in srgb, var(--ac-campo) 88%, transparent);border-color:var(--ac-linha);color:var(--ac-texto)}
.acesso .entrada::placeholder{color:var(--ac-fraco);opacity:.7}
.acesso .entrada:focus{border-color:var(--ac-realce);outline-color:var(--ac-realce)}
.acesso .olho{color:var(--ac-fraco)}
.acesso .olho:hover{color:#fff;background:rgba(255,255,255,.07)}
.acesso .bt{background:transparent;border-color:var(--ac-linha);color:var(--ac-texto)}
.acesso .bt:hover{border-color:var(--ac-realce);background:rgba(75,110,245,.1)}
.acesso .bt.cheio{background:var(--ac-realce);border-color:var(--ac-realce);color:#fff;
  box-shadow:0 12px 28px -12px rgba(75,110,245,.95);font-weight:600}
.acesso .bt.cheio:hover{background:var(--ac-realce2);border-color:var(--ac-realce2)}
.acesso .bt.larga,.acesso .bt.cheio.larga{padding:13px 16px;font-size:14.5px}
.seta-bt{margin-left:7px}
.acesso .ajuda{color:var(--ac-fraco)}
.acesso .aviso{background:rgba(240,140,127,.12);border-color:rgba(240,140,127,.4);color:#F3A79C}
.risco-acesso{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--ac-fraco);font-size:12px}
.risco-acesso::before,.risco-acesso::after{content:"";flex:1;height:1px;background:var(--ac-linha)}
.acesso .lista-predios{max-height:230px}
.acesso .item-predio{background:var(--ac-campo);border-color:var(--ac-linha);color:var(--ac-texto)}
.acesso .item-predio b{color:#fff}
.acesso .item-predio small{color:var(--ac-fraco)}
.acesso .item-predio.marcado{background:rgba(75,110,245,.16);border-color:var(--ac-realce)}
.acesso .item-predio.bloqueado{background:rgba(255,255,255,.03)}
.acesso .marca-caixa{border-color:var(--ac-linha)}
.acesso .item-predio.marcado .marca-caixa{background:var(--ac-realce);border-color:var(--ac-realce);color:#fff}
.acesso .etq{background:rgba(255,255,255,.07);color:var(--ac-fraco)}
.acesso .etq.verde{background:rgba(47,214,160,.14);color:#5FE3B8}
.acesso .etq.vermelha{background:rgba(240,140,127,.14);color:#F3A79C}
.dupla-senha{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start}
.dupla-senha .opcoes{flex-wrap:wrap}
.acoes-acesso{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.acoes-acesso .bt{min-width:124px}
/* dentro do modal segue em coluna única; na tela de acesso larga vira duas colunas */
.cad-grade{display:block}
.acesso .cad-grade{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;align-items:start}
.acesso .cad-col{min-width:0}
.acesso .cad-col .campo:last-child{margin-bottom:0}
.acesso .cad-grade .lista-predios{max-height:min(38vh, 300px)}
.acesso .dupla-senha{grid-template-columns:1fr 1fr}

[data-tela="celular"] .acesso,
[data-tela="celular"] .acesso[data-passo="cadastro"]{grid-template-columns:1fr;grid-template-rows:250px 1fr;
  min-height:100dvh;height:auto;max-height:none;overflow:visible}
[data-tela="celular"] .acesso .cad-grade{display:block}
[data-tela="celular"] .acesso .cad-grade .lista-predios{max-height:250px}
[data-tela="celular"] .acesso-arte{order:-1}
[data-tela="celular"] .brilho.b1{width:220px;height:220px}
[data-tela="celular"] .brilho.b2{width:200px;height:200px}
[data-tela="celular"] .acesso-forma{border-left:0;border-top:1px solid var(--ac-linha);
  background:color-mix(in srgb, var(--ac-painel) 64%, transparent);
  backdrop-filter:blur(10px) saturate(1.05);-webkit-backdrop-filter:blur(10px) saturate(1.05);
  padding:26px 20px calc(30px + env(safe-area-inset-bottom));height:auto;max-height:none;overflow:visible;
  border-radius:22px 22px 0 0;margin-top:-22px;position:relative;z-index:3}
[data-tela="celular"] .vinheta{background:radial-gradient(120% 60% at 50% 18%, transparent 40%, rgba(4,7,14,.5) 100%)}
[data-tela="celular"] .arte-marca{padding:12px;justify-content:center;--w-simbolo:min(104px,27vw)}
[data-tela="celular"] .arte-frase{font-size:8px;letter-spacing:.2em;margin-top:8px}
[data-tela="celular"] .acesso-miolo{padding:22px 0;margin:0}
[data-tela="celular"] .acesso h2{font-size:23px}
[data-tela="celular"] .dupla-senha{grid-template-columns:1fr;gap:0}
[data-tela="celular"] .acoes-acesso .bt{flex:1;min-width:0}
[data-tela="media"] .acesso{grid-template-columns:1fr minmax(380px, var(--ac-painel-larg, 440px))}
[data-tela="media"] .acesso[data-passo="cadastro"]{--ac-painel-larg:min(72vw, 720px);
  grid-template-columns:1fr minmax(460px, var(--ac-painel-larg))}
[data-tela="media"] .acesso-forma{padding:clamp(16px,3.5vh,32px) 28px}
[data-tela="media"] .conteudo{padding:22px 20px 90px}
[data-tela="media"] .g4{grid-template-columns:1fr 1fr}
[data-tela="media"] .g3{grid-template-columns:1fr 1fr}
[data-tela="media"] .g2{grid-template-columns:1fr}
[data-tela="media"] .ajustes-layout{grid-template-columns:220px 1fr}
[data-tela="media"] .g-fluxo{grid-template-columns:1fr}
[data-tela="media"] .linha.l-cob{grid-template-columns:32px 1fr 116px 108px 140px}
[data-tela="media"] .l-cob .data-cob{white-space:normal}
[data-tela="media"] .l-desp{grid-template-columns:32px 1fr 112px 108px 74px}
[data-tela="media"] .l-unid{grid-template-columns:1fr 1fr 124px 92px}
[data-tela="media"] .l-user{grid-template-columns:40px 1.3fr 108px 0.8fr 124px 122px}
[data-tela="media"] .l-aud{grid-template-columns:118px 128px 1fr 84px}
[data-tela="media"] .l-meta{grid-template-columns:1fr 104px 104px 108px}
[data-tela="media"] .l-extrato{grid-template-columns:1fr 108px 100px}
[data-tela="media"] .l-cat{grid-template-columns:124px 1fr 108px}
[data-tela="media"] .linha{grid-template-columns:32px 1fr 112px 108px 82px}
[data-largura="estreita"] .conteudo{padding:14px 10px 100px}
[data-largura="estreita"] .topo h1{font-size:20px}
[data-largura="estreita"] .topo .legenda{font-size:12.5px}
[data-largura="estreita"] .seletor-mes button{padding:7px 8px;font-size:15px}
[data-largura="estreita"] .seletor-mes .rotulo{font-size:13px;min-width:0}
[data-largura="estreita"] .bt{padding:8px 10px;font-size:13px;min-height:38px}
[data-largura="estreita"] .bt.pq{padding:6px 8px;font-size:12.5px;min-height:34px}
[data-largura="estreita"] .l-cob{grid-template-columns:22px 1fr auto;column-gap:8px;padding:13px 11px}
[data-largura="estreita"] .l-desp{grid-template-columns:22px 1fr 84px;column-gap:8px;padding:13px 11px}
[data-largura="estreita"] .l-desp .col-quando{white-space:normal;font-size:11.5px}
[data-largura="estreita"] .l-unid,[data-largura="estreita"] .l-atraso,[data-largura="estreita"] .l-extrato,
[data-largura="estreita"] .l-meta,[data-largura="estreita"] .linha{padding:13px 11px}
[data-largura="estreita"] .l-mod{grid-template-columns:1fr 78px 24px;gap:7px}
[data-largura="estreita"] .grade-filtro{grid-template-columns:1fr}
[data-largura="estreita"] .grade-unid{grid-template-columns:1fr!important}
[data-largura="estreita"] .resumo-ficha,[data-largura="estreita"] .resumo-ficha.quatro{grid-template-columns:1fr}
[data-largura="estreita"] .campo .suspenso,[data-largura="estreita"] .grupo-filtro .suspenso,
[data-largura="estreita"] .linha-chave .suspenso{width:100%}
[data-largura="estreita"] .painel-suspenso{min-width:0!important;left:0;right:0;max-width:none}
[data-largura="estreita"] .trio-tema button{width:34px}
[data-largura="estreita"] .opcoes{flex-wrap:wrap}
[data-largura="estreita"] .ficha-unid{padding:13px}
[data-largura="estreita"] .graf-cabeca .etq{font-size:9.5px}
[data-largura="estreita"] .indicador .rotulo,[data-largura="estreita"] .indicador .valor,[data-largura="estreita"] .indicador .nota{padding-right:34px}
[data-largura="estreita"] .grade-filtro .grupo-filtro:last-child{grid-column:1}
[data-largura="estreita"] .l-desp{grid-template-columns:22px 1fr 76px;column-gap:7px}
[data-largura="estreita"] .l-desp .col-quando{white-space:normal;font-size:11px}
[data-largura="estreita"] .l-cob .c-valor,[data-largura="estreita"] .l-desp .col-valor{min-width:0}
[data-largura="estreita"] .l-cob .meta-desc,[data-largura="estreita"] .l-desp .meta-desc{font-size:11px}
[data-largura="estreita"] .nav button{min-width:54px;font-size:9px}
[data-largura="estreita"] .grade.g4 > .cartao,[data-largura="estreita"] .grade.g3 > .cartao{padding:12px 12px}
[data-largura="estreita"] .indicador .valor{font-size:17px}
[data-largura="estreita"] .ficha-grade{grid-template-columns:1fr}
[data-largura="estreita"] .chip-cond b{font-size:11.5px}
[data-largura="estreita"] .modal{padding:18px 13px}
/* barra lateral: expandida e recolhida */
.marca .alvo-marca{display:flex;align-items:center;gap:11px;background:none;border:0;padding:0;
  text-align:left;width:100%;color:inherit;border-radius:10px;transition:.14s}
.marca .alvo-marca:hover{background:rgba(255,255,255,.07)}
.selo-predio{width:36px;height:36px;border-radius:11px;flex:none;display:flex;align-items:center;
  justify-content:center;background:linear-gradient(140deg,var(--marca-a),var(--marca-b));color:#fff;
  box-shadow:0 8px 20px -10px rgba(75,110,245,.9);
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em}
.marca-txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.marca-txt .predio{font-family:var(--display);font-weight:800;font-size:19px;line-height:1;letter-spacing:-.03em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.marca-txt .sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--menu-fraco)}
.aviso-menu{display:flex;gap:8px;font-size:12px;color:var(--ambar);line-height:1.5;margin-bottom:12px;
  background:rgba(224,178,103,.12);border:1px solid rgba(224,178,103,.34);border-radius:10px;padding:9px 10px}
.aviso-menu svg{width:15px;height:15px;flex:none;margin-top:1px;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aviso-menu b{display:block}
.link-ajuda{display:flex;align-items:center;gap:11px;width:100%;padding:9px 7px;margin-bottom:6px;
  border:0;background:none;border-radius:10px;text-align:left;color:var(--menu-texto);
  font-size:13.5px;transition:.14s}
.link-ajuda:hover{background:rgba(255,255,255,.08);color:var(--menu-titulo)}
.link-ajuda svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;margin:0}
.cabeca-ajuda{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.logo-ajuda{width:52px;height:auto;flex:none}
.cabeca-ajuda h3{font-size:20px;margin:0}
.cabeca-ajuda small{display:block;color:var(--grafite);font-size:13px;margin-top:3px}
.nota-ajuda{background:var(--indigo-suave);border:1px solid color-mix(in srgb,var(--indigo) 22%, transparent);
  border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.6;color:var(--tinta)}
.nota-ajuda.atencao{background:var(--ambar-suave);border-color:var(--ambar);color:var(--ambar);margin-top:6px}
.passos-ajuda{list-style:decimal;margin:18px 0;padding-left:24px;display:flex;flex-direction:column;gap:14px}
.passos-ajuda li{font-size:13.5px;line-height:1.65;color:var(--grafite);padding-left:4px}
.passos-ajuda li::marker{color:var(--indigo);font-weight:700;font-family:var(--display)}
.passos-ajuda b{color:var(--tinta);font-weight:700}
.perfil-menu{display:flex;align-items:center;gap:4px;min-width:0}
.perfil-btn{flex:1;min-width:0;display:flex;align-items:center;gap:9px;background:none;border:0;
  padding:9px 4px;border-radius:10px;text-align:left;color:var(--menu-titulo);transition:.14s}
.perfil-btn .avatar.mini{flex:none;width:34px;height:34px;border-radius:10px;font-size:13px}
.perfil-btn:hover{background:rgba(255,255,255,.08)}
.perfil-txt{min-width:0}
.perfil-txt b{display:block;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perfil-txt small{display:block;font-size:12.5px;color:var(--menu-fraco);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perfil-sair{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  color:var(--menu-fraco);width:38px;height:38px;border-radius:11px;flex:none;transition:.14s}
.perfil-sair:hover{background:var(--carimbo);border-color:var(--carimbo);color:#fff}
.versao-menu{font-size:11.5px;color:var(--menu-fraco);opacity:.7;padding:8px 6px 0}
.recolher-barra{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  margin-top:12px;padding:12px 8px;font-size:13.5px;border:0;border-top:1px solid rgba(255,255,255,.12);
  background:none;color:var(--menu-fraco);font-size:12.5px;font-weight:500;transition:.14s}
.recolher-barra:hover{color:var(--menu-titulo);background:rgba(255,255,255,.06)}
.seta-rec{font-size:15px;line-height:1}

[data-menu="recolhido"] .app{grid-template-columns:84px 1fr}
[data-menu="recolhido"] .lateral{padding:16px 9px 12px;align-items:center}
[data-menu="recolhido"] .marca{padding:0 0 14px;width:100%}
[data-menu="recolhido"] .logo-menu{justify-content:center;padding:0 0 16px}
[data-menu="recolhido"] .logo-menu{--alt-marca:52px}
[data-menu="recolhido"] .logo-palavra,[data-menu="recolhido"] .seta-predio{display:none}
[data-menu="recolhido"] .cartao-predio{justify-content:center;padding:8px 0;background:none;border-color:transparent}
[data-menu="recolhido"] .marca .alvo-marca{justify-content:center}
[data-menu="recolhido"] .marca-txt,
[data-menu="recolhido"] .rot-longo,
[data-menu="recolhido"] .perfil-txt,
[data-menu="recolhido"] .versao-menu,
[data-menu="recolhido"] .aviso-menu,
[data-menu="recolhido"] .rot-rec{display:none}
[data-menu="recolhido"] .nav{width:100%}
[data-menu="recolhido"] .nav button{justify-content:center;padding:11px 0;gap:0}
[data-menu="recolhido"] .nav .ic{width:24px;height:24px}
[data-menu="recolhido"] .nav .ic svg{width:24px;height:24px}
[data-menu="recolhido"] .pe-lateral{width:100%;padding:12px 0 0}
[data-menu="recolhido"] .perfil-menu{flex-direction:column;gap:4px}
[data-menu="recolhido"] .perfil-btn{flex:none;justify-content:center;padding:6px}
[data-menu="recolhido"] .link-ajuda{justify-content:center;padding:9px 0}
[data-menu="recolhido"] .perfil-menu{flex-direction:column;gap:6px}
[data-menu="recolhido"] .link-ajuda span{display:none}
[data-menu="recolhido"] .recolher-barra{padding:11px 0}
.impressa{display:none}
/* o campo de dinheiro fica dentro de um <label class="moeda">, que herdava o estilo de
   rótulo (11px, caixa alta, espaçado): o valor digitado saía miúdo. Aqui volta ao normal. */
.campo label.moeda{font-size:14px;letter-spacing:normal;text-transform:none;font-weight:400;
  color:inherit;margin-bottom:0}
.so-impresso{display:none}
@media print{
  @page{ size:A4 portrait; margin:13mm 11mm 14mm; }
  /* o papel é sempre claro, mesmo com o tema escuro ligado */
  :root,[data-tema="escuro"]{
    --pc-rec:#3452C7; --pc-desp:#C98224; --pc-hach:rgba(255,255,255,.62);
    --pc-pos:#12735A; --pc-neg:#B3271A; --pc-pos-suave:#E3F3ED; --pc-neg-suave:#FCEAE7; --pc-eixo:#8A96AE;
    --concreto:#FFFFFF; --papel:#FFFFFF; --sutil:#F3F5FB; --tinta:#101726;
    --grafite:#4A5670; --regua:#C7D0E2; --indigo:#2F49B8; --indigo-suave:#EAEEFE;
    --verde:#0F6B52; --verde-suave:#E3F3ED; --carimbo:#B3271A; --carimbo-suave:#FCEAE7;
    --ambar:#7A4F08; --ambar-suave:#FCF2DE; --grade-graf:#D6DDEC;
    --acao:#101726; --acao-texto:#FFFFFF; --destaque:#33499A; --destaque-texto:#FFFFFF;
    --ok:#0F6B52; --ok-texto:#FFFFFF; --barra-paga:#0F6B52; --barra-caixa:#33499A;
    --brilho-a:transparent; --brilho-b:transparent;
    --sombra:none; --sombra-forte:none;
  }
  body{background:#fff!important}
  .cartao,.lista,.graf,.meta,.rolagem{box-shadow:none!important}
  /* nada de animação pela metade no papel */
  *,*::before,*::after{animation:none!important;transition:none!important}
  #tela.entrando > *,#tela.entrando .grade > *,#tela.entrando .lista .linha,
  #tela.entrando .graf svg,#tela.entrando .meta{opacity:1!important;transform:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  body{background:#fff;font-size:9.5pt}
  .app{display:block}
  .conteudo{padding:0;max-width:none;min-width:0}
  .lateral,.barra-topo,.seletor-mes,.chip-cond,.mobile-so,.so-peq,.fundo-modal,.topo,span.bt,.barra-periodo,
  .tipos-graf,.sub-abas,.dobra-cab{display:none!important}
  .desktop-so{display:block!important}
  .so-tela{display:none!important}
  .so-impresso{display:block!important}
  .pc-assinaturas.so-impresso{display:grid!important;break-inside:avoid}
  .pc-numeros{grid-template-columns:repeat(5,1fr)!important;gap:6px;margin-bottom:10px}
  .pc-num{padding:7px 8px;border-radius:7px}
  .pc-num b{font-size:11pt} .pc-num small{font-size:7.5pt} .pc-num span{font-size:8pt}
  .pc-duas{grid-template-columns:1fr!important;gap:10px!important}
  .pc-bloco{padding:9px 11px 7px}
  .pc-rk{font-size:9pt;gap:8px}
  .pc-trilho{height:10px}
  .legenda-graf{font-size:8.5pt}
  .graf-cabeca small{font-size:8.5pt}
  .pc-quebra{break-before:page;page-break-before:always}
  button:not(.check){display:none!important}
  .check{border-color:var(--grafite);width:13px;height:13px;font-size:9px}

  /* cabeçalho da folha, repetido em cada página */
  .impressa{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;
    border-bottom:1.5px solid var(--tinta);padding-bottom:6px;margin-bottom:14px}
  .logo-impressa{width:30px;height:auto;grid-row:1/3}
  .impressa .casa{font-family:var(--display);font-weight:800;font-size:13pt;letter-spacing:-.02em}
  .impressa .linha2{display:flex;justify-content:space-between;font-size:8.5pt;color:var(--grafite);margin-top:2px}

  /* nada de quebra no meio de um bloco */
  .cartao,.meta,.graf,.linha,tr{break-inside:avoid;page-break-inside:avoid}
  .lista,.rolagem{break-inside:auto}
  .titulo-secao{break-inside:avoid;break-after:avoid;page-break-after:avoid;margin:14px 0 7px}
  .titulo-secao h2{font-size:11pt}

  /* a tabela do ano cabe na folha e repete o cabeçalho */
  .rolagem{overflow:visible!important;border:1px solid var(--regua)}
  table{min-width:0!important;width:100%;font-size:8pt}
  th,td{padding:3.5px 5px;white-space:normal}
  th:first-child,td:first-child,tfoot td:first-child{position:static!important}
  td:first-child::after{display:none}
  thead{display:table-header-group}

  /* campos viram texto */
  .so-impresso{display:block}
  .l-desp .moeda{display:none!important}
  .entrada{border:0!important;padding:0!important;background:none!important;font-size:9pt}
  .moeda .cifrao{position:static;margin-right:2px}
  .moeda .entrada{padding-left:0!important}
  select.entrada{appearance:none}

  .graf svg{max-height:62mm}
  .legenda-graf{font-size:8pt;gap:4px 10px}
  .indicador .valor{font-size:13pt}
  .indicador .rotulo{font-size:7.5pt}
  .indicador .nota{font-size:7.5pt}
  .grade{gap:7px}
  .parcela,.meta-desc{font-size:8.5pt}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}

.pilot-stage{padding:10px 16px;background:var(--papel);border-bottom:1px solid var(--linha);font-size:13px}.pilot-error{color:var(--carimbo)}
