/* HomeFix · Visão geral — barra do topo (7.6.42, opção C). Cores do Manual de Marca 2023. */
#screen-dashboard .dashboard-hero.hf-vg { padding: 0; overflow: visible; border-radius: 24px; }
#screen-dashboard .dashboard-hero.hf-vg::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; border-radius: 24px 24px 0 0; background: #D8101A; z-index: 3; pointer-events: none; }
#screen-dashboard .hf-vg .dashboard-topbar, #screen-dashboard .hf-vg .dashboard-filter-panel, #screen-dashboard .hf-vg #hfPeriodoAtalhos, #screen-dashboard .hf-vg .dashboard-meta-line { display: none !important; }
.hf-vg-linha { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; padding: 22px 24px 18px; }
.hf-vg-mes { flex: 0 1 auto; min-width: 0; }
.hf-vg-k { margin: 0; color: rgba(255, 255, 255, .66); font: 800 10.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; }
.hf-vg-nav { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.hf-vg-seta { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 12px; background: transparent; color: #FFFFFF; cursor: pointer; }
.hf-vg-seta:hover:not(:disabled) { background: #FFFFFF; color: #3C3C3B; }
.hf-vg-seta:disabled { opacity: .35; cursor: not-allowed; }
.hf-vg-seta svg { width: 20px; height: 20px; }
.hf-vg-nome { position: relative; display: inline-flex; align-items: center; min-height: 44px; min-width: 210px; justify-content: center; padding: 0 10px; border-radius: 12px; color: #FFFFFF; font: 400 34px/1 'Bebas Neue', Arial, sans-serif; letter-spacing: .02em; cursor: pointer; white-space: nowrap; }
.hf-vg-nome, .hf-vg-nome span { font-family: 'Bebas Neue', 'Arial Narrow', Arial, sans-serif !important; font-weight: 400 !important; }
.hf-vg-nome:hover { background: rgba(255, 255, 255, .08); }
.hf-vg-nome input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; border: 0; padding: 0; }
.hf-vg-nome:focus-within { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.hf-vg-resumo { margin: 6px 0 0; color: rgba(255, 255, 255, .78); font: 500 12.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-vg-meta { flex: 1 1 380px; min-width: 0; max-width: 620px; padding: 12px 16px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 16px; background: rgba(255, 255, 255, .06); color: #FFFFFF; }
.hf-vg-m1, .hf-vg-m2 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; }
.hf-vg-m1 { font: 700 12px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .82); }
.hf-vg-m1 b { font: 800 21px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: 0; color: #FFFFFF; text-transform: none; }
.hf-vg-m1 > span:last-child { text-transform: none; letter-spacing: 0; }
.hf-vg-m1 em { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .14); font: 800 10px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); font-style: normal; letter-spacing: .06em; vertical-align: 1px; }
.hf-vg-m1 em[data-tone="positive"] { background: #285C38; }
.hf-vg-m1 em[data-tone="attention"] { background: #D8101A; }
.hf-vg-m1 em[data-tone="negative"] { background: #D8101A; }
.hf-vg-barra { position: relative; height: 12px; margin: 10px 0 8px; border-radius: 999px; background: rgba(255, 255, 255, .18); }
.hf-vg-barra i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: #D8101A; }
.hf-vg-meta[data-tone="positive"] .hf-vg-barra i { background: #2E7D46; }
.hf-vg-barra em { position: absolute; top: -5px; width: 3px; height: 22px; margin-left: -1px; border-radius: 2px; background: #FFFFFF; }
.hf-vg-m2 { margin: 0; color: rgba(255, 255, 255, .72); font: 500 12px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-vg-acoes { display: flex !important; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.hf-vg-acoes .dashboard-action-dark { min-height: 44px; padding: 0 15px; font-size: 13px; gap: 8px; }
.hf-vg-filtros { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; padding: 14px 24px 16px; border-radius: 0 0 24px 24px; background: #2F2F2E; }
.hf-vg-lbl { display: block; margin-bottom: 6px; color: rgba(255, 255, 255, .62); font: 800 10px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; }
.hf-vg-seg { display: inline-flex; max-width: 100%; padding: 3px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 13px; background: rgba(255, 255, 255, .07); overflow-x: auto; scrollbar-width: none; }
.hf-vg-seg::-webkit-scrollbar { display: none; }
.hf-vg-seg button { flex: 0 0 auto; min-height: 38px; padding: 0 15px; border: 0; border-radius: 10px; background: transparent; color: rgba(255, 255, 255, .86); font: 700 13px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); white-space: nowrap; cursor: pointer; }
.hf-vg-seg button:hover:not(.on) { background: rgba(255, 255, 255, .1); }
.hf-vg-seg button.on { background: #FFFFFF; color: #3C3C3B; }
.hf-vg-seg button:focus-visible, .hf-vg-link:focus-visible, .hf-vg-dados button:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.hf-vg-datas-box { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 10px; border-radius: 12px; background: #FFFFFF; color: #3C3C3B; }
.hf-vg-datas-box > span { color: #A8A8A8; font-weight: 700; }
.hf-vg-datas-box input { min-height: 40px; border: 0; background: transparent; color: #3C3C3B; font: 700 13.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-vg-datas-box input::-webkit-calendar-picker-indicator { cursor: pointer; }
.hf-vg-sep { width: 1px; align-self: stretch; background: rgba(255, 255, 255, .14); }
.hf-vg-comparar { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #FFFFFF; font: 700 13px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); white-space: nowrap; cursor: pointer; }
.hf-vg-comparar small { display: block; color: rgba(255, 255, 255, .64); font: 500 11.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-vg-cmp-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.hf-vg-sw { position: relative; flex: 0 0 auto; width: 40px; height: 23px; border-radius: 999px; background: rgba(255, 255, 255, .28); transition: background .15s; }
.hf-vg-sw::after { content: ''; position: absolute; left: 3px; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: #FFFFFF; transition: left .15s; }
.hf-vg-cmp-input:checked + .hf-vg-sw { background: #D8101A; }
.hf-vg-cmp-input:checked + .hf-vg-sw::after { left: 20px; }
.hf-vg-cmp-input:focus-visible + .hf-vg-sw { outline: 2px solid #FFFFFF; outline-offset: 2px; }
.hf-vg-link { min-height: 44px; padding: 0 4px; border: 0; background: transparent; color: rgba(255, 255, 255, .8); font: 700 12.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.hf-vg-dados { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin-left: auto; padding: 0 6px 0 14px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .9); font: 600 12.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-vg-dot { width: 9px; height: 9px; border-radius: 50%; background: #5FBF7A; box-shadow: 0 0 0 3px rgba(95, 191, 122, .22); }
.hf-vg-dados button { display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; background: transparent; color: #FFFFFF; cursor: pointer; }
.hf-vg-dados button:hover { background: rgba(255, 255, 255, .12); }
.hf-vg-dados button svg { width: 16px; height: 16px; }
.hf-vg-dados button.girando svg { animation: hfVgGira 1s linear infinite; }
@keyframes hfVgGira { to { transform: rotate(360deg); } }
@media (max-width: 1100px) { .hf-vg-acoes { margin-left: 0; } .hf-vg-meta { max-width: none; } }
@media (max-width: 767px) {
  #screen-dashboard .dashboard-hero.hf-vg { border-radius: 18px; }
  .hf-vg-linha { padding: 16px 16px 14px; gap: 14px; }
  .hf-vg-mes, .hf-vg-meta { flex: 1 1 100%; }
  .hf-vg-nav { justify-content: space-between; }
  .hf-vg-nome { flex: 1; min-width: 0; font-size: 30px; }
  #screen-dashboard .hf-vg-acoes { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 8px; flex-direction: row !important; }
  .hf-vg-acoes > * { min-width: 0; width: auto !important; }
  .hf-vg-acoes .dashboard-action-dark { width: 100% !important; justify-content: center; padding: 0 8px; font-size: 12.5px; gap: 6px; }
  .hf-vg-filtros { padding: 12px 16px 14px; border-radius: 0 0 18px 18px; }
  .hf-vg-campo { flex: 1 1 100%; min-width: 0; }
  .hf-vg-seg { display: flex; width: 100%; }
  .hf-vg-campo:first-child .hf-vg-seg button { flex: 1 0 auto; }
  .hf-vg-seg button { min-height: 44px; }
  .hf-vg-sep { display: none; }
  .hf-vg-datas-box { flex-wrap: wrap; }
  .hf-vg-datas-box input { font-size: 16px; }
  .hf-vg-dados { margin-left: 0; width: 100%; justify-content: space-between; border-radius: 14px; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) { .hf-vg-sw, .hf-vg-sw::after { transition: none; } .hf-vg-dados button.girando svg { animation: none; } }
@media print { .hf-vg-filtros, .hf-vg-nav, .hf-vg-acoes { display: none !important; } }
@media (max-width: 767px) { #screen-dashboard .dashboard-hero.hf-vg::after { display: none; } }
@media (pointer: coarse) { .hf-vg-seg button { min-height: 44px; } }

/* ===================================================================== 7.6.43 · cards principais com dado a mais e atalho */
#dashCards .dashboard-kpi.hf-kc-card { display: flex; flex-direction: column; }
.hf-kc { display: flex; flex-direction: column; flex: 1; margin-top: 10px; min-width: 0; }
.hf-kc-spark { display: flex; align-items: flex-end; gap: 3px; height: 34px; }
.hf-kc-spark span { flex: 1; min-width: 3px; border-radius: 3px 3px 0 0; background: #E3E3E3; }
.hf-kc-spark span.ult { background: #D8101A; }
.hf-kc-gauge { position: relative; height: 10px; border-radius: 999px; background: #EEEEEE; }
.hf-kc-gauge i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: #C98A0A; }
.hf-kc-gauge i.ok { background: #285C38; }
.hf-kc-gauge em { position: absolute; right: 0; top: -4px; width: 3px; height: 18px; border-radius: 2px; background: #3C3C3B; }
.hf-kc-duo { min-width: 0; }
.hf-kc-bar { display: flex; height: 9px; border-radius: 999px; overflow: hidden; background: #EEEEEE; margin-bottom: 6px; }
.hf-kc-bar .l0 { background: #3C3C3B; } .hf-kc-bar .l1 { background: #A8A8A8; }
.hf-kc-lg { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; margin-top: 6px; color: #5A5A59; font: 600 11.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-kc-duo .hf-kc-lg { margin-top: 0; }
.hf-kc-ctx { margin: 8px 0 0; color: #5A5A59; font: 500 12px/1.5 var(--hf-fonte-marca, Metropolis, Arial, sans-serif); text-transform: none; letter-spacing: 0; }
.hf-kc-ctx b { color: #3C3C3B; font-weight: 700; }
.hf-kc-ft { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; margin-top: auto; padding-top: 10px; border-top: 1px solid #EEEEEE; color: #D8101A; font: 700 12.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); cursor: pointer; }
.hf-kc-ft:hover > span { text-decoration: underline; text-underline-offset: 3px; }
.hf-kc-ft small { color: #8A8A89; font: 600 11px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); white-space: nowrap; }
.hf-kc-ctx + .hf-kc-ft, .hf-kc-spark + .hf-kc-ctx { margin-top: 8px; }
.hf-kc > :last-child { margin-top: auto; }
.dashboard-editing .hf-kc-ft { pointer-events: none; opacity: .6; }
.hf-kc-det { display: grid; gap: 2px; margin-top: 6px; }
.hf-kc-det h4 { margin: 12px 0 4px; color: #3C3C3B; font: 800 11px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); letter-spacing: .1em; text-transform: uppercase; }
.hf-kc-row { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 7px 0; border-bottom: 1px solid #F0F0F0; font: 600 13px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); }
.hf-kc-row small { color: #8A8A89; font-weight: 600; }
.hf-kc-abrir { min-height: 44px; margin-top: 14px; border: 0; border-radius: 12px; background: #D8101A; color: #FFFFFF; font: 700 13.5px var(--hf-fonte-marca, Metropolis, Arial, sans-serif); cursor: pointer; }
.hf-kc-abrir:focus-visible { outline: 3px solid #3C3C3B; outline-offset: 2px; }
@media (max-width: 767px) { .hf-kc-ft { min-height: 44px; } .hf-kc-lg { font-size: 11px; } }
@media (max-width: 767px) { .hf-kc-ft { flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; } }

/* ===================================================================== 7.6.45 · cores pelo significado na Visão geral
   verde = positivo · vermelho = negativo (a antiga "atenção" também) · cinza = neutro. O vermelho da marca fica na
   faixa do topo; links, botões e chaves deixam de usar vermelho para não parecer indicador negativo. */
.dashboard-shell, #screen-dashboard.dashboard-shell { --dash-positive: #2E7D46; --dash-critical: #D8101A; --dash-warning: #D8101A; --dash-info: #A8A8A8; }
#dashCards .dashboard-kpi::before { background: #A8A8A8; }
#dashCards .dashboard-kpi[data-tone="positive"]::before { background: #2E7D46; }
#dashCards .dashboard-kpi[data-tone="negative"]::before, #dashCards .dashboard-kpi[data-tone="attention"]::before { background: #D8101A; }
#dashCards .dashboard-kpi .dashboard-kpi-icon { background: #8A8A89; }
#dashCards .dashboard-kpi[data-tone="positive"] .dashboard-kpi-icon { background: #2E7D46; }
#dashCards .dashboard-kpi[data-tone="negative"] .dashboard-kpi-icon, #dashCards .dashboard-kpi[data-tone="attention"] .dashboard-kpi-icon { background: #D8101A; }
#dashCards .dashboard-kpi .dashboard-kpi-delta { color: #6B6B6A; font-weight: 600; }
#dashCards .dashboard-kpi[data-tone="positive"] .dashboard-kpi-delta { color: #23683A; }
#dashCards .dashboard-kpi[data-tone="negative"] .dashboard-kpi-delta, #dashCards .dashboard-kpi[data-tone="attention"] .dashboard-kpi-delta { color: #C00E17; }
#dashCards .dashboard-kpi:hover, #dashCards .dashboard-kpi:focus-visible { border-color: #A8A8A8; }
#dashCards .hf-kc-spark span.ult { background: #6B6B6A; }
#dashCards .hf-kc-gauge i { background: #D8101A; }
#dashCards .hf-kc-gauge i.ok { background: #2E7D46; }
#dashCards .hf-kc-ft { color: #3C3C3B; }
.hf-kc-abrir { background: #3C3C3B; }
.hf-vg-dot { background: #A8A8A8; box-shadow: 0 0 0 3px rgba(168, 168, 168, .22); }
.hf-vg-cmp-input:checked + .hf-vg-sw { background: #FFFFFF; }
.hf-vg-cmp-input:checked + .hf-vg-sw::after { background: #3C3C3B; }
#screen-dashboard .dashboard-goal-status[data-tone="attention"] { background: #FFF0F1; }
#screen-dashboard .dashboard-alert[data-tone="neutral"] .dashboard-alert-icon, #screen-dashboard .dashboard-alert:not([data-tone]) .dashboard-alert-icon { background: #8A8A89; }
#screen-dashboard .dashboard-rank-status[data-tone="positive"] { color: #23683A; background: #E4F2E8; }
#screen-dashboard .dashboard-rank-status[data-tone="attention"], #screen-dashboard .dashboard-rank-status[data-tone="negative"] { color: #A80D15; background: #FBE3E4; }
