/* Shared subtle interactions. No scripts, timers or data requests. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 html[data-on-motion] :is(.summary-card,.metric-card,.ops-kpi,.ops-stat,.profile-metric,.province-kpi,.kpi-trend-module__kpi,.grid>a.card,.cards>.card,.kpis>.kpi){transition:transform 180ms ease-out,box-shadow 180ms ease-out;}
 html[data-on-motion] :is(.summary-card,.metric-card,.ops-kpi,.ops-stat,.profile-metric,.province-kpi,.kpi-trend-module__kpi,.grid>a.card,.cards>.card,.kpis>.kpi):hover{transform:translateY(-2px);box-shadow:0 7px 18px #20374a18!important;}
 html[data-on-motion] :is(.commercial-bar-altas,.commercial-bar-bajas){transform-origin:center bottom;transition:transform 180ms ease-out,filter 180ms ease-out;}
 html[data-on-motion] :is(.commercial-bar-altas,.commercial-bar-bajas):hover{transform:scaleX(1.06);filter:brightness(1.07);}
 html[data-on-motion] :is(path.province,.tile,.kpi-tipos-donut,.radar-wrap svg polygon:not([fill="none"]),.kpi-trend-module__svg path[stroke-width="2.6"],.bar-row .fill){transition:filter 180ms ease-out;}
 html[data-on-motion] :is(path.province,.tile,.kpi-tipos-donut,.radar-wrap svg polygon:not([fill="none"]),.kpi-trend-module__svg path[stroke-width="2.6"],.bar-row .fill):hover{filter:brightness(1.09);}
 html[data-on-motion] .kpi-api:not(.bad):is(:hover,:focus-visible)::before,
 html[data-on-motion] .status:hover .dot{animation:on-api-pulse 600ms ease-out 1;}
 @keyframes on-api-pulse{0%,100%{transform:scale(1);opacity:1}45%{transform:scale(1.45);opacity:.65}}
}
