/* Fase 3b port — relatorios-financeiro.css */
/* ============================================================
   FiveDesk — Relatórios · Indicador FINANCEIRO (.fin)
   Depende dos tokens de fivedesk-theme.css + dark.css
   ============================================================ */
#page-relatorios .relatorios-fd .fin{
  --f-blue:#007BFF; --f-blue-bg:rgba(0,123,255,.10);
  --f-ok:#15875b; --f-ok-dot:#1f9d57; --f-ok-bg:#e8f7ef;
  --f-warn:#b4790a; --f-warn-dot:#e0a106; --f-warn-bg:#fff3df;
  --f-bad:#cf3b40; --f-bad-dot:#e5484d; --f-bad-bg:#fdecec;
  --f-cost:#5b6a86; --f-cost-soft:#aab4c6;
  --f-elev-1:0 0.0625rem 0.125rem rgba(13,27,52,.06);
  --f-elev-2:0 0.625rem 1.625rem -0.875rem rgba(13,27,52,.20);
  --d1:#0a78f0; --d2:#14b3c4; --d3:#6b46c1; --d4:#e0701e;
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin{
  --f-blue:#7fb6ff; --f-blue-bg:rgba(59,155,255,.14);
  --f-ok:#3fc285; --f-ok-dot:#34d399; --f-ok-bg:rgba(31,157,87,.16);
  --f-warn:#f1b53d; --f-warn-dot:#e0a106; --f-warn-bg:rgba(224,161,6,.14);
  --f-bad:#f1797d; --f-bad-dot:#e5484d; --f-bad-bg:rgba(207,59,64,.16);
  --f-cost:#9aa7bd; --f-cost-soft:#5b6a86;
  --f-elev-2:0 0.75rem 1.875rem -1rem rgba(0,0,0,.6);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin{
  --f-blue:#0b63d6; --f-blue-bg:rgba(11,99,214,.14);
  --f-ok:#0e4a2c; --f-ok-dot:#15683f; --f-ok-bg:rgba(21,104,63,.14);
  --f-warn:#6b3b08; --f-warn-dot:#8a5210; --f-warn-bg:rgba(138,82,11,.14);
  --f-bad:#6e1614; --f-bad-dot:#ef4444; --f-bad-bg:rgba(239,68,68,.14);
  --f-cost:#333b45; --f-cost-soft:#64748b;
  --f-elev-2:0 0.75rem 1.875rem -1rem rgba(0,0,0,.5);
}

#page-relatorios .relatorios-fd .fin .chart-head .ch-tot b{ font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin{ flex:none; }
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin{
  flex:none; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:0.125rem; padding-left:0.75rem;
}
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin b{ font-size:1.75rem; letter-spacing:-0.0625rem; white-space:nowrap; line-height:1.05; color:var(--f-blue); }
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin span{
  white-space:nowrap; font-size:0.65625rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);
}
#page-relatorios .relatorios-fd .fin-body{ padding:1.125rem 1.625rem 1.375rem; }
#page-relatorios .relatorios-fd .chart-card.fin > .subnav,
#page-relatorios .relatorios-fd .chart-card.fin > #finSubnav.subnav{
  padding-left:1.625rem;
  padding-right:1.625rem;
}
#page-relatorios .relatorios-fd .chart-card.fin > .fin-body{
  padding-left:1.625rem;
  padding-right:1.625rem;
}
#page-relatorios .relatorios-fd .fin-kpi-sec-l{
  margin:0.25rem 0 0.75rem; font-size:0.6875rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--rel-ink-muted);
}
#page-relatorios .relatorios-fd .fk-cmp{ margin-top:auto; }
#page-relatorios .relatorios-fd .fk-cmp .cmp-line{ margin-top:0.6875rem; padding-top:0.6875rem; border-top:0.0625rem solid var(--line); }

/* ===== FLUXO OPERACIONAL → FINANCEIRO ===== */
#page-relatorios .relatorios-fd .fin-flow-stack{
  display:flex;
  flex-direction:column;
  gap:0.875rem;
  margin-bottom:0.875rem;
}
#page-relatorios .relatorios-fd .fin-flow-stack > .fin-flow{ margin-bottom:0; }
#page-relatorios .relatorios-fd .fin-flow{ display:grid; grid-template-columns:repeat(5, 1fr) ; gap:0; margin-bottom:0.875rem;
  background:var(--surface); border:0.0625rem solid var(--line); border-radius:var(--radius-card); box-shadow:var(--f-elev-1); overflow:hidden; --ff-type-scale:1.2; }
#page-relatorios .relatorios-fd .ff-node{ position:relative; padding:1rem 1.125rem 1rem 1rem; display:flex; flex-direction:column; gap:0.4375rem; min-width:0; }
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node{
  min-height:12.65rem;
  padding:1.125rem 0.875rem 1rem 0.75rem;
  gap:0;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node .ff-v{
  min-height:calc(1.375rem * var(--ff-type-scale, 1) * 1.05);
  margin-top:0.5rem;
}
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node > .ff-x-stack,
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node > .ff-x,
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node > .ff-invest-foot{
  margin-top:0.75rem;
}
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node .ff-x{
  min-height:calc(0.6875rem * var(--ff-type-scale, 1) * 1.35);
  margin-top:0;
}
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node .ff-cmp{
  min-height:calc(0.6875rem * var(--ff-type-scale, 1) * 1.4 + 0.5rem);
}
#page-relatorios .relatorios-fd .ff-node + .ff-node{ border-left:0.0625rem solid var(--line); }
#page-relatorios .relatorios-fd .ff-node:nth-child(-n+2) .ff-ic{ display:none; }
#page-relatorios .relatorios-fd .ff-node .ff-ic{ display:none !important; }
#page-relatorios .relatorios-fd .chart-card.fin .fpanel .fp-ic{ display:none !important; }
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin{
  display:none !important;
}
#page-relatorios .relatorios-fd .ff-node:nth-child(-n+2) .ff-v{ font-size:calc(1.25rem * var(--ff-type-scale, 1)); letter-spacing:-0.03125rem; color:var(--rel-ink-3); }
#page-relatorios .relatorios-fd .ff-node .ff-ic{ width:2.125rem; height:2.125rem; border-radius:0.625rem; display:flex; align-items:center; justify-content:center; background:var(--f-blue-bg); color:var(--f-blue); }
#page-relatorios .relatorios-fd .ff-node .ff-ic svg{ width:1.125rem; height:1.125rem; }
#page-relatorios .relatorios-fd .ff-node.is-cost .ff-ic{ background:rgba(var(--rel-ink-faint-rgb),.12); color:var(--f-cost); }
#page-relatorios .relatorios-fd .ff-node.is-warn .ff-ic{ background:var(--f-warn-bg); color:var(--f-warn); }
#page-relatorios .relatorios-fd .ff-node.is-warn .ff-v{ color:var(--f-warn); }
#page-relatorios .relatorios-fd .fin .chart-head .ch-tot-fin span.fin-head-dia{
  font-size:0.75rem; font-weight:700; letter-spacing:0; text-transform:none; color:var(--muted);
}
#page-relatorios .relatorios-fd .fin .chart-head .fin-head-cmp{
  margin-top:0.25rem; font-size:0.6875rem; font-weight:700; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:0.25rem 0.375rem;
}
#page-relatorios .relatorios-fd .fin .chart-head .fin-head-cmp .delta{ font-size:0.6875rem; }
#page-relatorios .relatorios-fd .fin .chart-head .fin-head-cmp .lbl{ font-size:0.625rem; font-weight:600; color:var(--muted); }
#page-relatorios .relatorios-fd .ff-node.is-ok .ff-ic{ background:var(--f-blue-bg); color:var(--f-blue); }
#page-relatorios .relatorios-fd .ff-node.is-ok .ff-v{ color:var(--f-blue); }
#page-relatorios .relatorios-fd .ff-node .ff-cmp .delta svg{ width:0.75rem; height:0.75rem; }
#page-relatorios .relatorios-fd .ff-node .ff-cmp .delta.up{ color:var(--f-ok); }
#page-relatorios .relatorios-fd .ff-node .ff-cmp .delta.down{ color:var(--f-bad); }
#page-relatorios .relatorios-fd .ff-node .ff-cmp .delta.flat{ color:var(--muted); }
#page-relatorios .relatorios-fd .ff-node .ff-cmp .lbl{ color:var(--muted); font-weight:600; font-size:calc(0.65625rem * var(--ff-type-scale, 1)); }
#page-relatorios .relatorios-fd .ff-node .ff-cmp-sub{ font-size:calc(0.65625rem * var(--ff-type-scale, 1)); font-weight:600; }
#page-relatorios .relatorios-fd .ff-node.is-rev{
  padding:1rem 1.125rem 1rem 1rem;
  background:var(--surface);
}
#page-relatorios .relatorios-fd .ff-node.is-rev .ff-v{ font-size:1.375rem; color:var(--ink); }
#page-relatorios .relatorios-fd .ff-node.is-rev .ff-l{ color:var(--muted); }
#page-relatorios .relatorios-fd .ff-node.is-margin{
  background:color-mix(in srgb, var(--f-ok-bg) 45%, var(--surface));
  border-left-color:color-mix(in srgb, var(--f-ok-dot) 22%, var(--line)) !important;
}
#page-relatorios .relatorios-fd .ff-node.is-invest{
  background:linear-gradient(165deg, color-mix(in srgb, var(--f-blue) 18%, var(--surface)) 0%, color-mix(in srgb, var(--f-blue) 12%, var(--surface)) 52%, color-mix(in srgb, var(--f-blue) 8%, var(--surface)) 100%);
  border-left-color:color-mix(in srgb, var(--f-blue) 42%, var(--line)) !important;
  box-shadow:inset 0 0 0 0.0625rem color-mix(in srgb, var(--f-blue) 18%, transparent);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-invest{ border-left-color:var(--rel-line) !important; }
