/* NexoFoco — Visão geral executiva v3
   Tela reconstruída do zero e isolada do dashboard legado. */
body.nf-v3-active #global-filter-bar { display: none !important; }
body.nf-v3-active #visao-geral { width: 100%; max-width: none; margin: 0; padding: 0; }
#visao-geral > :not(#nf-overview-v3) { display: none !important; }

.nf-overview-v3 {
  --nfv3-bg: #0c0f16;
  --nfv3-surface: #141925;
  --nfv3-surface-2: #1a2030;
  --nfv3-surface-3: #202839;
  --nfv3-line: #262f42;
  --nfv3-line-strong: #303a4f;
  --nfv3-text: #f3f7ff;
  --nfv3-muted: #8fa4bf;
  --nfv3-subtle: #637b99;
  --nfv3-blue: #5d9eff;
  --nfv3-blue-2: #2f74df;
  --nfv3-blue-soft: rgba(74, 139, 255, .16);
  --nfv3-green: #43dfa0;
  --nfv3-green-soft: rgba(36, 199, 133, .16);
  --nfv3-amber: #f7be3f;
  --nfv3-amber-soft: rgba(245, 181, 48, .15);
  --nfv3-red: #ff6874;
  --nfv3-red-soft: rgba(255, 84, 102, .14);
  --nfv3-violet: #9879ff;
  box-sizing: border-box;
  width: 100%;
  min-height: calc(100vh - 52px);
  padding: 18px clamp(18px, 2vw, 34px) 36px;
  color: var(--nfv3-text);
  background: #0c0f16;
}
.nf-overview-v3, .nf-overview-v3 * { box-sizing: border-box; }
.nf-overview-v3 button, .nf-overview-v3 input, .nf-overview-v3 select { font: inherit; }
.nf-overview-v3 button { color: inherit; }
.nf-overview-v3 .hidden { display: none !important; }

