/* Sistema Mandala — visual 2 (14/10/2026). Marca: branco, cinza e verde. Letra grande e contraste alto (diretoria). */
@font-face{font-family:Inter;src:url(/static/fontes/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;src:url(/static/fontes/inter-latin-ext.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --verde:#1f8a4c; --verde-escuro:#14532d; --verde-vivo:#34cc67; --verde-tinta:#eaf6ef; --verde-tinta-2:#d5eedf;
  --fundo:#f5f7f6; --papel:#ffffff; --linha:#e4e9e6; --linha-2:#eef2ef;
  --cinza-1:#17201b; --cinza-2:#4a5850; --cinza-3:#6b7a72;
  --alerta:#b42318; --alerta-tinta:#fdecea; --aviso:#9a5b00; --aviso-tinta:#fff4e0; --neutro-tinta:#f0f3f1;
  --ok-barra:#1f8a4c; --aviso-barra:#d08a12; --alerta-barra:#c2362b; --neutro-barra:#94a39b;
  --sombra:0 1px 2px rgba(16,32,24,.05),0 6px 20px rgba(16,32,24,.06);
  --sombra-forte:0 2px 4px rgba(16,32,24,.06),0 14px 34px rgba(16,32,24,.10);
  --raio:18px; --f:Inter,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif; --tam:18px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--fundo);color:var(--cinza-1);font-family:var(--f);font-size:var(--tam);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-feature-settings:"cv11","ss01"}
body.grande{--tam:21px}
a{color:var(--verde);text-decoration:none}
a:hover{color:var(--verde-escuro)}
h1{font-size:1.9em;line-height:1.15;margin:0;font-weight:750;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:1.12em;margin:0 0 14px;font-weight:700;letter-spacing:-.01em;color:var(--cinza-1);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h2 .cont{font-weight:500;color:var(--cinza-3);font-size:.85em}
h3{font-size:.95em;margin:0 0 8px;color:var(--cinza-2);font-weight:650}
p{margin:0}
.sub{color:var(--cinza-2);font-size:1em;margin-top:6px}
.nota{color:var(--cinza-3);font-size:.88em}
svg.ic{width:1.15em;height:1.15em;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* moldura */
.shell{display:grid;grid-template-columns:1fr;min-height:100vh}
.lateral{display:none}
.topo{position:sticky;top:0;z-index:9;background:rgba(245,247,246,.86);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--linha)}
.marca{display:flex;align-items:center;gap:10px;color:var(--cinza-1)}
.marca img{height:36px;width:auto}
.marca b{font-size:1.05em;letter-spacing:.08em;font-weight:800;color:var(--verde-escuro)}
.marca small{display:block;font-size:.7em;color:var(--cinza-3);letter-spacing:.02em;margin-top:-3px;font-weight:500}
.quem{display:flex;align-items:center;gap:8px}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--verde-tinta);color:var(--verde-escuro);display:grid;place-items:center;font-weight:750;font-size:.9em}
.quem .nome{display:none;font-weight:600;font-size:.92em}
main{min-width:0;padding:20px 16px 110px;display:flex;flex-direction:column;gap:20px;max-width:1240px;width:100%;margin:0 auto}
nav.menu{position:fixed;left:10px;right:10px;bottom:10px;z-index:9;display:flex;background:var(--papel);border-radius:20px;box-shadow:var(--sombra-forte);padding:6px calc(6px + env(safe-area-inset-bottom,0px)) 6px 6px}
nav.menu a{flex:1;min-width:0;text-align:center;color:var(--cinza-3);font-weight:650;font-size:.68em;padding:8px 2px;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:3px}
nav.menu a svg.ic{width:24px;height:24px}
nav.menu a[aria-current]{color:var(--verde-escuro);background:var(--verde-tinta)}
@media (min-width:1024px){
  .shell{grid-template-columns:292px minmax(0,1fr)}
  .lateral{display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh;padding:26px 18px;background:var(--papel);border-right:1px solid var(--linha)}
  .lateral .marca img{height:44px}
  .topo .marca{display:none}
  .topo{justify-content:flex-end;padding:14px 36px;background:transparent;border-bottom:none;backdrop-filter:none;-webkit-backdrop-filter:none;position:static}
  .quem .nome{display:inline}
  main{padding:4px 36px 60px;gap:24px}
  nav.menu{position:static;flex-direction:column;box-shadow:none;border-radius:0;padding:0;gap:4px;background:transparent}
  nav.menu a{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:14px;font-size:1em;padding:13px 16px;font-weight:600;color:var(--cinza-2)}
  nav.menu a:hover{background:var(--fundo);color:var(--cinza-1)}
  nav.menu a[aria-current]{background:var(--verde);color:#fff;box-shadow:0 6px 16px rgba(31,138,76,.28)}
  .lateral .rodape-lat{margin-top:auto;font-size:.8em;color:var(--cinza-3);line-height:1.4}
  .cards{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
}

/* blocos */
.card{background:var(--papel);border-radius:var(--raio);padding:22px;min-width:0;box-shadow:var(--sombra);border:1px solid var(--linha-2)}
.duas{display:grid;grid-template-columns:1fr;gap:20px}
.cards{display:grid;grid-template-columns:1fr;gap:16px}
.kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ola{display:flex;flex-direction:column;gap:2px}
.ola .data{color:var(--cinza-3);font-weight:550;font-size:.95em}
.kpi{background:var(--papel);border-radius:var(--raio);padding:18px;box-shadow:var(--sombra);border:1px solid var(--linha-2);color:inherit;display:flex;flex-direction:column;gap:10px;transition:transform .15s,box-shadow .15s}
a.kpi:hover{transform:translateY(-2px);box-shadow:var(--sombra-forte);color:inherit}
.kpi .ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--verde-tinta);color:var(--verde)}
.kpi .ico svg.ic{width:22px;height:22px}
.kpi.crit .ico{background:var(--alerta-tinta);color:var(--alerta)}
.kpi.warn .ico{background:var(--aviso-tinta);color:var(--aviso)}
.kpi .rot{font-size:.85em;color:var(--cinza-2);font-weight:600}
.kpi .num{font-size:1.75em;font-weight:780;line-height:1.05;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--cinza-1)}
.kpi.crit .num{color:var(--alerta)}
.kpi .det{font-size:.82em;color:var(--cinza-3)}
.destaque{background:linear-gradient(135deg,var(--verde-escuro),var(--verde));color:#fff;border:none}
.destaque .rot,.destaque .det{color:rgba(255,255,255,.82)}
.destaque .num{color:#fff}
.destaque .ico{background:rgba(255,255,255,.16);color:#fff}

.pill{display:inline-flex;align-items:center;gap:6px;font-weight:650;font-size:.78em;padding:4px 10px;border-radius:99px;white-space:nowrap;line-height:1.2}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}
.pill.ok{background:var(--verde-tinta);color:var(--verde-escuro)}
.pill.warn{background:var(--aviso-tinta);color:var(--aviso)}
.pill.crit{background:var(--alerta-tinta);color:var(--alerta)}
.pill.neutro{background:var(--neutro-tinta);color:var(--cinza-2)}
.selo{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:99px;font-size:.78em;font-weight:750}
.selo.crit{background:var(--alerta-tinta);color:var(--alerta)}
.selo.warn{background:var(--aviso-tinta);color:var(--aviso)}
.selo.ok{background:var(--verde-tinta);color:var(--verde-escuro)}

/* listas */
.lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.lista li{padding:14px 0;border-top:1px solid var(--linha-2)}
.lista li:first-child{border-top:none;padding-top:2px}
.lista li:last-child{padding-bottom:0}
.item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;align-items:start;color:inherit}
a.item:hover .t{color:var(--verde)}
.item .t{font-weight:650;line-height:1.35}
.item .d{font-size:.88em;color:var(--cinza-2);display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.item .v{font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.item .v.crit{color:var(--alerta)}.item .v.warn{color:var(--aviso)}
.item .quando{font-size:.85em;color:var(--cinza-3);white-space:nowrap;text-align:right;line-height:1.3}
.item .quando b{color:var(--cinza-1);font-size:1.05em}
.mais{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:650;font-size:.92em}
.data-tile{width:54px;flex:none;border-radius:12px;background:var(--fundo);text-align:center;padding:6px 0;line-height:1.1}
.data-tile b{display:block;font-size:1.25em;font-weight:780;color:var(--cinza-1)}
.data-tile span{font-size:.7em;text-transform:uppercase;letter-spacing:.06em;color:var(--cinza-3);font-weight:650}
.data-tile.crit{background:var(--alerta-tinta)}.data-tile.crit b,.data-tile.crit span{color:var(--alerta)}
.prazo{display:flex;gap:14px;align-items:flex-start}
.prazo .corpo{min-width:0;flex:1}
.prazo .corpo .t{font-weight:600;line-height:1.35}
.prazo .corpo .d{font-size:.85em;color:var(--cinza-3);margin-top:3px}

/* cartões de imóvel */
.imovel-card{display:flex;flex-direction:column;gap:10px;color:inherit;background:var(--papel);border-radius:var(--raio);padding:18px;box-shadow:var(--sombra);border:1px solid var(--linha-2);transition:transform .15s,box-shadow .15s}
.imovel-card:hover{transform:translateY(-2px);box-shadow:var(--sombra-forte);color:inherit}
.imovel-card .topo-c{display:flex;gap:12px;align-items:flex-start}
.imovel-card .ico{width:46px;height:46px;border-radius:14px;flex:none;display:grid;place-items:center;background:var(--verde-tinta);color:var(--verde)}
.imovel-card.crit .ico{background:var(--alerta-tinta);color:var(--alerta)}
.imovel-card.warn .ico{background:var(--aviso-tinta);color:var(--aviso)}
.imovel-card.neutro .ico{background:var(--neutro-tinta);color:var(--cinza-3)}
.imovel-card .n{font-weight:700;font-size:1.02em;line-height:1.25}
.imovel-card .e{font-size:.84em;color:var(--cinza-3);margin-top:2px}
.imovel-card .r{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.imovel-card .val{font-weight:780;font-variant-numeric:tabular-nums;font-size:1.05em}
.imovel-card .val small{font-weight:500;color:var(--cinza-3);font-size:.75em}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.78em;font-weight:650;padding:4px 10px;border-radius:10px;background:var(--alerta-tinta);color:var(--alerta)}
.chip.warn{background:var(--aviso-tinta);color:var(--aviso)}
.imovel-card .prox{font-size:.84em;color:var(--cinza-2);background:var(--fundo);border-radius:10px;padding:8px 10px}

/* linhas-cartão (contratos, processos, locações, IPTU) */
.lista-rc{display:flex;flex-direction:column}
.rc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:start;padding:16px 12px;margin:0 -12px;border-radius:14px;color:inherit;border-top:1px solid var(--linha-2)}
.rc:first-child{border-top-color:transparent}
a.rc:hover{background:var(--fundo);color:inherit}
a.rc:hover + .rc{border-top-color:transparent}
.rc .a{font-weight:700;font-size:1.02em;line-height:1.3}
.rc .a small{display:block;font-weight:450;font-size:.84em;color:var(--cinza-3);margin-top:2px}
.rc .v{text-align:right;font-weight:780;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.05em}
.rc .v small{display:block;font-weight:500;font-size:.76em;color:var(--cinza-3);white-space:normal}
.rc .m{grid-column:1/-1;font-size:.88em;color:var(--cinza-2);display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.rc .m b{color:var(--cinza-1);font-weight:650}
.rc .x{grid-column:1/-1;font-size:.9em;color:var(--cinza-1);background:var(--verde-tinta);border-radius:12px;padding:9px 12px;line-height:1.4}
.rc .x.crit{background:var(--alerta-tinta)}
.rc .x b{color:var(--verde-escuro)}
.rc .x.crit b{color:var(--alerta)}
@media (min-width:1024px){
  .rc{grid-template-columns:minmax(0,1.25fr) minmax(0,1.5fr) auto}
  .rc .m{grid-column:auto;align-self:center}
  .rc .x{grid-column:1/-1}
}

/* gráficos (HTML puro) */
.barras{display:flex;flex-direction:column;gap:12px}
.barra{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;gap:12px;align-items:center;font-size:.9em}
.barra .rot{color:var(--cinza-2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.barra .trilho{height:14px;border-radius:0 4px 4px 0}
.barra .trilho i{display:block;height:100%;background:var(--verde);border-radius:0 4px 4px 0;min-width:3px}
.barra .val{font-weight:700;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--cinza-1)}
.empilhada{display:flex;height:18px;gap:2px;margin:4px 0 16px}
.empilhada i{display:block;height:100%}
.empilhada i:first-child{border-radius:4px 0 0 4px}
.empilhada i:last-child{border-radius:0 4px 4px 0}
.legenda{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.legenda a{display:flex;align-items:center;gap:10px;color:var(--cinza-1);font-size:.9em}
.legenda a:hover{color:var(--verde)}
.legenda .cor{width:12px;height:12px;border-radius:4px;flex:none}
.legenda b{margin-left:auto;font-variant-numeric:tabular-nums}

/* ficha */
.ficha{display:grid;grid-template-columns:1fr;gap:2px 22px;margin:0}
.ficha dt{font-size:.78em;text-transform:uppercase;letter-spacing:.05em;color:var(--cinza-3);margin-top:12px;font-weight:650}
.ficha dd{margin:0;font-weight:550}
.ficha dd.forte{font-weight:780;font-size:1.3em;color:var(--verde-escuro);letter-spacing:-.01em}
@media (min-width:720px){.ficha{grid-template-columns:1fr 1fr}}

/* botões e formulários */
.botoes{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:14px;border:1.5px solid var(--linha);background:var(--papel);color:var(--cinza-1);font:inherit;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--verde);color:var(--verde-escuro)}
.btn.pri{background:var(--verde);border-color:var(--verde);color:#fff;box-shadow:0 6px 16px rgba(31,138,76,.25)}
.btn.pri:hover{background:var(--verde-escuro);border-color:var(--verde-escuro);color:#fff}
.btn.leve{min-height:40px;padding:6px 12px;font-size:.88em;border-radius:12px}
.filtros{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtros a{flex:none;padding:9px 16px;border-radius:99px;background:var(--papel);color:var(--cinza-2);font-weight:600;font-size:.88em;border:1px solid var(--linha);white-space:nowrap}
.filtros a:hover{border-color:var(--verde);color:var(--verde-escuro)}
.filtros a[aria-current]{background:var(--cinza-1);border-color:var(--cinza-1);color:#fff}
.aviso{padding:13px 16px;border-radius:14px;font-weight:600;display:flex;gap:10px;align-items:center}
.aviso.crit{background:var(--alerta-tinta);color:var(--alerta)}
.aviso.ok{background:var(--verde-tinta);color:var(--verde-escuro)}
.aviso.warn{background:var(--aviso-tinta);color:var(--aviso)}
.aviso.info{background:var(--fundo);color:var(--cinza-2)}
.acao-box{background:linear-gradient(135deg,var(--verde-tinta),#f4fbf7);border:1px solid var(--verde-tinta-2);border-radius:var(--raio);padding:16px 18px;display:flex;gap:12px;align-items:flex-start}
.acao-box svg.ic{color:var(--verde);margin-top:3px}
.acao-box b{color:var(--verde-escuro)}
form.f{display:flex;flex-direction:column;gap:16px;max-width:520px}
form.f label{display:flex;flex-direction:column;gap:7px;font-weight:600;color:var(--cinza-2);font-size:.95em}
form.f input,form.f select{font:inherit;font-size:1.02em;padding:13px 15px;border:1.5px solid var(--linha);border-radius:14px;background:var(--papel);color:var(--cinza-1);width:100%}
form.f input:focus,form.f select:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 4px rgba(52,204,103,.2)}
.vazio{color:var(--cinza-3)}
.rodape{font-size:.8em;color:var(--cinza-3);margin-top:6px;text-align:center}
.voltar{display:inline-flex;align-items:center;gap:6px;font-size:.92em;color:var(--cinza-2);font-weight:600}
.cabeca{display:flex;flex-direction:column;gap:8px}
.cabeca .linha-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.cabeca .grande-val{font-weight:780;font-size:1.25em;color:var(--verde-escuro)}
details summary{cursor:pointer;font-weight:700;color:var(--cinza-2);padding:10px 0;list-style:none;display:flex;align-items:center;gap:8px}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"›";font-size:1.4em;line-height:1;transition:transform .15s;color:var(--cinza-3)}
details[open] summary::before{transform:rotate(90deg)}
.mono{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.86em}
:focus-visible{outline:3px solid rgba(52,204,103,.55);outline-offset:2px;border-radius:8px}
@media (min-width:1024px){nav.menu.movel{display:none}}

/* assinatura da marca */
.wm b{display:block;font-weight:600;letter-spacing:.32em;font-size:1.02em;color:var(--verde-escuro);line-height:1.1}
.wm small{display:block;font-size:.62em;letter-spacing:.34em;text-transform:uppercase;color:var(--cinza-3);font-weight:500;margin-top:4px}
/* ajustes 14/10 noite: quebra de texto longo, celular */
main,.card,.rc,.item,.prazo .corpo,.imovel-card{overflow-wrap:anywhere}
html,body{overflow-x:hidden}
.rc{grid-template-areas:"a v" "m m" "x x"}
.rc .a{grid-area:a}.rc .v{grid-area:v}.rc .m{grid-area:m}.rc .x{grid-area:x}
@media (min-width:1024px){.rc{grid-template-areas:"a m v" "x x x"}}
@media (max-width:640px){
  .kpis{gap:10px}
  .kpi{padding:16px}
  .kpi.destaque{grid-column:1/-1}
  .kpi .num{font-size:1.5em}
  .kpi .ico{width:38px;height:38px;border-radius:12px}
  .legenda{grid-template-columns:1fr}
  .barra{grid-template-columns:minmax(0,7.5em) minmax(0,1fr) auto;gap:10px}
  h1{font-size:1.65em}
  .card{padding:18px}
}
.shell > div{min-width:0}

/* ===== marca maior + responsivo celular / tablet / desktop (14/10 noite) ===== */
.marca img{height:46px}
.wm b{font-size:1.25em;letter-spacing:.3em}
.wm small{font-size:.62em;letter-spacing:.36em}
@media (min-width:1024px){
  .lateral{padding:30px 20px;gap:30px}
  .lateral .marca{flex-direction:column;align-items:flex-start;gap:14px;padding:4px 6px 10px}
  .lateral .marca img{height:76px}
  .lateral .wm b{font-size:1.7em;letter-spacing:.3em}
  .lateral .wm small{font-size:.66em;letter-spacing:.42em;margin-top:6px}
}
/* tablet em pé (640–1023): menu embaixo, grade de 2 colunas */
@media (min-width:640px) and (max-width:1023px){
  main{padding:24px 28px 120px;gap:22px}
  .topo{padding:14px 28px}
  .marca img{height:54px}
  .wm b{font-size:1.45em}
  .kpis{grid-template-columns:1fr 1fr;gap:16px}
  .cards{grid-template-columns:1fr 1fr}
  nav.menu.movel{left:50%;right:auto;transform:translateX(-50%);width:min(680px,calc(100% - 40px));bottom:16px}
  nav.menu.movel a{font-size:.78em}
  .legenda{grid-template-columns:1fr 1fr}
}
/* desktop: 4 indicadores lado a lado; blocos em duas colunas só com espaço de verdade */
@media (min-width:1024px){ .kpis{grid-template-columns:1fr 1fr} }
@media (min-width:1200px){
  .kpis{grid-template-columns:repeat(4,1fr)}
  .duas{grid-template-columns:1fr 1fr}
  .duas.largo{grid-template-columns:1.35fr 1fr}
}
@media (min-width:1600px){ main{max-width:1400px} }
.legenda{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.legenda b{white-space:nowrap;padding-left:8px}
@media (max-width:639px){ .kpi:last-child{grid-column:1/-1} .legenda{grid-template-columns:1fr} }
/* financeiro: colunas mensais (2 séries, mesmo eixo) e barras recebido x esperado */
:root{--serie-1:#1f8a4c;--serie-2:#3d6fb8}
.leg-serie{display:flex;gap:18px;font-size:.88em;color:var(--cinza-2);margin:-4px 0 14px}
.leg-serie span{display:inline-flex;align-items:center;gap:8px}
.leg-serie i{width:12px;height:12px;border-radius:4px;display:inline-block}
.colunas{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;align-items:end;height:240px;padding-top:6px;border-bottom:1px solid var(--linha)}
.col-mes{display:flex;flex-direction:column;align-items:center;height:100%;color:inherit;border-radius:10px;padding:4px 0 0}
.col-mes:hover,.col-mes.sel{background:var(--fundo)}
.col-mes .par{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px}
.col-mes .par i{display:block;width:min(38%,22px);border-radius:4px 4px 0 0;min-height:2px}
.col-mes .par i.s1{background:var(--serie-1)}
.col-mes .par i.s2{background:var(--serie-2)}
.colunas + .nota{margin-top:10px}
.mes-rot{font-size:.78em;font-weight:650;color:var(--cinza-2);margin-top:6px;text-transform:capitalize}
.mes-res{font-size:.7em;font-weight:650;color:var(--cinza-3);white-space:nowrap;margin:2px 0 6px;font-variant-numeric:tabular-nums}
.mes-res.neg{color:var(--alerta)}
@media (max-width:639px){.colunas{height:190px;gap:2px}.mes-res{font-size:.6em}.col-mes .par i{width:42%}}
.barra.larga{grid-template-columns:minmax(0,13em) minmax(0,1fr) auto;color:inherit}
a.barra:hover .rot{color:var(--verde)}
.trilho.duplo{position:relative;height:16px}
.trilho.duplo b{position:absolute;left:0;top:0;height:100%;border-radius:0 4px 4px 0;background:var(--verde-tinta);box-shadow:inset 0 0 0 1px var(--verde-tinta-2)}
.trilho.duplo i{position:relative}
.barra .val small{display:block;font-weight:550;font-size:.82em;color:var(--cinza-3);text-align:right}
.barra .val small.falta{color:var(--alerta)}
@media (max-width:639px){.barra.larga{grid-template-columns:minmax(0,8em) minmax(0,1fr) auto}}
.meses-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin-top:6px}
.meses-grade span{font-size:.68em;text-align:center;padding:5px 0;border-radius:6px;font-weight:650;line-height:1.2}
.meses-grade .pago{background:var(--verde-tinta);color:var(--verde-escuro)}
.meses-grade .parcial{background:var(--aviso-tinta);color:var(--aviso)}
.meses-grade .aberto{background:var(--alerta-tinta);color:var(--alerta)}
.meses-grade .futuro{background:var(--fundo);color:var(--cinza-3)}
.meses-grade .nada{background:transparent;color:var(--linha)}
.leg-grade{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.8em;color:var(--cinza-2);margin-top:10px}
.leg-grade span{display:inline-flex;align-items:center;gap:6px}
.leg-grade i{width:12px;height:12px;border-radius:4px;display:inline-block}
.kpi .num{white-space:nowrap}
@media (max-width:639px){
  .kpi .num{font-size:clamp(1.15em,6.2vw,1.5em)}
  .mes-res{display:none}
  .mes-rot{font-size:.68em}
}
@media (max-width:639px){.so-largo{display:none}}
.big-inv{font-size:2em;font-weight:780;letter-spacing:-.02em;color:var(--verde-escuro);margin:0}