#page-relatorios .relatorios-fd .ff-node.is-margin .ff-ic{ background:var(--f-ok-bg); color:var(--f-ok); }
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-ic{
  background:color-mix(in srgb, var(--f-blue) 14%, var(--rel-surface));
  color:var(--f-blue);
  box-shadow:inset 0 0 0 0.0625rem color-mix(in srgb, var(--f-blue) 14%, transparent);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-invest .ff-ic{ background:color-mix(in srgb, var(--f-blue) 14%, var(--surface)); }
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-v{
  color:var(--f-blue);
  font-size:calc(1.375rem * var(--ff-type-scale, 1));
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-x{
  color:color-mix(in srgb, var(--muted) 88%, var(--f-blue));
  font-weight:600;
  font-size:calc(0.6875rem * var(--ff-type-scale, 1));
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-x-day{
  margin-top:0;
  font-size:calc(0.71875rem * var(--ff-type-scale, 1));
  font-weight:800;
  color:var(--f-blue);
  letter-spacing:-.02em;
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  margin-top:0.75rem;
  min-width:0;
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot--split{
  flex-direction:row;
  align-items:stretch;
  gap:0;
  max-width:100%;
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot-col{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  min-width:0;
}
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot--split .ff-invest-foot-col:first-child{
  padding-right:0.75rem;
  margin-right:0.75rem;
  border-right:0.0625rem solid color-mix(in srgb,var(--f-blue) 22%,var(--line));
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot--split .ff-invest-foot-col:first-child{ border-right:0.0625rem solid var(--rel-line); }
#page-relatorios .relatorios-fd .ff-node.is-invest .ff-invest-foot-col--exc{
  flex:1;
  min-width:0;
}
#page-relatorios .relatorios-fd .ff-node .ff-l{ font-size:calc(0.65625rem * var(--ff-type-scale, 1)); font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); line-height:1.25; }
#page-relatorios .relatorios-fd .ff-node.is-rev .ff-l{ color:color-mix(in srgb, var(--f-blue) 70%, var(--ink)); }
#page-relatorios .relatorios-fd .ff-node .ff-v{ font-size:calc(1.375rem * var(--ff-type-scale, 1)); font-weight:800; letter-spacing:-0.04375rem; color:var(--ink); line-height:1.05; font-variant-numeric:tabular-nums; margin-top:0.125rem; }
#page-relatorios .relatorios-fd .ff-node.is-rev .ff-v{ font-size:calc(1.625rem * var(--ff-type-scale, 1)); letter-spacing:-0.05625rem; color:var(--f-blue); }
#page-relatorios .relatorios-fd .ff-node.is-margin .ff-v{ color:var(--f-ok); font-size:calc(1.375rem * var(--ff-type-scale, 1)); }
#page-relatorios .relatorios-fd .ff-node .ff-x{ font-size:calc(0.6875rem * var(--ff-type-scale, 1)); color:var(--muted); font-weight:600; margin-top:0.125rem; line-height:1.35; }
#page-relatorios .relatorios-fd .ff-node.is-margin .ff-x{ font-size:calc(0.65625rem * var(--ff-type-scale, 1)); line-height:1.35; }
#page-relatorios .relatorios-fd .ff-node .ff-cmp{
  margin-top:auto; padding-top:0.875rem; display:flex; flex-wrap:wrap; align-items:center; gap:0.25rem 0.375rem;
  font-size:calc(0.6875rem * var(--ff-type-scale, 1)); font-weight:700;
}
#page-relatorios .relatorios-fd .ff-node .ff-cmp.ff-cmp-sub,
#page-relatorios .relatorios-fd .ff-node .ff-cmp-sub{
  margin-top:0;
  padding-top:0.375rem;
}
#page-relatorios .relatorios-fd .ff-node .ff-arrow{ display:none !important; pointer-events:none; }
#page-relatorios .relatorios-fd .fin-flow:not(.fin-pacote-flow) > .ff-node::after,
#page-relatorios .relatorios-fd .ff-node:not(:last-child)::after{
  display:none !important;
  content:none !important;
}
#page-relatorios .relatorios-fd .ff-node .ff-x-stack{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  min-width:0;
}
#page-relatorios .relatorios-fd .ff-node .ff-x-stack .ff-x{ margin-top:0; }

/* ===== KPIs (tendência) ===== */
#page-relatorios .relatorios-fd .fin-kpis{ display:grid; grid-template-columns:repeat(6,1fr); gap:0.875rem; margin-bottom:1.25rem; }
#page-relatorios .relatorios-fd .fin-kpis--trends .fk .fk-v{ font-size:1.3125rem; letter-spacing:-0.0375rem; color:var(--rel-ink-3); }
#page-relatorios .relatorios-fd .fin-kpis--trends .fk .fk-v .pre,
#page-relatorios .relatorios-fd .fin-kpis--trends .fk .fk-v .u{ font-size:0.8125rem; }
#page-relatorios .relatorios-fd .fk{ background:var(--surface); border:0.0625rem solid var(--line); border-radius:var(--radius-card); box-shadow:var(--f-elev-1); padding:0.875rem 0.9375rem 0.75rem; display:flex; flex-direction:column; transition:.16s; min-height:0; }
#page-relatorios .relatorios-fd .fk:hover{ box-shadow:var(--f-elev-2); transform:translateY(-0.125rem); }
#page-relatorios .relatorios-fd .fk .fk-top{ display:flex; align-items:center; gap:0.4375rem; margin-bottom:0.375rem; }
#page-relatorios .relatorios-fd .fk .fk-dot{ width:0.5rem; height:0.5rem; border-radius:50%; background:var(--f-blue); flex:none; }
#page-relatorios .relatorios-fd .fk.ac-cost .fk-dot{ background:var(--f-cost); } .fk.ac-ok .fk-dot{ background:var(--f-ok-dot); } .fk.ac-warn .fk-dot{ background:var(--f-warn-dot); }
#page-relatorios .relatorios-fd .fk .fk-l{ font-size:0.65625rem; font-weight:700; letter-spacing:.03em; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-relatorios .relatorios-fd .fk .fk-v{ font-size:1.5625rem; font-weight:800; letter-spacing:-0.0625rem; color:var(--ink); line-height:1.05; font-variant-numeric:tabular-nums; margin:0.125rem 0 0; }
#page-relatorios .relatorios-fd .fk .fk-v .pre{ font-size:0.875rem; font-weight:700; color:var(--muted); letter-spacing:0; }
#page-relatorios .relatorios-fd .fk .fk-v .u{ font-size:0.875rem; font-weight:700; color:var(--muted); letter-spacing:0; }
#page-relatorios .relatorios-fd .fk .fk-spark{ display:none; height:0; margin:0; overflow:hidden; opacity:.85; }
#page-relatorios .relatorios-fd .fk .fk-spark:not(:empty){ display:block; height:1.625rem; margin:0.375rem 0 0.125rem; }
#page-relatorios .relatorios-fd .fk .fk-spark svg{ width:100%; height:100%; display:block; overflow:visible; }
#page-relatorios .relatorios-fd .fk .fk-foot{
  margin-top:auto; padding-top:0.5625rem; border-top:0.0625rem solid var(--line);
  display:flex; flex-direction:column; align-items:flex-start; gap:0.25rem; font-size:0.71875rem; font-weight:700;
}
#page-relatorios .relatorios-fd .fk .fk-foot .delta-row{ display:flex; align-items:center; flex-wrap:wrap; gap:0.375rem; }
#page-relatorios .relatorios-fd .fk .fk-foot .delta{ display:inline-flex; align-items:center; gap:0.1875rem; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fk .fk-foot .delta.up{ color:var(--f-ok); } .fk .fk-foot .delta.down{ color:var(--f-bad); } .fk .fk-foot .delta.flat{ color:var(--muted); }
#page-relatorios .relatorios-fd .fk .fk-foot .delta svg{ width:0.8125rem; height:0.8125rem; }
#page-relatorios .relatorios-fd .fk .fk-foot .lbl{ color:var(--muted); font-weight:600; font-size:0.6875rem; }
#page-relatorios .relatorios-fd .fk .fk-abs-wrap{ width:100%; }
#page-relatorios .relatorios-fd .fk .fk-abs{ display:block; font-size:0.6875rem; font-weight:600; color:var(--muted); line-height:1.35; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fk .fk-cmp .fk-abs{ margin-top:0.375rem; }

/* ===== painéis ===== */
#page-relatorios .relatorios-fd .fin-row{ display:grid; gap:1.375rem; margin-bottom:1.5rem; }
#page-relatorios .relatorios-fd .fin-row.r-full{ grid-template-columns:1fr; }
#page-relatorios .relatorios-fd .fin-row.r-combo{ grid-template-columns:minmax(0,1.62fr) minmax(0,1fr); align-items:stretch; }
#page-relatorios .relatorios-fd .fin-row.r-split{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
#page-relatorios .relatorios-fd .fpanel{ background:var(--surface); border:0.0625rem solid var(--line); border-radius:var(--radius-card); box-shadow:var(--f-elev-1); display:flex; flex-direction:column; overflow:hidden; }
#page-relatorios .relatorios-fd .fpanel .fp-head{ display:flex; align-items:flex-start; gap:0.6875rem; padding:1rem 1.125rem 0; }
#page-relatorios .relatorios-fd .fpanel .fp-ic{ width:2rem; height:2rem; border-radius:0.5625rem; background:var(--f-blue-bg); color:var(--f-blue); display:flex; align-items:center; justify-content:center; flex:none; }
#page-relatorios .relatorios-fd .fpanel .fp-ic svg{ width:1.0625rem; height:1.0625rem; }
#page-relatorios .relatorios-fd .fpanel .fp-head h3{ font-size:1rem; font-weight:800; letter-spacing:-0.01875rem; line-height:1.22; margin:0; color:var(--ink); text-align:left; }
#page-relatorios .relatorios-fd .fpanel .fp-head .fp-sub{ font-size:0.75rem; font-weight:500; line-height:1.4; color:var(--muted); margin-top:0.375rem; text-align:left; }
#page-relatorios .relatorios-fd .fpanel .fp-head .sp{ flex:1; }
#page-relatorios .relatorios-fd .fpanel .fp-body{ padding:1rem 1.125rem 1.375rem; flex:1; display:flex; flex-direction:column; min-height:0; }
#page-relatorios .relatorios-fd .fin-dept-panel .fp-head{ padding-left:1.125rem; padding-right:1.125rem; }
#page-relatorios .relatorios-fd .fin-dept-panel .fp-body{ padding-left:1.125rem; padding-right:1.125rem; padding-bottom:1.125rem; }
#page-relatorios .relatorios-fd .fin-row.r-combo .fpanel .fp-body:has(.fin-treemap){ padding-bottom:1.125rem; }