.nf-v3-toolbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.nf-v3-search {
  width: min(430px, 45vw);
  height: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 11px;
  border: 1px solid var(--nfv3-line);
  border-radius: 10px;
  background: #141925;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.nf-v3-search:focus-within { border-color: rgba(93,158,255,.7); box-shadow: 0 0 0 3px rgba(93,158,255,.1); }
.nf-v3-search svg { width: 17px; fill: none; stroke: var(--nfv3-muted); stroke-width: 1.8; }
.nf-v3-search input { flex: 1; min-width: 0; border: 0; outline: 0; color: var(--nfv3-text); background: transparent; font-size: 12px; }
.nf-v3-search input::placeholder { color: #6f86a2; }
.nf-v3-search kbd { padding: 2px 6px; border: 1px solid var(--nfv3-line); border-radius: 5px; color: var(--nfv3-subtle); background: rgba(255,255,255,.025); font: 10px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.nf-v3-toolbar-status { display: flex; align-items: center; gap: 8px; color: var(--nfv3-muted); font-size: 11px; }
.nf-v3-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--nfv3-green); box-shadow: 0 0 0 4px rgba(67,223,160,.08), 0 0 14px rgba(67,223,160,.45); }

.nf-v3-page-header {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(640px, 1.35fr);
  align-items: end;
  gap: clamp(24px, 3vw, 48px);
  margin-bottom: 18px;
}
.nf-v3-page-copy { min-width: 0; }
.nf-v3-eyebrow { display: block; margin-bottom: 8px; color: #6f91bc; font-size: 9px; font-weight: 750; letter-spacing: .14em; }
.nf-v3-page-copy h1 { margin: 0; color: var(--nfv3-text); font-size: clamp(25px, 2.2vw, 34px); font-weight: 720; line-height: 1.04; letter-spacing: -.035em; }
.nf-v3-page-copy p { max-width: 620px; margin: 8px 0 0; color: var(--nfv3-muted); font-size: 12px; line-height: 1.5; }

.nf-v3-filter-stack { min-width: 0; }
.nf-v3-period-tabs { display: flex; justify-content: flex-end; gap: 5px; margin-bottom: 9px; }
.nf-v3-period-tabs button {
  min-height: 30px;
  padding: 0 13px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #8ea5c2;
  background: transparent;
  font-size: 10px;
  font-weight: 650;
  cursor: pointer;
  transition: .16s ease;
}
.nf-v3-period-tabs button:hover { color: #dce9fb; background: rgba(255,255,255,.035); }
.nf-v3-period-tabs button.active { color: #fff; border-color: rgba(93,158,255,.45); background: #202839; box-shadow: inset 0 0 0 1px rgba(93,158,255,.09); }
.nf-v3-filters { display: grid; grid-template-columns: minmax(132px,.75fr) minmax(150px,.95fr) minmax(185px,1.15fr) auto; align-items: end; gap: 9px; }
.nf-v3-filter-field { min-width: 0; }
.nf-v3-filter-field > span { display: block; margin: 0 0 5px 2px; color: #7890ae; font-size: 9px; font-weight: 700; }
.nf-v3-filter-field > div { position: relative; }
.nf-v3-filter-field svg { position: absolute; left: 11px; top: 50%; width: 15px; transform: translateY(-50%); fill: none; stroke: #84a0c1; stroke-width: 1.7; pointer-events: none; }
.nf-v3-filter-field input, .nf-v3-filter-field select {
  width: 100%;
  min-height: 40px;
  padding: 8px 34px 8px 12px;
  border: 1px solid var(--nfv3-line-strong);
  border-radius: 9px;
  color: var(--nfv3-text);
  background: #10141a;
  outline: none;
  font-size: 10.5px;
  font-weight: 620;
}
.nf-v3-date-field input { padding-left: 36px; }
.nf-v3-filter-field input:focus, .nf-v3-filter-field select:focus { border-color: rgba(93,158,255,.65); box-shadow: 0 0 0 3px rgba(93,158,255,.1); }
.nf-v3-filter-field select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, #7f98b8 50%), linear-gradient(135deg, #7f98b8 50%, transparent 50%); background-position: calc(100% - 15px) 17px, calc(100% - 10px) 17px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.nf-v3-clear { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid rgba(93,158,255,.48); border-radius: 9px; color: #dceaff; background: #1a2030; font-size: 10px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.nf-v3-clear:hover { background: #202839; }
.nf-v3-clear svg { width: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nf-v3-custom-range { width: max-content; max-width: 100%; display: flex; align-items: end; gap: 8px; margin: 8px 0 0 auto; padding: 10px; border: 1px solid var(--nfv3-line); border-radius: 10px; background: #141925; box-shadow: 0 16px 45px rgba(0,0,0,.28); }
.nf-v3-custom-range label { display: grid; gap: 4px; color: var(--nfv3-muted); font-size: 9px; }
.nf-v3-custom-range input { min-height: 34px; padding: 6px 8px; border: 1px solid var(--nfv3-line); border-radius: 7px; color: var(--nfv3-text); background: #10141a; }
.nf-v3-custom-range button { min-height: 34px; padding: 0 12px; border: 1px solid var(--nfv3-line); border-radius: 7px; background: #202839; cursor: pointer; font-size: 10px; }
.nf-v3-custom-range button[type="submit"] { border-color: rgba(93,158,255,.55); background: #2459a7; }

.nf-v3-state { min-height: 170px; display: flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid var(--nfv3-line); border-radius: 14px; background: #141925; }
.nf-v3-state strong, .nf-v3-state small { display: block; }
.nf-v3-state strong { margin-bottom: 4px; font-size: 13px; }
.nf-v3-state small { color: var(--nfv3-muted); font-size: 10px; }
.nf-v3-spinner { width: 27px; height: 27px; border: 2px solid rgba(93,158,255,.18); border-top-color: var(--nfv3-blue); border-radius: 50%; animation: nfv3spin .75s linear infinite; }
@keyframes nfv3spin { to { transform: rotate(360deg); } }
.nf-v3-error { justify-content: flex-start; padding: 20px; }
.nf-v3-error > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--nfv3-red); background: var(--nfv3-red-soft); font-weight: 800; }
.nf-v3-error button { margin-left: auto; min-height: 36px; padding: 0 14px; border: 1px solid var(--nfv3-line); border-radius: 8px; background: var(--nfv3-surface-3); cursor: pointer; }

.nf-v3-content { min-width: 0; }
.nf-v3-summary-grid { display: grid; grid-template-columns: minmax(430px, 1.28fr) minmax(260px, .72fr) minmax(300px, .88fr); gap: 12px; margin-bottom: 12px; }
.nf-v3-summary-card, .nf-v3-card {
  border: 1px solid var(--nfv3-line);
  background: #141925;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 14px 40px rgba(0,0,0,.11);
}
.nf-v3-summary-card { position: relative; min-width: 0; min-height: 112px; display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 15px 18px; border-radius: 13px; overflow: hidden; }
.nf-v3-summary-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: rgba(93,158,255,.55); opacity: 0; }
.nf-v3-summary-card:hover::before { opacity: 1; }
.nf-v3-summary-primary { grid-template-columns: 58px minmax(0,1fr) minmax(118px,.36fr); }
.nf-v3-summary-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; }
.nf-v3-summary-icon svg { width: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nf-v3-summary-icon.success { color: var(--nfv3-green); background: radial-gradient(circle at 30% 20%, rgba(65,224,159,.28), rgba(16,119,82,.22)); }
.nf-v3-summary-icon.warn { color: var(--nfv3-amber); background: radial-gradient(circle at 30% 20%, rgba(247,190,63,.26), rgba(113,80,13,.22)); }
.nf-v3-summary-icon.info { color: #72a9ff; background: radial-gradient(circle at 30% 20%, rgba(72,135,238,.32), rgba(20,65,134,.22)); }
.nf-v3-summary-copy { min-width: 0; }
.nf-v3-summary-copy > span { display: block; margin-bottom: 5px; color: #9ab0c9; font-size: 10px; }
.nf-v3-summary-copy strong { display: block; overflow: hidden; color: #f5f8ff; font-size: clamp(17px, 1.35vw, 22px); font-weight: 720; line-height: 1.12; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-summary-copy small { display: block; margin-top: 6px; overflow: hidden; color: var(--nfv3-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-focus-mini { min-width: 112px; padding-left: 16px; border-left: 1px solid var(--nfv3-line); }
.nf-v3-focus-mini > span { display: block; color: var(--nfv3-green); font-size: 20px; font-weight: 760; line-height: 1; }
.nf-v3-focus-mini small { display: block; margin-top: 5px; color: var(--nfv3-muted); font-size: 9px; }
.nf-v3-focus-mini svg { width: 100%; height: 28px; margin-top: 5px; overflow: visible; }
.nf-v3-focus-mini path { fill: none; stroke: var(--nfv3-green); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.nf-v3-card-link { width: 30px; height: 38px; display: grid; place-items: center; border: 0; color: #6ea8ff; background: transparent; font-size: 27px; cursor: pointer; }

.nf-v3-main-grid { display: grid; grid-template-columns: minmax(560px, 1.24fr) minmax(420px, .96fr); gap: 12px; align-items: start; }
.nf-v3-column { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.nf-v3-card { min-width: 0; border-radius: 14px; padding: 15px; }
.nf-v3-card-header { min-height: 48px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.nf-v3-card-title { min-width: 0; display: flex; align-items: center; gap: 11px; }
.nf-v3-card-icon { flex: 0 0 auto; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; color: #6aa4ff; background: #202839; }
.nf-v3-card-icon svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nf-v3-card-title h2 { margin: 0; color: #f3f7ff; font-size: 15px; font-weight: 710; line-height: 1.15; letter-spacing: -.012em; }
.nf-v3-card-title p { margin: 4px 0 0; color: var(--nfv3-muted); font-size: 9.5px; line-height: 1.35; }
.nf-v3-text-action { flex: 0 0 auto; margin-top: 4px; padding: 0; border: 0; color: #67a4ff; background: transparent; font-size: 9.5px; font-weight: 650; cursor: pointer; }
.nf-v3-text-action:hover { color: #a8ccff; }
.nf-v3-chip { flex: 0 0 auto; min-height: 32px; display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--nfv3-line); border-radius: 8px; color: #dce9fb; background: #10141a; font-size: 9px; }

.nf-v3-table-wrap { overflow: hidden; border: 1px solid rgba(255,255,255,.065); border-radius: 10px; }
.nf-v3-sector-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.nf-v3-sector-table th { height: 35px; padding: 0 12px; color: #89a1bd; background: #1a2030; font-size: 8.5px; font-weight: 730; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
.nf-v3-sector-table th:nth-child(1) { width: 32%; }
.nf-v3-sector-table th:nth-child(2) { width: 15%; }
.nf-v3-sector-table th:nth-child(3) { width: 20%; }
.nf-v3-sector-table th:nth-child(4) { width: 14%; }
.nf-v3-sector-table th:nth-child(5) { width: 19%; }
.nf-v3-sector-table td { height: 51px; padding: 0 12px; border-top: 1px solid rgba(255,255,255,.055); color: #dbe7f8; font-size: 10px; vertical-align: middle; }
.nf-v3-sector-name { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nf-v3-sector-avatar { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #9bc3ff; background: #202839; font-size: 10px; font-weight: 800; }
.nf-v3-sector-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-status { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.nf-v3-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--nfv3-green); box-shadow: 0 0 8px rgba(67,223,160,.4); }
.nf-v3-status.watch i { background: var(--nfv3-amber); box-shadow: 0 0 8px rgba(247,190,63,.35); }
.nf-v3-status.attention i { background: var(--nfv3-red); box-shadow: 0 0 8px rgba(255,104,116,.35); }
.nf-v3-status.no-data i { background: #607895; box-shadow: none; }
.nf-v3-focus-cell { display: flex; align-items: center; gap: 9px; }
.nf-v3-focus-cell strong { min-width: 34px; }
.nf-v3-focus-bar { flex: 1; max-width: 86px; height: 6px; overflow: hidden; border-radius: 6px; background: rgba(110,137,169,.18); }
.nf-v3-focus-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #37d797, #62e8b4); }
.nf-v3-focus-bar.warn i { background: linear-gradient(90deg, #f0a927, #f7c853); }
.nf-v3-focus-bar.bad i { background: linear-gradient(90deg, #f25e69, #ff8c79); }
.nf-v3-trend-cell { display: flex; align-items: center; gap: 7px; }
.nf-v3-spark { width: 52px; height: 20px; }
.nf-v3-spark path { fill: none; stroke: var(--nfv3-green); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nf-v3-trend-cell.down .nf-v3-spark path { stroke: var(--nfv3-red); }
.nf-v3-trend-cell.flat .nf-v3-spark path { stroke: #7d93ad; }
.nf-v3-trend-cell span { font-size: 9px; font-weight: 720; color: var(--nfv3-green); }
.nf-v3-trend-cell.down span { color: var(--nfv3-red); }
.nf-v3-trend-cell.flat span { color: #8ba0b8; }

.nf-v3-chart { position: relative; min-height: 285px; }
.nf-v3-chart svg { width: 100%; height: 285px; display: block; overflow: visible; }
.nf-v3-chart-grid { stroke: rgba(255,255,255,.075); stroke-width: 1; }
.nf-v3-chart-area { fill: url(#nfv3Area); opacity: .75; }
.nf-v3-chart-line { fill: none; stroke: #5d9eff; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 7px rgba(93,158,255,.38)); }
.nf-v3-chart-dot { fill: #79adff; stroke: #141925; stroke-width: 3; }
.nf-v3-chart-label { fill: #e7f0ff; font-size: 10px; font-weight: 700; text-anchor: middle; }
.nf-v3-chart-axis { fill: #8098b6; font-size: 9px; }
.nf-v3-chart-x { fill: #91a8c2; font-size: 9px; text-anchor: middle; }

.nf-v3-list-head, .nf-v3-apps-head { min-height: 31px; display: grid; align-items: center; gap: 10px; padding: 0 10px; border: 1px solid rgba(255,255,255,.060); border-radius: 8px 8px 0 0; color: #839ab6; background: #1a2030; font-size: 8px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.nf-v3-list-head { grid-template-columns: minmax(155px,1.25fr) minmax(90px,.8fr) minmax(155px,1.25fr) minmax(88px,.72fr); }
.nf-v3-people-list { border: 1px solid rgba(255,255,255,.060); border-top: 0; border-radius: 0 0 9px 9px; overflow: hidden; }
.nf-v3-person-row { min-height: 52px; display: grid; grid-template-columns: minmax(155px,1.25fr) minmax(90px,.8fr) minmax(155px,1.25fr) minmax(88px,.72fr); align-items: center; gap: 10px; padding: 0 10px; border-top: 1px solid rgba(255,255,255,.052); font-size: 9.5px; }
.nf-v3-person-row:first-child { border-top: 0; }
.nf-v3-person { min-width: 0; display: flex; align-items: center; gap: 9px; }
.nf-v3-person-avatar { flex: 0 0 auto; width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(145deg, #346cc4, #6f4fc7); font-size: 9px; font-weight: 800; }
.nf-v3-person strong, .nf-v3-person span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-reason { width: max-content; max-width: 100%; padding: 4px 7px; overflow: hidden; border-radius: 6px; color: #ffc5a9; background: rgba(176,78,38,.18); font-size: 8.5px; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-reason.idle { color: #ffe09a; background: rgba(184,128,23,.18); }
.nf-v3-indicator { font-weight: 730; text-align: right; }
.nf-v3-indicator.bad { color: var(--nfv3-red); }
.nf-v3-indicator.warn { color: var(--nfv3-amber); }
.nf-v3-positive-empty { min-height: 96px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--nfv3-muted); }
.nf-v3-positive-empty > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: var(--nfv3-green); background: var(--nfv3-green-soft); }
.nf-v3-positive-empty strong, .nf-v3-positive-empty small { display: block; }
.nf-v3-positive-empty strong { color: #dce7f7; font-size: 10px; }
.nf-v3-positive-empty small { margin-top: 4px; font-size: 8.5px; }

.nf-v3-apps-head { grid-template-columns: 28px minmax(160px,1.1fr) minmax(90px,.55fr) minmax(155px,.9fr); }
.nf-v3-apps-list { border: 1px solid rgba(255,255,255,.060); border-top: 0; border-radius: 0 0 9px 9px; overflow: hidden; }
.nf-v3-app-row { min-height: 43px; display: grid; grid-template-columns: 28px minmax(160px,1.1fr) minmax(90px,.55fr) minmax(155px,.9fr); align-items: center; gap: 10px; padding: 0 10px; border-top: 1px solid rgba(255,255,255,.048); font-size: 9.5px; }
.nf-v3-app-row:first-child { border-top: 0; }
.nf-v3-app-rank { color: #8399b4; font-size: 8px; text-align: center; }
.nf-v3-app-name { min-width: 0; display: flex; align-items: center; gap: 9px; }
.nf-v3-app-icon { flex: 0 0 auto; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; color: #8fbcff; background: #202839; font-size: 9px; font-weight: 800; }
.nf-v3-app-icon.site { color: #8aaeff; background: #202839; }
.nf-v3-app-name span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nf-v3-app-time { color: #e8eff9; font-weight: 650; }
.nf-v3-app-share { display: grid; grid-template-columns: minmax(70px,1fr) 34px; align-items: center; gap: 8px; }
.nf-v3-app-track { height: 6px; overflow: hidden; border-radius: 6px; background: rgba(116,143,174,.17); }
.nf-v3-app-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3e84ee, #72acff); }
.nf-v3-app-share strong { font-size: 8.5px; text-align: right; }

.nf-v3-compact-empty { min-height: 96px; display: grid; place-content: center; gap: 5px; padding: 18px; color: var(--nfv3-muted); text-align: center; }
.nf-v3-compact-empty strong { color: #dce7f5; font-size: 10px; }
.nf-v3-compact-empty span { font-size: 8.5px; }

@media (max-width: 1320px) {
  .nf-v3-page-header { grid-template-columns: 1fr; align-items: start; }
  .nf-v3-period-tabs { justify-content: flex-start; }
  .nf-v3-summary-grid { grid-template-columns: minmax(390px,1.2fr) repeat(2,minmax(240px,.8fr)); }
  .nf-v3-main-grid { grid-template-columns: minmax(500px,1.15fr) minmax(390px,.85fr); }
}
@media (max-width: 1100px) {
  .nf-v3-summary-grid { grid-template-columns: 1fr 1fr; }
  .nf-v3-summary-primary { grid-column: 1 / -1; }
  .nf-v3-main-grid { grid-template-columns: 1fr; }
  .nf-v3-chart { min-height: 250px; }
  .nf-v3-chart svg { height: 250px; }
}
@media (max-width: 760px) {
  .nf-overview-v3 { padding: 14px 12px 28px; }
  .nf-v3-toolbar { align-items: stretch; flex-direction: column; }
  .nf-v3-search { width: 100%; }
  .nf-v3-page-copy h1 { font-size: 26px; }
  .nf-v3-filters { grid-template-columns: 1fr; }
  .nf-v3-period-tabs { overflow-x: auto; padding-bottom: 2px; }
  .nf-v3-summary-grid { grid-template-columns: 1fr; }
  .nf-v3-summary-primary { grid-column: auto; grid-template-columns: 48px minmax(0,1fr); }
  .nf-v3-focus-mini { grid-column: 1 / -1; padding: 10px 0 0; border: 0; border-top: 1px solid var(--nfv3-line); }
  .nf-v3-list-head, .nf-v3-apps-head { display: none; }
  .nf-v3-person-row { grid-template-columns: 1fr auto; gap: 4px 10px; padding: 10px; }
  .nf-v3-person-row > :nth-child(2), .nf-v3-person-row > :nth-child(3) { grid-column: 1; margin-left: 38px; }
  .nf-v3-person-row > :nth-child(4) { grid-column: 2; grid-row: 1 / 4; }
  .nf-v3-app-row { grid-template-columns: 25px minmax(0,1fr) auto; padding: 8px 9px; }
  .nf-v3-app-row > :nth-child(4) { grid-column: 2 / -1; }
  .nf-v3-sector-table th:nth-child(2), .nf-v3-sector-table td:nth-child(2), .nf-v3-sector-table th:nth-child(4), .nf-v3-sector-table td:nth-child(4) { display: none; }
  .nf-v3-sector-table th:nth-child(1) { width: 42%; }
  .nf-v3-sector-table th:nth-child(3) { width: 28%; }
  .nf-v3-sector-table th:nth-child(5) { width: 30%; }
}

:root[data-theme="light"] .nf-overview-v3 {
  --nfv3-bg: #f5f8fc; --nfv3-surface: #fff; --nfv3-surface-2: #f7f9fd; --nfv3-surface-3: #edf3fb;
  --nfv3-line: rgba(55,83,118,.14); --nfv3-line-strong: rgba(55,83,118,.23); --nfv3-text: #17253a;
  --nfv3-muted: #60738b; --nfv3-subtle: #788aa1;
  background: linear-gradient(180deg,#f8fbff,#f2f6fb);
}
:root[data-theme="light"] .nf-v3-summary-card, :root[data-theme="light"] .nf-v3-card { background: #fff; box-shadow: 0 8px 28px rgba(34,60,92,.07); }
:root[data-theme="light"] .nf-v3-filter-field input, :root[data-theme="light"] .nf-v3-filter-field select, :root[data-theme="light"] .nf-v3-search { background: #fff; }
:root[data-theme="light"] .nf-v3-summary-copy strong, :root[data-theme="light"] .nf-v3-card-title h2, :root[data-theme="light"] .nf-v3-page-copy h1 { color: #17253a; }


/* v0.32.4 — coordinated states and isolated refresh */
.nf-v3-content { transition: opacity .16s ease, filter .16s ease; }
.nf-v3-content.nf-v3-refreshing { opacity: .56; filter: saturate(.72); pointer-events: none; }
.nf-v3-people-list-card.is-empty .nf-v3-card-header { margin-bottom: 4px; }
.nf-v3-people-list-card.is-empty .nf-v3-positive-empty {
  min-height: 54px;
  justify-content: flex-start;
  padding: 6px 4px 2px;
}
.nf-v3-apps-loading {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--nfv3-muted);
  font-size: 9.5px;
}
.nf-v3-mini-spinner {
  width: 17px;
  height: 17px;
  border: 2px solid rgba(107,138,253,.17);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: nfv3spin .72s linear infinite;
}
@media (max-width: 1100px) {
  .nf-v3-column { display: contents; }
  .nf-v3-sector-card { order: 1; }
  .nf-v3-trend-card { order: 2; }
  .nf-v3-people-list-card { order: 3; }
  .nf-v3-apps-card { order: 4; }
}

/* Estados sem dados não reservam a área de um gráfico preenchido. */
.nf-v3-chart.is-empty { min-height: 0; }
.nf-v3-chart.is-empty svg { display: none; }
.nf-v3-chart.is-empty .nf-v3-compact-empty,
.nf-v3-apps-card.is-empty .nf-v3-compact-empty { min-height: 54px; padding: 12px; }
#nf-v3-range-error:empty { display: none; }
#nf-v3-range-error { color: var(--nfv3-muted); font-size: 11px; }
