/* Syncora dashboard analytics: interactive emphasis, scoped to unlocked charts. */
.category-analytics-card:not(.category-analytics-locked) .cat-line-series {
  transition: opacity 160ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-line-stroke {
  transition: stroke-width 160ms ease, filter 160ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-line-dot {
  cursor: crosshair;
  stroke: transparent;
  stroke-width: 10px;
  paint-order: stroke fill;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 160ms cubic-bezier(.2,.8,.2,1), filter 160ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-line-series:hover .cat-line-stroke,
.category-analytics-card:not(.category-analytics-locked) .cat-line-series:focus-within .cat-line-stroke {
  stroke-width: 3.6px;
  filter: brightness(1.22);
}
.category-analytics-card:not(.category-analytics-locked) .cat-line-series:hover .cat-line-dot,
.category-analytics-card:not(.category-analytics-locked) .cat-line-series:focus-within .cat-line-dot {
  filter: brightness(1.2);
}
.category-analytics-card:not(.category-analytics-locked) .cat-line-dot:hover,
.category-analytics-card:not(.category-analytics-locked) .cat-line-dot:focus-visible {
  transform: scale(1.75);
  filter: brightness(1.25);
  stroke: var(--cat-glow);
  stroke-width: 1.5px;
  outline: none;
}
.category-analytics-card:not(.category-analytics-locked) .cat-pie-slice {
  cursor: pointer;
  transition: transform 180ms cubic-bezier(.2,.8,.2,1), filter 180ms ease, stroke-width 180ms ease;
  stroke-width: 0;
}
.category-analytics-card:not(.category-analytics-locked) .cat-pie-slice:hover,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-slice:focus-visible,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-slice.is-highlighted {
  transform: translate(var(--slice-dx,0px),var(--slice-dy,0px));
  stroke: var(--panel);
  stroke-width: 1px;
  filter: brightness(1.12);
  outline: none;
}
.category-analytics-card:not(.category-analytics-locked) .cat-pie-whole:hover,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-whole:focus-visible,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-whole.is-highlighted {
  transform: scale(1.015);
  transform-origin: 110px 110px;
}
.category-analytics-card:not(.category-analytics-locked) .cat-pie-legend-item {
  border-radius: 7px;
  padding: 5px 4px;
  margin-left: -4px;
  cursor: default;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-pie-legend-item:hover,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-legend-item:focus-visible,
.category-analytics-card:not(.category-analytics-locked) .cat-pie-legend-item.is-highlighted {
  transform: translateX(2px);
  background: rgba(255,255,255,.05);
  box-shadow: inset 2px 0 0 var(--cat-glow);
  outline: none;
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar {
  border-radius: 9px;
  padding: 6px 8px;
  margin-left: -8px;
  margin-right: -8px;
  transition: transform 160ms ease, background-color 160ms ease;
  outline: none;
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:hover,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,255,255,.045);
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar .cat-bar-rail,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison .cat-bar-rail {
  transition: box-shadow 160ms ease, transform 160ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:hover .cat-bar-rail,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:focus-visible .cat-bar-rail {
  transform: scaleY(1.13);
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison:hover .cat-bar-rail,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison:focus-visible .cat-bar-rail {
  transform: scaleY(1.1);
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison .cat-bar-rail:hover {
  transform: scaleY(1.25);
}
@media (prefers-reduced-motion: reduce) {
  .category-analytics-card .cat-line-series,
  .category-analytics-card .cat-line-stroke,
  .category-analytics-card .cat-line-dot,
  .category-analytics-card .cat-pie-slice,
  .category-analytics-card .cat-pie-legend-item,
  .category-analytics-card .cat-hover-bar,
  .category-analytics-card .cat-bar-rail {
    transition: none !important;
  }
  .category-analytics-card .cat-line-dot:hover,
  .category-analytics-card .cat-line-dot:focus-visible,
  .category-analytics-card .cat-pie-slice:hover,
  .category-analytics-card .cat-pie-slice:focus-visible,
  .category-analytics-card .cat-pie-slice.is-highlighted,
  .category-analytics-card .cat-hover-bar:hover,
  .category-analytics-card .cat-hover-bar:focus-visible,
  .category-analytics-card .cat-hover-bar:hover .cat-bar-rail,
  .category-analytics-card .cat-hover-bar:focus-visible .cat-bar-rail,
  .category-analytics-card .cat-hover-comparison:hover .cat-bar-rail,
  .category-analytics-card .cat-hover-comparison:focus-visible .cat-bar-rail {
    transform: none !important;
  }
}

/* Neon controllato: luminosità sull'oggetto, non alone oltre il bordo. */
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar .cat-bar-rail > span,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison .cat-bar-rail > span {
  transition: filter 150ms ease, box-shadow 150ms ease;
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:hover .cat-bar-rail > span,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-bar:focus-visible .cat-bar-rail > span,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison:hover .cat-bar-rail > span,
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison:focus-visible .cat-bar-rail > span {
  filter: brightness(1.22);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.category-analytics-card:not(.category-analytics-locked) .cat-hover-comparison .cat-bar-rail:hover > span {
  filter: brightness(1.32);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.42);
}
@media (prefers-reduced-motion: reduce) {
 .category-analytics-card .cat-bar-rail > span { transition: none !important; }
}