/* ===== custo por departamento (árvore Categoria → Departamento → Incidente) ===== */
#page-relatorios .relatorios-fd .fin-dept-tree{ display:flex; flex-direction:column; min-height:0; }
#page-relatorios .relatorios-fd .fin-dept-list{
  display:grid;
  grid-template-columns:1.5rem 2.25rem minmax(0, max-content) var(--fd-vol-pad, 1.875rem) minmax(0, 1fr) var(--fd-vol-pad, 1.875rem) auto 1.125rem;
  row-gap:0;
  --fd-vol-pad:1.875rem;
}
#page-relatorios .relatorios-fd .fd-vol-track{
  min-width:0;
  width:100%;
  align-self:center;
}
#page-relatorios .relatorios-fd .fd-vol-track .fd-bar,
#page-relatorios .relatorios-fd .fd-vol-track .fd-dep-bar,
#page-relatorios .relatorios-fd .fd-vol-track .fd-inc-bar,
#page-relatorios .relatorios-fd .fd-vol-track .ct-bar,
#page-relatorios .relatorios-fd .fd-vol-track .ct-sub-bar{
  display:block;
  width:100%;
  min-width:0;
}
#page-relatorios .relatorios-fd .fd-cat-item{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  border-top:0.0625rem solid var(--line);
}
#page-relatorios .relatorios-fd .fd-cat-item:first-child{ border-top:0; }
#page-relatorios .relatorios-fd .fd-cat-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  grid-template-rows:auto auto;
  column-gap:0.8125rem;
  row-gap:0.125rem;
  align-items:center;
  width:100%; padding:0.75rem 0.25rem; border:0; background:none; font-family:inherit; cursor:pointer; text-align:left; transition:.12s; border-radius:0.625rem;
}
#page-relatorios .relatorios-fd .fd-cat-row .fd-rk{ grid-column:1; grid-row:1 / 3; align-self:start; margin-top:0.125rem; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-av{ grid-column:2; grid-row:1 / 3; align-self:start; margin-top:0.125rem; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-name{ grid-column:3; grid-row:1; padding-left:0.625rem; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-clf-sub{ grid-column:3; grid-row:2; padding-left:0.625rem; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-vol-track{ grid-column:5; grid-row:2; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-val{ grid-column:7; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .fd-cat-row .fd-chev{ grid-column:8; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .fd-cat-detail{ grid-column:1 / -1; }
#page-relatorios .relatorios-fd .fd-cat-row:hover{ background:var(--field); }
#page-relatorios .relatorios-fd .fd-rk{ font-size:0.8125rem; font-weight:800; color:#c2cde0; text-align:center; font-variant-numeric:tabular-nums; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-rk{ color:var(--rel-accent-ink); }
#page-relatorios .relatorios-fd .fd-cat-item:nth-child(1) .fd-rk{ color:var(--f-blue); }
#page-relatorios .relatorios-fd .fd-av{ width:2.25rem; height:2.25rem; border-radius:0.625rem; color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; flex:none; letter-spacing:-0.01875rem; }
#page-relatorios .relatorios-fd .fd-id{ min-width:0; display:flex; flex-direction:column; gap:0.125rem; }
#page-relatorios .relatorios-fd .fd-name{ font-size:0.84375rem; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
#page-relatorios .relatorios-fd .fd-clf-sub{
  font-size:0.71875rem; font-weight:600; color:var(--rel-icon-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.3;
}
#page-relatorios .relatorios-fd .fd-meta{ font-size:0.71875rem; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-relatorios .relatorios-fd .fd-bar{ height:0.4375rem; border-radius:0.25rem; background:var(--field); overflow:hidden; position:relative; min-width:3.125rem; }
#page-relatorios .relatorios-fd .fd-bar i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.25rem; background:linear-gradient(90deg,#5fb0ff,var(--rel-accent-chart)); transition:width 1s cubic-bezier(.22,1,.36,1); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-bar i{ background:linear-gradient(90deg,var(--rel-accent-ink),var(--rel-accent-chart)); }
#page-relatorios .relatorios-fd .fd-val{ text-align:right; white-space:nowrap; }
#page-relatorios .relatorios-fd .fd-val b{ font-size:0.90625rem; font-weight:800; color:var(--ink); display:block; line-height:1.15; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fd-chev{ width:1.125rem; height:1.125rem; color:#aeb9cc; transition:transform .22s cubic-bezier(.22,1,.36,1); justify-self:center; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-chev{ color:var(--rel-accent-ink); }
#page-relatorios .relatorios-fd .fd-cat-item.open > .fd-cat-row .fd-chev,
#page-relatorios .relatorios-fd .fd-dep-item.open > .fd-dep-row .fd-chev{ transform:rotate(180deg); color:var(--f-blue); }
#page-relatorios .relatorios-fd .fd-cat-item.open > .fd-cat-row{ background:var(--field); }
#page-relatorios .relatorios-fd .fd-cat-detail{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1); }
#page-relatorios .relatorios-fd .fd-cat-item.open > .fd-cat-detail{ grid-template-rows:1fr; }
#page-relatorios .relatorios-fd .fd-cat-detail-in{ overflow:hidden; padding:0 0.25rem; }
#page-relatorios .relatorios-fd .fd-cat-item.open > .fd-cat-detail .fd-cat-detail-in{ padding:0.25rem 0.25rem 0.875rem; }
#page-relatorios .relatorios-fd .fd-dep-h{ font-size:0.6875rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--rel-ink-muted); margin:0.125rem 0 0.625rem 3.0625rem; }
#page-relatorios .relatorios-fd .fd-dep-list{
  display:grid;
  grid-template-columns:minmax(0, max-content) var(--fd-vol-pad, 1.875rem) minmax(0, 1fr) var(--fd-vol-pad, 1.875rem) auto 1.125rem;
  margin-left:3.0625rem;
}
#page-relatorios .relatorios-fd .fd-dep-item{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  border-top:0.0625rem solid rgba(var(--rel-neutral-rgb),.28);
}
#page-relatorios .relatorios-fd .fd-dep-item:first-of-type{ border-top:0; }
#page-relatorios .relatorios-fd .fd-dep-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  grid-template-rows:auto auto;
  column-gap:0.8125rem;
  row-gap:0.125rem;
  align-items:center;
  width:100%; padding:0.5625rem 0.25rem; border:0; background:none; font-family:inherit; cursor:pointer; text-align:left; border-radius:0.5rem; transition:.12s;
}
#page-relatorios .relatorios-fd .fd-dep-row .fd-dep-name{ grid-column:1; grid-row:1; }
#page-relatorios .relatorios-fd .fd-dep-row .fd-clf-sub{ grid-column:1; grid-row:2; }
#page-relatorios .relatorios-fd .fd-dep-row .fd-vol-track{ grid-column:3; grid-row:2; }
#page-relatorios .relatorios-fd .fd-dep-row .fd-dep-val{ grid-column:5; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .fd-dep-row .fd-chev{ grid-column:6; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .fd-dep-detail{ grid-column:1 / -1; }
#page-relatorios .relatorios-fd .fd-dep-name{ font-size:0.78125rem; font-weight:800; color:var(--rel-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
#page-relatorios .relatorios-fd .fd-dep-meta{ font-size:0.6875rem; font-weight:600; color:var(--rel-icon-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-relatorios .relatorios-fd .fd-dep-row:hover{ background:rgba(var(--rel-accent-rgb),.05); }
#page-relatorios .relatorios-fd .fd-dep-item.open > .fd-dep-row{ background:rgba(var(--rel-accent-rgb),.06); }
#page-relatorios .relatorios-fd .fd-dep-bar{ height:0.375rem; border-radius:0.1875rem; background:var(--field); overflow:hidden; position:relative; min-width:2.5rem; }
#page-relatorios .relatorios-fd .fd-dep-bar i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.1875rem; background:linear-gradient(90deg,#a9c8f0,#5b8fd6); transition:width 1s cubic-bezier(.22,1,.36,1); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-dep-bar i{ background:linear-gradient(90deg,rgba(var(--rel-accent-rgb),0.16),var(--rel-accent-ink)); }
#page-relatorios .relatorios-fd .fd-dep-val{ text-align:right; white-space:nowrap; }
#page-relatorios .relatorios-fd .fd-dep-val b{ font-size:0.78125rem; font-weight:800; color:var(--ink); font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fd-dep-detail{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1); }
#page-relatorios .relatorios-fd .fd-dep-item.open > .fd-dep-detail{ grid-template-rows:1fr; }
#page-relatorios .relatorios-fd .fd-dep-detail-in{ overflow:hidden; padding:0; }
#page-relatorios .relatorios-fd .fd-dep-item.open > .fd-dep-detail .fd-dep-detail-in{ padding:0.125rem 0 0.625rem; }
#page-relatorios .relatorios-fd .fd-inc-h{ font-size:0.65625rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--rel-ink-muted); margin:0.25rem 0 0.5rem 0.5rem; }
#page-relatorios .relatorios-fd .fd-inc-list{
  display:grid;
  grid-template-columns:minmax(0, max-content) var(--fd-vol-pad, 1.875rem) minmax(0, 1fr) var(--fd-vol-pad, 1.875rem) auto;
  padding:0 0 0 0.5rem;
}
#page-relatorios .relatorios-fd .fd-inc-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  grid-template-rows:auto auto;
  row-gap:0.125rem;
  align-items:center;
  padding:0.375rem 0;
}
#page-relatorios .relatorios-fd .fd-inc-row .fd-inc-n{ grid-column:1; grid-row:1; }
#page-relatorios .relatorios-fd .fd-inc-row .fd-clf-sub{ grid-column:1; grid-row:2; }
#page-relatorios .relatorios-fd .fd-inc-row .fd-vol-track{ grid-column:3; grid-row:2; }
#page-relatorios .relatorios-fd .fd-inc-row .fd-inc-v{ grid-column:5; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .fd-inc-n{ font-size:0.78125rem; font-weight:800; color:var(--rel-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
#page-relatorios .relatorios-fd .fd-inc-bar{ height:0.3125rem; border-radius:0.1875rem; background:var(--field); overflow:hidden; position:relative; }
#page-relatorios .relatorios-fd .fd-inc-bar i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.1875rem; background:linear-gradient(90deg,#c5d6ef,#7aa3d6); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-inc-bar i{ background:linear-gradient(90deg,rgba(var(--rel-accent-rgb),0.16),var(--rel-accent-ink)); }
#page-relatorios .relatorios-fd .fd-inc-q{
  font-size:0.6875rem; font-weight:700; color:var(--rel-icon-muted); text-align:right; font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
