.dashboard-metric-value{border-radius:var(--radius-sm);display:inline-block}.dashboard-live-card:focus-within{border-color:var(--ring)}.dashboard-data-row:hover{background-color:var(--muted)}@media (prefers-reduced-motion:no-preference){.dashboard-metric-value{animation:.45s ease-out dashboard-value-update}.dashboard-live-card,.dashboard-data-row,.dashboard-detail-link{transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out,box-shadow .16s ease-out}.dashboard-detail-link svg{transition:transform .16s ease-out}.dashboard-detail-link:is(:hover,:focus-visible) svg{transform:translate(3px)}.dashboard-status-bar{transform-origin:0;transition:width .35s ease-out;animation:.35s ease-out dashboard-bar-reveal}.dashboard-hero-glow{animation:7s ease-in-out infinite alternate dashboard-glow}.dashboard-live-dot{position:relative}.dashboard-live-dot:after{content:"";border-radius:inherit;background:inherit;animation:1.6s cubic-bezier(0,0,.2,1) infinite dashboard-ping;position:absolute;inset:0}}@keyframes dashboard-value-update{0%{background-color:color-mix(in oklab, var(--primary) 14%, transparent)}to{background-color:#0000}}@keyframes dashboard-bar-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes dashboard-glow{0%{opacity:.7;transform:translate(0)scale(1)}to{opacity:1;transform:translate(-40px,24px)scale(1.15)}}@keyframes dashboard-ping{75%,to{opacity:0;transform:scale(2.4)}}.dashboard-intro{animation:.72s cubic-bezier(.16,1,.3,1) both dashboard-intro-rise}.dashboard-hero.dashboard-intro{animation-name:dashboard-intro-hero;animation-duration:.9s}[data-intro] .dashboard-hero:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(105deg, transparent 30%, color-mix(in oklab, var(--hero-ink) 16%, transparent) 50%, transparent 70%);animation:dashboard-intro-shine 1.4s cubic-bezier(.45, 0, .2, 1) calc(var(--intro-delay,0s) + .5s) both;position:absolute;inset:0;transform:translate(-120%)}[data-intro] .dashboard-sparkline-line{animation:dashboard-intro-draw 1.4s cubic-bezier(.65, 0, .35, 1) calc(var(--intro-delay,0s) + .35s) both}[data-intro] .dashboard-sparkline-area{animation:dashboard-intro-fill .9s ease-out calc(var(--intro-delay,0s) + 1.1s) both}[data-intro] .dashboard-kpi-grid.dashboard-intro{animation:none}[data-intro] .dashboard-kpi-grid>*{animation:dashboard-intro-rise .64s cubic-bezier(.16, 1, .3, 1) calc(var(--intro-delay,0s) + var(--i,0) * 70ms) both}[data-intro] .dashboard-kpi-grid>:nth-child(2){--i:1}[data-intro] .dashboard-kpi-grid>:nth-child(3){--i:2}[data-intro] .dashboard-kpi-grid>:nth-child(4){--i:3}[data-intro] .dashboard-kpi-grid>:nth-child(5){--i:4}[data-intro] .dashboard-kpi-grid>:nth-child(6){--i:5}[data-intro] .dashboard-status-bar{animation:dashboard-bar-reveal .9s cubic-bezier(.22, 1, .36, 1) calc(var(--intro-delay,0s) + .25s + var(--i,0) * 80ms) both}[data-intro] .dashboard-data-row{animation:dashboard-intro-slide .56s cubic-bezier(.16, 1, .3, 1) calc(var(--intro-delay,0s) + .15s + var(--i,0) * 80ms) both}[data-intro] .dashboard-chart-intro .recharts-cartesian-grid,[data-intro] .dashboard-chart-intro .recharts-cartesian-axis{animation:dashboard-intro-fade .6s ease-out calc(var(--intro-delay,0s) + .15s) both}[data-intro] .dashboard-chart-intro .recharts-line,[data-intro] .dashboard-chart-intro .recharts-area-curve{animation:dashboard-intro-draw 1.4s cubic-bezier(.65, 0, .35, 1) calc(var(--intro-delay,0s) + .3s) both}[data-intro] .dashboard-chart-intro .recharts-area-area,[data-intro] .dashboard-chart-intro .recharts-pie,[data-intro] .dashboard-chart-intro .recharts-bar-rectangles{animation:dashboard-intro-fill .9s ease-out calc(var(--intro-delay,0s) + .7s) both}@keyframes dashboard-intro-rise{0%{opacity:0;filter:blur(6px);transform:translateY(18px)}to{opacity:1;filter:none;transform:none}}@keyframes dashboard-intro-hero{0%{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.96)}to{opacity:1;filter:none;transform:none}}@keyframes dashboard-intro-shine{to{transform:translate(120%)}}@keyframes dashboard-intro-slide{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes dashboard-intro-fade{0%{opacity:0}to{opacity:1}}@keyframes dashboard-intro-draw{0%{clip-path:inset(-12px 100% -12px -12px)}to{clip-path:inset(-12px)}}@keyframes dashboard-intro-fill{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