#page-relatorios .relatorios-fd .fd-inc-v{ font-size:0.75rem; font-weight:800; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fd-inc-empty{ font-size:0.75rem; color:var(--muted); padding:0.25rem 0.5rem 0.5rem; }
@media (max-width:680px){
  #page-relatorios .relatorios-fd .fin-dept-list{
    grid-template-columns:1.375rem 2rem minmax(0, 1fr) 0 0 0 auto 1.125rem;
  }
  #page-relatorios .relatorios-fd .fd-cat-row .fd-vol-track{ display:none; }
  #page-relatorios .relatorios-fd .fd-dep-h{ margin-left:0; }
  #page-relatorios .relatorios-fd .fd-dep-list{ margin-left:0; grid-template-columns:1fr auto 1.125rem; }
  #page-relatorios .relatorios-fd .fd-dep-row .fd-vol-track{ display:none; }
  #page-relatorios .relatorios-fd .fd-inc-list{ grid-template-columns:1fr auto; }
  #page-relatorios .relatorios-fd .fd-inc-row .fd-vol-track{ display:none; }
}

/* combo chart */
#page-relatorios .relatorios-fd .combo-legend{ display:flex; align-items:center; gap:1.125rem; margin-bottom:0.75rem; }
#page-relatorios .relatorios-fd .combo-legend .cl{ display:inline-flex; align-items:center; gap:0.4375rem; font-size:0.75rem; font-weight:700; color:var(--rel-ink-3); }
#page-relatorios .relatorios-fd .combo-legend .cl .sw{ width:0.75rem; height:0.75rem; border-radius:0.1875rem; }
#page-relatorios .relatorios-fd .combo-legend .cl .sw.rev{ background:var(--f-blue); } .combo-legend .cl .sw.cost{ background:var(--f-cost-soft); }
#page-relatorios .relatorios-fd .combo-legend .cl .sw.mg{ width:1rem; height:0.1875rem; border-radius:0.125rem; background:var(--f-cost); }
#page-relatorios .relatorios-fd .combo-wrap{ position:relative; }
#page-relatorios .relatorios-fd .combo-wrap svg{ width:100%; display:block; overflow:visible; }
#page-relatorios .relatorios-fd .combo-wrap .gl{ stroke:var(--line); stroke-width:1; }
#page-relatorios .relatorios-fd .combo-wrap .axlab{ font-size:0.6875rem; font-weight:600; fill:var(--rel-ink-muted); }
#page-relatorios .relatorios-fd .combo-wrap .bar-rev{ fill:var(--f-blue); }
#page-relatorios .relatorios-fd .combo-wrap .bar-cost{ fill:var(--f-cost-soft); }
#page-relatorios .relatorios-fd .combo-wrap .mg-line{ fill:none; stroke:var(--f-cost); stroke-width:2.6; stroke-linejoin:round; stroke-linecap:round; }
#page-relatorios .relatorios-fd .combo-wrap .mg-dot{ fill:var(--f-cost); }
#page-relatorios .relatorios-fd .combo-wrap .xlab{ font-size:0.6875rem; font-weight:600; fill:var(--rel-icon-muted); }
#page-relatorios .relatorios-fd .combo-wrap .hit{ fill:transparent; cursor:pointer; }
#page-relatorios .relatorios-fd .combo-wrap .hit:hover ~ .hb{ opacity:1; }
#page-relatorios .relatorios-fd .combo-tip{ position:absolute; pointer-events:none; background:var(--ink); color:#fff; border-radius:0.625rem; padding:0.625rem 0.8125rem; font-size:0.75rem; box-shadow:var(--f-elev-2); opacity:0; transition:opacity .12s; z-index:6; white-space:nowrap; transform:translate(-50%,0); }
#page-relatorios .relatorios-fd .combo-tip .t{ font-weight:800; margin-bottom:0.3125rem; }
#page-relatorios .relatorios-fd .combo-tip .row{ display:flex; align-items:center; justify-content:space-between; gap:0.875rem; margin-top:0.1875rem; }
#page-relatorios .relatorios-fd .combo-tip .row .d{ width:0.5625rem; height:0.5625rem; border-radius:0.125rem; display:inline-block; margin-right:0.375rem; }
#page-relatorios .relatorios-fd .combo-tip .row b{ font-variant-numeric:tabular-nums; }

/* treemap composição (blocos de orçamento) — preenche altura do painel */
#page-relatorios .relatorios-fd .fin-treemap{ display:flex; gap:0.5rem; width:100%; flex:1 1 auto; min-height:17.5rem; height:100%; align-items:stretch; align-self:stretch; }
#page-relatorios .relatorios-fd .fin-treemap .tm-col{ flex:1 1 0; min-width:0; min-height:0; height:100%; display:flex; flex-direction:column; gap:0.5rem; }
#page-relatorios .relatorios-fd .fin-treemap .tm-block.big{ align-self:stretch; min-height:0; height:auto; }
#page-relatorios .relatorios-fd .tm-block{ position:relative; min-width:0; min-height:0; border-radius:var(--radius-card); overflow:hidden; opacity:0; transform:scale(.96);
  transition:opacity .4s cubic-bezier(.22,1,.36,1), transform .4s cubic-bezier(.22,1,.36,1); }
#page-relatorios .relatorios-fd .fin-treemap .tm-col .tm-block{ flex:1 1 0; min-height:2.75rem; }
#page-relatorios .relatorios-fd .tm-block.in{ opacity:1; transform:none; }
#page-relatorios .relatorios-fd .tm-fill{ position:absolute; inset:0; border-radius:var(--radius-card); background:var(--c); }
#page-relatorios .relatorios-fd .tm-fill::after{ content:""; position:absolute; inset:0; border-radius:var(--radius-card); background:linear-gradient(150deg,rgba(var(--rel-surface-rgb),.16),rgba(var(--rel-shadow-pure-rgb),.08)); }
#page-relatorios .relatorios-fd .tm-tx{ position:relative; z-index:2; height:100%; padding:0.8125rem 0.9375rem; display:flex; flex-direction:column; justify-content:flex-end; gap:0.1875rem; color:#fff; pointer-events:none; }
#page-relatorios .relatorios-fd .tm-block .tm-n{ font-size:0.75rem; font-weight:700; line-height:1.2; opacity:.96; text-shadow:0 0.0625rem 0.125rem rgba(var(--rel-shadow-pure-rgb),.22); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-relatorios .relatorios-fd .tm-block .tm-row{ display:flex; align-items:baseline; gap:0.5rem; }
#page-relatorios .relatorios-fd .tm-block .tm-v{ font-size:1.125rem; font-weight:800; letter-spacing:-0.03125rem; font-variant-numeric:tabular-nums; text-shadow:0 0.0625rem 0.125rem rgba(var(--rel-shadow-pure-rgb),.22); white-space:nowrap; }
#page-relatorios .relatorios-fd .tm-block .tm-p{ font-size:0.65625rem; font-weight:700; opacity:.85; font-variant-numeric:tabular-nums; margin-left:auto; white-space:nowrap; }
#page-relatorios .relatorios-fd .tm-block.big .tm-tx{ justify-content:flex-end; }
#page-relatorios .relatorios-fd .tm-block.big .tm-n{ font-size:0.84375rem; white-space:normal; }
#page-relatorios .relatorios-fd .tm-block.big .tm-row{ flex-direction:column; align-items:flex-start; gap:0.125rem; margin-top:0.25rem; }
#page-relatorios .relatorios-fd .tm-block.big .tm-v{ font-size:1.625rem; }
#page-relatorios .relatorios-fd .tm-block.big .tm-p{ font-size:0.71875rem; margin-left:0; }
/* blocos da coluna: texto compacto centrado verticalmente */
#page-relatorios .relatorios-fd .fin-treemap .tm-col .tm-tx{ justify-content:center; padding:0.625rem 0.75rem; }
#page-relatorios .relatorios-fd .fin-treemap .tm-col .tm-v{ font-size:0.9375rem; }
#page-relatorios .relatorios-fd .fin-treemap .tm-col .tm-block .tm-n{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.25; }
#page-relatorios .relatorios-fd .tm-block:hover .tm-fill{ filter:brightness(1.06); }

/* dept h-bars — legenda + 1.875rem + trilhas iguais (grid compartilhado) */
#page-relatorios .relatorios-fd .fin-dept{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) auto;
  column-gap:0;
  row-gap:0.875rem;
  align-items:center;
  width:100%;
  padding-top:0.25rem;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-dept .fd-row{ display:contents; }
#page-relatorios .relatorios-fd .fd-name{
  font-size:0.78125rem; font-weight:700; color:var(--rel-ink-2);
  white-space:nowrap;
  line-height:1.32;
  min-width:0;
  justify-self:start;
}
#page-relatorios .relatorios-fd .fin-dept .fd-track{
  margin-left:1.875rem;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-dept .fd-val{ padding-left:0.75rem; }
#page-relatorios .relatorios-fd .fd-track{ height:1.375rem; border-radius:0.4375rem; background:var(--field); overflow:hidden; position:relative; min-width:0; }
#page-relatorios .relatorios-fd .fd-track i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.4375rem; transition:width 1.1s cubic-bezier(.22,1,.36,1); background:linear-gradient(90deg,#5fb0ff,var(--rel-accent-chart)); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fd-track i{ background:linear-gradient(90deg,var(--rel-accent-ink),var(--rel-accent-chart)); }
#page-relatorios .relatorios-fd .fd-val{ font-size:0.8125rem; font-weight:800; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
#page-relatorios .relatorios-fd .fd-val .pc{ font-size:0.65625rem; font-weight:700; color:var(--rel-ink-muted); }

/* top clientes */
#page-relatorios .relatorios-fd .fin-clients{ display:flex; flex-direction:column; }
#page-relatorios .relatorios-fd .fc-row{ display:grid; grid-template-columns:1.625rem 2.125rem minmax(0,1fr) auto; gap:0.6875rem; align-items:center; padding:0.625rem 0; border-top:0.0625rem solid var(--line); }
#page-relatorios .relatorios-fd .fc-row:first-child{ border-top:0; }
#page-relatorios .relatorios-fd .fc-rk{ font-size:0.8125rem; font-weight:800; color:#c2cde0; text-align:center; font-variant-numeric:tabular-nums; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fc-rk{ color:var(--rel-accent-ink); }
#page-relatorios .relatorios-fd .fc-row:nth-child(1) .fc-rk{ color:var(--f-blue); }
#page-relatorios .relatorios-fd .fc-av{ width:2.125rem; height:2.125rem; border-radius:0.625rem; color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; flex:none; letter-spacing:-0.01875rem; }
#page-relatorios .relatorios-fd .fc-id{ min-width:0; }
#page-relatorios .relatorios-fd .fc-name{ font-size:0.84375rem; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-relatorios .relatorios-fd .fc-meta{ font-size:0.71875rem; color:var(--muted); margin-top:0.0625rem; }
#page-relatorios .relatorios-fd .fc-val{ text-align:right; flex:none; }
#page-relatorios .relatorios-fd .fc-val b{ font-size:0.9375rem; font-weight:800; color:var(--ink); display:block; line-height:1.1; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fc-val .delta{ font-size:0.6875rem; font-weight:700; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .fc-val .delta.up{ color:var(--f-ok); } .fc-val .delta.down{ color:var(--f-bad); }

/* ===== custo por contato (expansível → assuntos) ===== */
#page-relatorios .relatorios-fd .ct-sum{ display:grid; grid-template-columns:repeat(3,1fr); gap:0.8125rem; margin-bottom:1rem; }
/* Cards do topo (Custo por contato) — azul metálico leve (mesmo padrão #depExec .dx-card) */
#page-relatorios .relatorios-fd .ct-sum-card{
  display:flex; align-items:flex-start; gap:0; padding:0.8125rem 0.9375rem; border-radius:var(--radius-card); overflow:hidden;
  background:linear-gradient(
    148deg,
    color-mix(in srgb, #f4f9ff 90%, var(--rel-surface)) 0%,
    color-mix(in srgb, #c9ddf2 48%, #e6f0fa) 42%,
    color-mix(in srgb, #dce9f7 72%, var(--rel-surface)) 68%,
    color-mix(in srgb, #b8d0eb 38%, #edf4fc) 100%
  );
  border:0.0625rem solid color-mix(in srgb, var(--f-blue,#007bff) 16%, var(--line));
  box-shadow:
    0 0.0625rem 0.125rem rgba(var(--rel-shadow-rgb),.07),
    inset 0 0.0625rem 0 rgba(255,255,255,.78),
    inset 0 -0.0625rem 0 rgba(var(--rel-shadow-rgb),.05);
  transition:.16s;
}
#page-relatorios .relatorios-fd .ct-sum-card:hover{
  box-shadow:
    0 0.5rem 1.375rem -0.625rem rgba(var(--rel-shadow-rgb),.22),
    inset 0 0.0625rem 0 rgba(255,255,255,.85),
    inset 0 -0.0625rem 0 rgba(var(--rel-shadow-rgb),.05);
}
#page-relatorios .relatorios-fd .ct-sum-card::before{ content:none !important; display:none !important; }
#page-relatorios .relatorios-fd .ct-sum-card .cs-ic{ display:none !important; }
html[data-theme="dark"] #page-relatorios .relatorios-fd .ct-sum-card{
  background:linear-gradient(
    148deg,
    color-mix(in srgb, #1a2d4a 88%, #243a5c) 0%,
    color-mix(in srgb, #2a4470 70%, #1e3354) 50%,
    color-mix(in srgb, #1f3558 85%, #2d4a72) 100%
  );
  border-color:color-mix(in srgb, var(--f-blue,#007bff) 28%, var(--line));
  box-shadow:
    0 0.0625rem 0.125rem rgba(0,0,0,.35),
    inset 0 0.0625rem 0 rgba(255,255,255,.08);
}
/* Nublado: superfície clara elevada + tipografia navy (não reutilizar o degradê da Noite) */
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-sum-card{
  background:linear-gradient(
    148deg,
    color-mix(in srgb, var(--rel-cloud-surface-raised,#b2b9c2) 88%, #d7dee6) 0%,
    color-mix(in srgb, var(--rel-cloud-surface-raised,#b2b9c2) 72%, #c5ced8) 48%,
    color-mix(in srgb, var(--rel-cloud-surface,#9fa7b1) 82%, #b8c1cb) 100%
  );
  border:0.0625rem solid rgba(var(--rel-cloud-navy-rgb,23,59,87), 0.30);
  box-shadow:var(--rel-cloud-shadow-card, 0 0.125rem 0.3125rem rgba(20,24,29,.16)), inset 0 0.0625rem 0 rgba(255,255,255,.42);
}
#page-relatorios .relatorios-fd .ct-sum-card .cs-tx{ min-width:0; flex:1; }
#page-relatorios .relatorios-fd .ct-sum-card .cs-k{ font-size:0.65625rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--rel-ink-muted); }
#page-relatorios .relatorios-fd .ct-sum-card .cs-v{ font-size:1.1875rem; font-weight:800; letter-spacing:-0.03125rem; color:var(--ink); margin-top:0.25rem; line-height:1.1; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .ct-sum-card .cs-v--nome{ font-size:1rem; line-height:1.25; letter-spacing:-0.0125rem; font-variant-numeric:normal; white-space:normal; word-break:break-word; hyphens:auto; }
#page-relatorios .relatorios-fd .ct-sum-card .cs-x{ font-size:0.71875rem; font-weight:600; color:var(--muted); margin-top:0.1875rem; font-variant-numeric:tabular-nums; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-sum-card .cs-k{
  color:var(--rel-cloud-navy,#173b57);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-sum-card .cs-v{
  color:var(--rel-cloud-navy-deep,#0b2234);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-sum-card .cs-x{
  color:var(--rel-ink-3,#333b45);
}
/* Paginação da lista de contatos (10/página) */
#page-relatorios .relatorios-fd .ct-pager{ display:flex; align-items:center; justify-content:center; gap:0.875rem; padding:0.75rem 0.25rem 0.25rem; }
#page-relatorios .relatorios-fd .ct-pg-btn{ width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; border:0.0625rem solid var(--line); border-radius:0.5625rem; background:var(--surface); color:var(--f-blue,#007bff); font-size:1.125rem; line-height:1; cursor:pointer; transition:.14s; }
#page-relatorios .relatorios-fd .ct-pg-btn:hover:not([disabled]){ border-color:var(--f-blue,#007bff); background:rgba(var(--rel-accent-rgb),.07); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-pg-btn:hover:not([disabled]){ border-color:var(--rel-ink-3); }
#page-relatorios .relatorios-fd .ct-pg-btn[disabled]{ opacity:.4; cursor:default; }
#page-relatorios .relatorios-fd .ct-pg-info{ font-size:0.75rem; font-weight:700; color:var(--muted); font-variant-numeric:tabular-nums; }
@media (max-width:760px){ .ct-sum{ grid-template-columns:1fr; } }
#page-relatorios .relatorios-fd .fin-contatos{ display:flex; flex-direction:column; min-height:0; }
#page-relatorios .relatorios-fd .fin-contatos-list{
  display:grid;
  grid-template-columns:1.5rem 2.25rem minmax(0, max-content) var(--fd-vol-pad, 1.875rem) minmax(0, 1fr) var(--fd-vol-pad, 1.875rem) auto 1.125rem;
  row-gap:0;
  --fd-vol-pad:1.875rem;
}
#page-relatorios .relatorios-fd .fin-contatos-list .fd-vol-track .ct-bar,
#page-relatorios .relatorios-fd .fin-contatos-list .fd-vol-track .ct-sub-bar{
  display:block;
  width:100%;
  min-width:0;
}
#page-relatorios .relatorios-fd .ct-item{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  border-top:0.0625rem solid var(--line);
}
#page-relatorios .relatorios-fd .ct-item:first-child{ border-top:0; }
#page-relatorios .relatorios-fd .ct-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  grid-template-rows:auto auto;
  column-gap:0.8125rem;
  row-gap:0.125rem;
  align-items:center;
  width:100%; padding:0.75rem 0.25rem; border:0; background:none; font-family:inherit; cursor:pointer; text-align:left; transition:.12s; border-radius:0.625rem;
}
#page-relatorios .relatorios-fd .ct-row:hover{ background:var(--field); }
#page-relatorios .relatorios-fd .ct-row .ct-rk{ grid-column:1; grid-row:1 / 3; align-self:start; margin-top:0.125rem; }
#page-relatorios .relatorios-fd .ct-row .ct-av{ grid-column:2; grid-row:1 / 3; align-self:start; margin-top:0.125rem; }
#page-relatorios .relatorios-fd .ct-row .ct-name{ grid-column:3; grid-row:1; font-size:0.84375rem; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; padding-left:0.625rem; }
#page-relatorios .relatorios-fd .ct-row .fd-clf-sub{ grid-column:3; grid-row:2; padding-left:0.625rem; }
#page-relatorios .relatorios-fd .ct-row .fd-vol-track{ grid-column:5; grid-row:2; }
#page-relatorios .relatorios-fd .ct-row .ct-val{ grid-column:7; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .ct-row .ct-chev{ grid-column:8; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .ct-detail{ grid-column:1 / -1; }
#page-relatorios .relatorios-fd .ct-item.open > .ct-row{ background:var(--field); }
#page-relatorios .relatorios-fd .ct-rk{ font-size:0.8125rem; font-weight:800; color:#c2cde0; text-align:center; font-variant-numeric:tabular-nums; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-rk{ color:var(--rel-accent-ink); }
#page-relatorios .relatorios-fd .ct-item:nth-child(1) .ct-rk{ color:var(--f-blue); }
#page-relatorios .relatorios-fd .ct-av{ width:2.25rem; height:2.25rem; border-radius:0.625rem; color:#fff; display:flex; align-items:center; justify-content:center; font-size:0.75rem; font-weight:800; flex:none; letter-spacing:-0.01875rem; }
#page-relatorios .relatorios-fd .ct-bar{ height:0.4375rem; border-radius:0.25rem; background:var(--field); overflow:hidden; position:relative; min-width:3.125rem; }
#page-relatorios .relatorios-fd .ct-bar i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.25rem; background:linear-gradient(90deg,#5fb0ff,var(--rel-accent-chart)); transition:width 1s cubic-bezier(.22,1,.36,1); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-bar i{ background:linear-gradient(90deg,var(--rel-accent-ink),var(--rel-accent-chart)); }
#page-relatorios .relatorios-fd .ct-val{ text-align:right; white-space:nowrap; }
#page-relatorios .relatorios-fd .ct-val b{ font-size:0.90625rem; font-weight:800; color:var(--ink); display:block; line-height:1.15; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .ct-val .delta{ font-size:0.6875rem; font-weight:700; font-variant-numeric:tabular-nums; }
#page-relatorios .relatorios-fd .ct-val .delta.up{ color:var(--f-ok); } .ct-val .delta.down{ color:var(--f-bad); }
#page-relatorios .relatorios-fd .ct-chev{ width:1.125rem; height:1.125rem; color:#aeb9cc; transition:transform .22s cubic-bezier(.22,1,.36,1); justify-self:center; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-chev{ color:var(--rel-accent-ink); }
#page-relatorios .relatorios-fd .ct-item.open .ct-chev{ transform:rotate(180deg); color:var(--f-blue); }
/* detalhe expansível */
#page-relatorios .relatorios-fd .ct-detail{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1); }
#page-relatorios .relatorios-fd .ct-item.open .ct-detail{ grid-template-rows:1fr; }
#page-relatorios .relatorios-fd .ct-detail-in{ overflow:hidden; }
#page-relatorios .relatorios-fd .ct-detail .ct-detail-in{ padding:0 0.25rem; }
#page-relatorios .relatorios-fd .ct-item.open .ct-detail-in{ padding:0.25rem 0.25rem 0.875rem; }
#page-relatorios .relatorios-fd .ct-sub-h{ font-size:0.6875rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--rel-ink-muted); margin:0.125rem 0 0.625rem 3.0625rem; }
#page-relatorios .relatorios-fd .ct-sub-list{
  display:grid;
  grid-template-columns:minmax(0, max-content) var(--fd-vol-pad, 1.875rem) minmax(0, 1fr) var(--fd-vol-pad, 1.875rem) auto;
  margin-left:3.0625rem;
  padding:0;
}
#page-relatorios .relatorios-fd .ct-sub-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:subgrid;
  grid-template-rows:auto auto;
  row-gap:0.125rem;
  align-items:center;
  padding:0.375rem 0;
  border-top:0.0625rem solid rgba(var(--rel-neutral-rgb),.28);
}
#page-relatorios .relatorios-fd .ct-sub-list .ct-sub-row:first-child{ border-top:0; }
#page-relatorios .relatorios-fd .ct-sub-row .ct-sub-n{ grid-column:1; grid-row:1; font-size:0.78125rem; font-weight:800; color:var(--rel-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.25; }
#page-relatorios .relatorios-fd .ct-sub-row .fd-clf-sub{ grid-column:1; grid-row:2; }
#page-relatorios .relatorios-fd .ct-sub-row .fd-vol-track{ grid-column:3; grid-row:2; }
#page-relatorios .relatorios-fd .ct-sub-row .ct-sub-v{ grid-column:5; grid-row:1 / 3; align-self:center; }
#page-relatorios .relatorios-fd .ct-sub-bar{ height:0.375rem; border-radius:0.1875rem; background:var(--field); overflow:hidden; position:relative; }
#page-relatorios .relatorios-fd .ct-sub-bar i{ position:absolute; left:0; top:0; bottom:0; border-radius:0.1875rem; background:linear-gradient(90deg,#a9c8f0,#5b8fd6); transition:width 1s cubic-bezier(.22,1,.36,1); }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ct-sub-bar i{ background:linear-gradient(90deg,rgba(var(--rel-accent-rgb),0.16),var(--rel-accent-ink)); }
#page-relatorios .relatorios-fd .ct-sub-v{ font-size:0.78125rem; font-weight:800; color:var(--ink); text-align:right; font-variant-numeric:tabular-nums; }
@media (max-width:680px){
#page-relatorios .relatorios-fd .fin-contatos-list{
  grid-template-columns:1.375rem 2rem minmax(0, 1fr) 0 0 0 auto 1.125rem;
}
#page-relatorios .relatorios-fd .ct-row .fd-vol-track{ display:none; }
#page-relatorios .relatorios-fd .ct-sub-h{ margin-left:0; }
#page-relatorios .relatorios-fd .ct-sub-list{ margin-left:0; grid-template-columns:1fr auto; }
#page-relatorios .relatorios-fd .ct-sub-row .fd-vol-track{ display:none; }
}

/* entrada coreografada */
@keyframes fin-up{ from{ opacity:0; transform:translateY(0.625rem);} to{ opacity:1; transform:none; } }
#page-relatorios .relatorios-fd .fin .fanim{ animation:fin-up .5s both cubic-bezier(.22,1,.36,1); }
#page-relatorios .relatorios-fd .fin .fanim.settled{ animation:none!important; opacity:1!important; transform:none!important; }

@media (prefers-reduced-motion: reduce){ .fin *{ animation-duration:.001ms!important; transition-duration:.001ms!important; } }

@media (max-width: 0px) /* ui-scale-freeze: was 1320px */{
#page-relatorios .relatorios-fd .fin-kpis{ grid-template-columns:repeat(3,1fr); }
#page-relatorios .relatorios-fd .fin-row.r-combo, .fin-row.r-split{ grid-template-columns:1fr; }
}

/* slot comparativo dentro do KPI financeiro (substitui o rodapé quando há comparação) */
#page-relatorios .relatorios-fd .fk .fk-cmp{ margin-top:auto; }
#page-relatorios .relatorios-fd .fk .fk-cmp:empty{ margin-top:0; }
#page-relatorios .relatorios-fd .fk .fk-cmp .cmp-line{ margin-top:0.6875rem; padding-top:0.6875rem; border-top:0.0625rem solid var(--line); }
#page-relatorios .relatorios-fd .fk .fk-cmp .cmp-tag{ font-size:0.6875rem; padding:0.1875rem 0.5rem 0.1875rem 0.375rem; }
#page-relatorios .relatorios-fd .fk .fk-cmp .cmp-more{ height:1.4375rem; font-size:0.65625rem; }
@media (max-width: 900px) /* ui-scale-mobile: was 980px */{
#page-relatorios .relatorios-fd .fin-flow{ grid-template-columns:1fr 1fr; }
#page-relatorios .relatorios-fd .ff-node:nth-child(odd){ border-left:0; }
#page-relatorios .relatorios-fd .ff-node::after{ display:none; }
}
@media (max-width:680px){ .fin-kpis{ grid-template-columns:repeat(2,1fr); } }

/* ===== Evolução temporal (custo) ===== */
#page-relatorios .relatorios-fd .fin-evol-panel + .fin-evol-panel{ margin-top:1rem; }
#page-relatorios .relatorios-fd .fin-visao-evol{
  margin-top:1rem;
}
#page-relatorios .relatorios-fd .fin-visao-evol .fin-evol-panel{
  margin-bottom:0;
}
/* Cabeçalho isolado do SVG (eixo Y / rótulos não invadem título e subtítulo) */
#page-relatorios .relatorios-fd .fin-evol-panel > .fp-head{
  position:relative;
  z-index:2;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:0.75rem;
  padding:1rem 1.125rem 0.875rem;
  background:var(--surface, #fff);
  border-bottom:0.0625rem solid var(--line, #e8eaed);
}
#page-relatorios .relatorios-fd .fin-evol-panel .fp-head-main{
  flex:1 1 auto;
  min-width:0;
}
#page-relatorios .relatorios-fd .fin-evol-panel .fp-head-tools{
  display:flex;
  flex:none;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:flex-end;
  justify-content:flex-start;
  gap:0.5rem;
  max-width:min(26.25rem, 46%);
}
/* Switch Período Filtrado / Histórico Total — as duas opções sempre visíveis, mutuamente
   exclusivas (ativar uma desativa a outra). Track com as bordas/tons já usados no botão único
   anterior; o estado ativo herda o azul sólido do botão selecionado na Central de Indicadores,
   pela mesma lógica: só o preenchido precisa se destacar, o outro fica fantasma dentro do track. */
#page-relatorios .relatorios-fd .fin-evol-switch{
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:0.15rem;
  padding:0.225rem;
  border-radius:var(--radius-card, 0.25rem);
  border:0.0625rem solid color-mix(in srgb, var(--f-blue,#007bff) 28%, var(--line));
  background:color-mix(in srgb, var(--f-blue-bg) 55%, var(--surface));
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-switch{ border:0.0625rem solid var(--rel-line); }
#page-relatorios .relatorios-fd .fin-evol-switch-btn{
  flex:none;
  padding:0.45rem 0.9rem;
  border:0;
  border-radius:calc(var(--radius-card, 0.25rem) - 0.125rem);
  background:none;
  color:var(--f-blue,#007bff);
  font-family:inherit;
  font-size:0.825rem;
  font-weight:800;
  letter-spacing:.02em;
  cursor:pointer;
  white-space:nowrap;
  transition:background .14s, color .14s;
  box-shadow:none !important;
  filter:none !important;
  outline:none !important;
}
#page-relatorios .relatorios-fd .fin-evol-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-start;
  gap:0.25rem;
  width:100%;
  text-align:right;
}
#page-relatorios .relatorios-fd .fin-evol-meta .fp-tag{ margin:0; text-align:right; }
#page-relatorios .relatorios-fd .fin-evol-average{
  color:var(--muted);
  font-size:0.6875rem;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  text-align:right;
}
#page-relatorios .relatorios-fd .fin-evol-switch-btn:hover{
  background:color-mix(in srgb, var(--f-blue-bg) 80%, var(--surface));
}
#page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"],
#page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"]:hover{
  background:var(--f-blue,#007bff);
  color:#fff;
  box-shadow:none !important;
  filter:none !important;
}
/* Sem anel de foco persistente ao clicar / voltar à página (paridade com .indic.on). */
#page-relatorios .relatorios-fd .fin-evol-switch-btn:focus,
#page-relatorios .relatorios-fd .fin-evol-switch-btn:focus-visible,
#page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"]:focus,
#page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"]:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}
#page-relatorios .relatorios-fd .fin-evol-pane[hidden]{
  display:none !important;
}
#page-relatorios .relatorios-fd .fin-evol-body{
  --fin-evol-chart-height:22.5rem;
  position:relative;
  z-index:1;
  /* Os 0.625rem até a borda do card são resolvidos dentro do SVG (EDGE_PAD_BASE/PT_BASE) — padding
     aqui empilharia uma segunda margem por cima, dobrando o gap real na tela. */
  padding:0;
  min-height:var(--fin-evol-chart-height);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-evol-body--visao,
#page-relatorios .relatorios-fd .fin-evol-body--tall{ min-height:var(--fin-evol-chart-height); }
/* Host preenche o piso do body — loading/vazio não “colam” no topo nem encolhem o card */
#page-relatorios .relatorios-fd .fin-evol-host{
  width:100%;
  flex:1 1 auto;
  min-height:var(--fin-evol-chart-height);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  box-sizing:border-box;
  overflow:hidden;
}
#page-relatorios .relatorios-fd .fin-evol-body--tall .fin-evol-host{ min-height:var(--fin-evol-chart-height); }
#page-relatorios .relatorios-fd .fin-evol-host .fin-evol-chart-wrap{
  align-self:stretch;
  width:100%;
  flex:0 0 auto;
}
#page-relatorios .relatorios-fd .fin-empty,
#page-relatorios .relatorios-fd .fin-evol-empty{
  margin:0;
  width:100%;
  padding:1.5rem 1rem;
  text-align:center;
  color:var(--muted,#9aa7bd);
  font-size:0.8125rem;
  font-weight:600;
  line-height:1.4;
  box-sizing:border-box;
}
/* Custo por departamento / Custo por contato — 12 linhas visíveis + scrollbar azul discreta */
#page-relatorios .relatorios-fd #finDept,
#page-relatorios .relatorios-fd #finContatos{
  --fin-rank-row-h:3.75rem;
  --fin-rank-visible:12;
  --fin-rank-h:calc(var(--fin-rank-visible) * var(--fin-rank-row-h));
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  height:var(--fin-rank-h);
  min-height:var(--fin-rank-h);
  max-height:var(--fin-rank-h);
  overflow-x:hidden;
  overflow-y:hidden;
  padding-right:0;
  scrollbar-width:thin;
  scrollbar-color:var(--rel-scroll-thumb, rgba(10,120,240,.28)) transparent;
}
#page-relatorios .relatorios-fd #finDept.is-scrollable,
#page-relatorios .relatorios-fd #finContatos.is-scrollable{
  overflow-y:auto;
}
#page-relatorios .relatorios-fd #finDept::-webkit-scrollbar,
#page-relatorios .relatorios-fd #finContatos::-webkit-scrollbar{
  width:0.5rem;
}
#page-relatorios .relatorios-fd #finDept::-webkit-scrollbar-track,
#page-relatorios .relatorios-fd #finContatos::-webkit-scrollbar-track{
  background:transparent;
}
#page-relatorios .relatorios-fd #finDept::-webkit-scrollbar-thumb,
#page-relatorios .relatorios-fd #finContatos::-webkit-scrollbar-thumb{
  background:var(--rel-scroll-thumb, rgba(10,120,240,.28));
  background-clip:padding-box;
  border:0.125rem solid transparent;
  border-radius:62.4375rem;
}
#page-relatorios .relatorios-fd #finDept::-webkit-scrollbar-thumb:hover,
#page-relatorios .relatorios-fd #finContatos::-webkit-scrollbar-thumb:hover{
  background:var(--rel-scroll-thumb-hover, rgba(10,120,240,.42));
}
#page-relatorios .relatorios-fd #finDeptPagination,
#page-relatorios .relatorios-fd #finContatosPagination{
  display:none !important;
}
#page-relatorios .relatorios-fd #finDept.is-empty,
#page-relatorios .relatorios-fd #finContatos.is-empty,
#page-relatorios .relatorios-fd #finDept:empty,
#page-relatorios .relatorios-fd #finContatos:empty,
#page-relatorios .relatorios-fd #finDept:has(> .fin-empty),
#page-relatorios .relatorios-fd #finContatos:has(> .fin-empty){
  align-items:center;
  justify-content:center;
}
#page-relatorios .relatorios-fd #finDept > .fin-empty,
#page-relatorios .relatorios-fd #finContatos > .fin-empty{
  padding:0 1rem;
}
/* Linhas-fantasma: mesma borda das linhas reais, só para preencher o viewport de 12 slots */
#page-relatorios .relatorios-fd .fd-cat-item.fd-pad-row,
#page-relatorios .relatorios-fd .ct-item.ct-pad-row{
  min-height:var(--fin-rank-row-h, 3.75rem);
  height:var(--fin-rank-row-h, 3.75rem);
  box-sizing:border-box;
  pointer-events:none;
  cursor:default;
  background:transparent;
}
#page-relatorios .relatorios-fd .fin-evol-chart-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
}
#page-relatorios .relatorios-fd .fin-evol-svg{
  display:block;
  max-width:100%;
  height:auto;
  overflow:hidden;
}
#page-relatorios .relatorios-fd .fin-evol-grid{ stroke:#c5d0e0; stroke-opacity:1; }
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-grid{ stroke:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-axis-y,
#page-relatorios .relatorios-fd .fin-evol-axis-x{
  fill:var(--rel-ink-faint);
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
#page-relatorios .relatorios-fd .fin-evol-axis-y--origin{
  fill:#4a5a78;
  font-weight:700;
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-axis-y--origin{ fill:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-axis-x{
  fill:#4a5a78;
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-axis-x{ fill:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-point-dot{ fill:var(--f-blue,#0a78f0); stroke:var(--surface,#fff); }
#page-relatorios .relatorios-fd .fin-evol-point-lbl{
  font-weight:800;
  fill:var(--ink,#1a2332);
  font-variant-numeric:tabular-nums;
  /* Halo do fundo do card por trás do texto: com menos rótulos na tela (agora só pontas e
     extremos), cada um cai perto da área preenchida ou da grade — sem contraste próprio o texto
     escuro se mistura com o azul do preenchimento nos picos. paint-order desenha o contorno antes
     do preenchimento, então o traço fica atrás da letra, não por cima. */
  paint-order:stroke fill;
  stroke:var(--surface,#fff);
  stroke-width:0.13125rem;
  stroke-linejoin:round;
}
#page-relatorios .relatorios-fd .fin-evol-point-lbl--dense{
  font-weight:700;
}
#page-relatorios .relatorios-fd .fin-evol-panel--historico .fin-evol-point-dot{ fill:var(--d2,#14b3c4); }
#page-relatorios .relatorios-fd .fin-evol-panel--historico .fin-evol-point-lbl{ fill:var(--ink,#1a2332); }
#page-relatorios .relatorios-fd .fin-evol-panel .fp-tag{
  white-space:normal;
  text-align:right;
  max-width:min(100%,17.5rem);
  line-height:1.35;
  font-size:0.65625rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  color:var(--muted,#7c8aa6);
  min-width:0;
}
#page-relatorios .relatorios-fd .fin-evol-chart-wrap--scroll{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:var(--rel-scroll-thumb) transparent;
  padding-bottom:0.25rem;
}
#page-relatorios .relatorios-fd .fin-evol-chart-wrap--scroll::-webkit-scrollbar{ height:0.25rem; }
#page-relatorios .relatorios-fd .fin-evol-chart-wrap--scroll::-webkit-scrollbar-thumb{
  background:var(--rel-scroll-thumb);
  border-radius:62.4375rem;
}
#page-relatorios .relatorios-fd .fin-evol-chart-wrap--scroll::-webkit-scrollbar-thumb:hover{
  background:var(--rel-scroll-thumb-hover);
}
#page-relatorios .relatorios-fd .fin-evol-axis-y-line,
#page-relatorios .relatorios-fd .fin-evol-axis-x-line{
  stroke:#c5cedc;
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-axis-y-line,html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-axis-x-line{ stroke:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-tick-y,
#page-relatorios .relatorios-fd .fin-evol-tick-x{
  stroke:#b7c2d4;
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-tick-y,html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-tick-x{ stroke:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-v-guide{
  stroke:#7b8da8;
  stroke-dasharray:2.5,3.5;
  opacity:.38;
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-v-guide{ stroke:var(--rel-accent-chart); }
#page-relatorios .relatorios-fd .fin-evol-point-dot--zero{ opacity:.35; }

/* Cabeçalho Financeiro: título + subnav à esquerda (2/5), pacote à direita (3/5 — alinha ao fluxo Custo→Investido) */
#page-relatorios .relatorios-fd .chart-card.fin > .fin-head-band{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:0.875rem;
  align-items:stretch;
  padding:0 var(--rel-fin-gutter,1.625rem) 0.625rem;
  box-sizing:border-box;
}
/* Sem pacote: não deixar coluna vazia de 3fr (título/subnav em largura total) */
#page-relatorios .relatorios-fd .chart-card.fin > .fin-head-band:has(> .fin-pacote-head-mount[hidden]),
#page-relatorios .relatorios-fd .chart-card.fin > .fin-head-band:not(:has(> .fin-pacote-head-mount.has-pacote)){
  grid-template-columns:minmax(0,1fr);
}
#page-relatorios .relatorios-fd .fin-head-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
#page-relatorios .relatorios-fd .fin-head-main > .chart-head{
  padding:1.375rem 0 0.625rem;
}
#page-relatorios .relatorios-fd .fin-head-main > #finSubnav.subnav{
  padding:0 0 0.5rem;
  padding-left:0;
  padding-right:0;
  margin:0;
}
#page-relatorios .relatorios-fd .fin-pacote-head-mount{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr);
  align-items:stretch;
  align-self:stretch;
  padding:1.375rem 0 0.5rem;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-pacote-head-mount[hidden]{
  display:none;
}
#page-relatorios .relatorios-fd .fin-pacote-head-mount .fin-pacote.fin-pacote--head{
  width:100%;
  margin:0;
  box-sizing:border-box;
  min-height:0;
  height:100%;
  align-self:stretch;
  display:flex;
  flex-direction:column;
}
#page-relatorios .relatorios-fd .fin-pacote--head{
  --fin-pacote-gold-border:color-mix(in srgb,#e5dcc8 72%,var(--line));
  background:linear-gradient(
    168deg,
    #fffef9 0%,
    #fffbf2 28%,
    #fdf6e8 52%,
    #fff9f0 100%
  );
  border:0.0625rem solid var(--fin-pacote-gold-border);
  border-radius:var(--radius-card);
  box-shadow:var(--f-elev-1);
  overflow:hidden;
  padding:0;
  flex:1;
  min-height:0;
}
#page-relatorios .relatorios-fd .fin-pacote--head .fin-pacote-flow{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:minmax(0,1fr);
  --ff-type-scale:0.88;
  width:100%;
  flex:1;
  min-height:0;
  height:100%;
  align-items:stretch;
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node.fin-pacote-node{
  padding:0.875rem 0.75rem;
  gap:0.375rem;
  background:transparent;
  box-shadow:none;
  border-left:0.0625rem solid color-mix(in srgb,#dccfb8 55%,var(--line));
  border-radius:0;
  display:grid;
  align-content:center;
  justify-items:start;
  align-self:stretch;
  height:100%;
  min-height:100%;
  margin-top:0;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-pacote-node--plan{
  align-content:center;
}
#page-relatorios .relatorios-fd .fin-pacote-node--plan .fin-pacote-plan-title{
  margin:0;
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-v{
  margin-top:0;
}
#page-relatorios .relatorios-fd .fin-flow .ff-node.is-cost .ff-x--horas-cap{
  display:flex;
  flex-direction:column;
  gap:0.3125rem;
  line-height:1.4;
  margin-top:0.75rem;
  white-space:normal;
}
#page-relatorios .relatorios-fd .fin-flow .ff-node.is-cost .ff-x--horas-cap .ff-x-horas-mes{
  font-weight:800;
  color:color-mix(in srgb,var(--muted) 72%,var(--ink));
  letter-spacing:-.01em;
}
#page-relatorios .relatorios-fd .fin-flow .ff-node.is-cost .ff-x--horas-cap .ff-x-horas-semana{
  font-weight:600;
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node:first-child{
  border-left:none;
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node::after{
  display:none;
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-l{
  color:color-mix(in srgb,#9a8b6a 48%,var(--muted));
}
#page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-v{
  color:#3d3420;
}
#page-relatorios .relatorios-fd .fin-pacote-node--qty .ff-v{
  font-size:calc(1.125rem * var(--ff-type-scale,1));
}
#page-relatorios .relatorios-fd .fin-pacote-node--val .ff-v{
  color:#2a4a7a;
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin-pacote--head,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote--head{
  background:linear-gradient(
    168deg,
    color-mix(in srgb,#3a3528 12%,var(--surface)) 0%,
    color-mix(in srgb,#4a442e 18%,var(--surface)) 100%
  );
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node{
  background:transparent;
  box-shadow:none;
  border-left-color:color-mix(in srgb,#6b5a28 28%,var(--line));
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-l,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-l{
  color:color-mix(in srgb,#8a5210 45%,var(--muted));
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-v,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node .ff-v{
  color:var(--ink);
}
html[data-theme="dark"] #page-relatorios .relatorios-fd .fin-pacote-node--val .ff-v,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote-node--val .ff-v{
  color:var(--f-blue);
}
@media (max-width: 0px) /* ui-scale-freeze: was 1080px */{
  #page-relatorios .relatorios-fd .chart-card.fin > .fin-head-band{
    grid-template-columns:1fr;
  }
  #page-relatorios .relatorios-fd .fin-pacote-head-mount .fin-pacote{
    margin-top:0;
  }
  #page-relatorios .relatorios-fd .fin-pacote-head-mount{
    padding-top:0;
  }
}

#page-relatorios .relatorios-fd .fin-pacote{
  width:100%;
  margin:0.875rem 0 0;
  box-sizing:border-box;
}
#page-relatorios .relatorios-fd .fin-pacote-head-mount .fin-pacote.fin-pacote--head{
  margin:0;
}
#page-relatorios .relatorios-fd .fin-pacote .fin-pacote-head{
  padding-bottom:0.25rem;
}
#page-relatorios .relatorios-fd .fin-pacote .fin-pacote-ic{
  background:color-mix(in srgb, var(--f-blue-bg) 85%, var(--surface));
}
#page-relatorios .relatorios-fd .fin-pacote-body{
  padding-top:0.5rem;
}
#page-relatorios .relatorios-fd .fin-pacote-table{
  display:flex;
  flex-direction:column;
  gap:0;
  width:100%;
  border:0.0625rem solid var(--line,#e8eaed);
  border-radius:var(--radius-card);
  overflow:hidden;
  background:color-mix(in srgb, var(--surface) 92%, var(--f-blue-bg));
}
#page-relatorios .relatorios-fd .fin-pacote-row{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,0.85fr);
  align-items:center;
  column-gap:1rem;
}
#page-relatorios .relatorios-fd .fin-pacote-row--head{
  padding:0.625rem 1rem;
  background:color-mix(in srgb, var(--line,#e8eaed) 35%, transparent);
  border-bottom:0.0625rem solid var(--line,#e8eaed);
}
#page-relatorios .relatorios-fd .fin-pacote-row--head .fin-pacote-cell{
  font-size:0.65625rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted,#64748b);
}
#page-relatorios .relatorios-fd .fin-pacote-row--data{
  padding:0.875rem 1rem;
}
#page-relatorios .relatorios-fd .fin-pacote-row--data .fin-pacote-cell{
  font-size:0.8125rem;
  font-weight:700;
  color:var(--ink,#1a2332);
}
#page-relatorios .relatorios-fd .fin-pacote-cell--qty{
  text-align:center;
  font-variant-numeric:tabular-nums;
}
#page-relatorios .relatorios-fd .fin-pacote-cell--val{
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-size:0.875rem;
  letter-spacing:-.02em;
  color:var(--f-blue,#007bff);
}
#page-relatorios .relatorios-fd .fin-pacote-cell--plan{
  display:flex;
  align-items:center;
  gap:0.625rem;
  min-width:0;
}
#page-relatorios .relatorios-fd .fin-pacote-plan-name{
  font-weight:800;
  letter-spacing:-.02em;
}
@media (max-width:680px){
  #page-relatorios .relatorios-fd .fin-pacote-row{
    grid-template-columns:1fr;
    gap:0.375rem;
    text-align:left;
  }
  #page-relatorios .relatorios-fd .fin-pacote-cell--qty,
  #page-relatorios .relatorios-fd .fin-pacote-cell--val{
    text-align:left;
  }
  #page-relatorios .relatorios-fd .fin-pacote-row--head{
    display:none;
  }
  #page-relatorios .relatorios-fd .fin-pacote-row--data .fin-pacote-cell--qty::before{
    content:'Tickets · ';
    font-weight:600;
    color:var(--muted,#64748b);
  }
  #page-relatorios .relatorios-fd .fin-pacote-row--data .fin-pacote-cell--val::before{
    content:'Valor · ';
    font-weight:600;
    color:var(--muted,#64748b);
  }
}

/* Nublado — separador do fluxo de pacote: o bege clarinho some sobre cinza. */
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-pacote-flow .ff-node.fin-pacote-node{
  border-left-color:color-mix(in srgb,#8a7a55 55%,var(--line));
}


/* Nublado — o toggle Periodo/Historico e navegacao, e o valor de KPI e
   dado: nenhum dos dois precisa de azul para se explicar. */
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"],
html[data-theme="cinza"] #page-relatorios .relatorios-fd .fin-evol-switch-btn[aria-pressed="true"]:hover{
  background:var(--rel-surface-raised);
  color:var(--rel-ink-strong);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-ok .ff-v,
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-rev .ff-v{
  color:var(--rel-ink);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-invest{
  background:rgba(20,24,29,.06);
}
html[data-theme="cinza"] #page-relatorios .relatorios-fd .ff-node.is-invest .ff-v{
  color:var(--rel-ink);
}
