:root{
  --motion-duration-instant:80ms;
  --motion-duration-fast:150ms;
  --motion-duration-base:210ms;
  --motion-duration-slow:320ms;
  --motion-duration-data:550ms;
  --motion-ease-standard:cubic-bezier(.2,.8,.2,1);
  --motion-ease-enter:cubic-bezier(.16,1,.3,1);
  --motion-ease-exit:cubic-bezier(.4,0,1,1);
  --motion-distance-small:5px;
  --motion-distance-medium:8px;
  --motion-scale-press:.98;
}

@keyframes skeleton-sweep{
  from{background-position:100% 0}
  to{background-position:-100% 0}
}

@keyframes surface-enter{
  from{opacity:.55;transform:translateY(var(--motion-distance-small))}
  to{opacity:1;transform:translateY(0)}
}

@keyframes line-enter{
  from{stroke-dashoffset:900}
  to{stroke-dashoffset:0}
}

@keyframes list-row-enter{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}

@keyframes chart-annotation-enter{
  from{opacity:0;transform:translateY(var(--motion-distance-small))}
  to{opacity:1;transform:none}
}

.list-motion-pending,.list-motion-revealed{animation:list-row-enter 210ms var(--motion-ease-enter) 1 both;animation-delay:calc(var(--motion-list-index,0) * var(--motion-list-stagger,40ms))}
.list-motion-final{opacity:1;transform:none;animation:none}

.skeleton-line{animation-name:skeleton-sweep;animation-duration:var(--motion-duration-slow);animation-timing-function:var(--motion-ease-standard);animation-iteration-count:1;animation-fill-mode:both}
.trend-line-current,.trend-line-previous{stroke-dasharray:900;stroke-dashoffset:900;animation:line-enter var(--motion-duration-data) var(--motion-ease-standard) 1 both}
.motion-count-complete{transition:color var(--motion-duration-fast) var(--motion-ease-standard);color:var(--color-primary)}
.motion-draw-ready{stroke-dasharray:900;stroke-dashoffset:900}
.motion-draw-complete{stroke-dashoffset:0;transition:stroke-dashoffset var(--motion-duration-data) var(--motion-ease-standard)}
.motion-highlight{transition:background-color var(--motion-duration-base) var(--motion-ease-standard),color var(--motion-duration-base) var(--motion-ease-standard);background-color:var(--color-primary-soft)}
.motion-transition{animation:surface-enter var(--motion-duration-base) var(--motion-ease-enter) 1 both}
.metric-card-value{transition:color var(--motion-duration-fast) var(--motion-ease-standard)}
.operations-trend-series.chart-motion-ready{stroke-dasharray:900;stroke-dashoffset:900}
.operations-trend-series.chart-motion-drawn{stroke-dashoffset:0;transition:stroke-dashoffset var(--motion-duration-data) var(--motion-ease-standard)}
.operations-trend-series.chart-motion-transition{transition:stroke-dashoffset var(--motion-duration-base) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}
.operations-trend-point.chart-motion-points-pending,.operations-trend-value-label.chart-motion-labels-pending{opacity:0;transform:translateY(var(--motion-distance-small))}
.operations-trend-point.chart-motion-points-ready{animation:chart-annotation-enter var(--motion-duration-instant) var(--motion-ease-enter) 1 both}
.operations-trend-value-label.chart-motion-labels-ready{animation:chart-annotation-enter var(--motion-duration-fast) var(--motion-ease-enter) 1 both}
.operations-trend-point.chart-motion-annotation-final,.operations-trend-value-label.chart-motion-annotation-final{opacity:1;transform:none;animation:none}
.dashboard-section-reveal-ready{opacity:.55;transform:translateY(var(--motion-distance-small))}
.dashboard-section-reveal-ready.dashboard-section-revealed{opacity:1;transform:translateY(0);transition:opacity var(--motion-duration-base) var(--motion-ease-enter),transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-page-enter-ready{opacity:.98;transform:translateY(10px)}
.motion-content-enter-ready,.motion-toast-enter-ready{opacity:.98;transform:translateY(var(--motion-distance-small))}
.motion-page-entered,.motion-content-entered,.motion-toast-entered{opacity:1;transform:translateY(0);transition:opacity var(--motion-duration-base) var(--motion-ease-enter),transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-drawer-ready{opacity:.98;transform:translateX(var(--motion-distance-medium))}
.motion-drawer-open{opacity:1;transform:translateX(0);transition:opacity var(--motion-duration-base) var(--motion-ease-enter),transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-backdrop-ready{opacity:.98}
.motion-backdrop-open{opacity:1;transition:opacity var(--motion-duration-base) var(--motion-ease-standard)}
.motion-drawer-entered,.motion-drawer-panel-entered,.motion-backdrop-entered{opacity:1;transform:none}
.motion-drawer-panel-ready{opacity:.98;transform:translateX(var(--motion-distance-medium))}
.motion-drawer-panel-open{opacity:1;transform:translateX(0);transition:opacity var(--motion-duration-base) var(--motion-ease-enter),transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-navigation-closed{transform:translateX(calc(-1 * var(--motion-distance-medium)));transition:transform var(--motion-duration-base) var(--motion-ease-exit)}
.motion-navigation-open{transform:translateX(0);transition:transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-backdrop-closed{opacity:0;transition:opacity var(--motion-duration-base) var(--motion-ease-exit)}
.motion-navigation-closing{will-change:transform}
.motion-backdrop-closing{will-change:opacity}
.motion-drawer-closing{opacity:0;transition:opacity var(--motion-duration-base) var(--motion-ease-exit)}
.motion-drawer-panel-closing{opacity:.98;transform:translateX(var(--motion-distance-medium));transition:opacity var(--motion-duration-base) var(--motion-ease-exit),transform var(--motion-duration-base) var(--motion-ease-exit)}
.motion-content-enter{animation:surface-enter var(--motion-duration-base) var(--motion-ease-enter) 1 both}
.workspace-tab-indicator{display:block;width:0;height:3px;margin-inline:auto;border-radius:999px;background:currentColor;opacity:0;transform:scaleX(.5);transform-origin:center;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}
.workspace-tab[data-motion-active="true"] .workspace-tab-indicator{width:100%;opacity:1;transform:scaleX(1)}
.motion-feedback-updated{background-color:var(--color-primary-soft);transition:background-color var(--motion-duration-base) var(--motion-ease-standard),border-color var(--motion-duration-base) var(--motion-ease-standard)}
.motion-toast{will-change:opacity,transform;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-raised);font-size:.82rem;font-weight:750}
#admin-toast-region{position:fixed;z-index:100;top:16px;right:16px;display:grid;gap:8px;width:min(360px,calc(100vw - 32px));pointer-events:none}
#admin-toast-region .motion-toast{pointer-events:auto}
.motion-toast-enter-ready{opacity:.98;transform:translateY(var(--motion-distance-small))}
.motion-toast-entered{opacity:1;transform:translateY(0);transition:opacity var(--motion-duration-base) var(--motion-ease-enter),transform var(--motion-duration-base) var(--motion-ease-enter)}
.motion-toast[data-tone="success"]{border-color:var(--color-success-border);background:var(--color-surface-success);color:var(--color-success-text)}
.motion-toast[data-tone="warning"]{border-color:var(--color-warning-border);background:var(--color-surface-warning);color:var(--color-warning)}
.motion-toast[data-tone="danger"]{border-color:var(--color-danger-border);background:var(--color-surface-danger);color:var(--color-danger)}
.motion-tab-indicator{pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}
.button:not(:disabled){transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-instant) linear}
.button:active:not(:disabled){transform:scale(var(--motion-scale-press))}
.button[data-motion-busy="true"]{cursor:wait}
.button[data-motion-success="true"]{border-color:var(--color-success-border);color:var(--color-success-text)}

@media(prefers-reduced-motion:reduce){
  .list-motion-pending,.list-motion-revealed,.list-motion-final{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  *,*::before,*::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}
  .motion-count-complete,.motion-draw-complete,.motion-highlight,.motion-transition,.motion-page-enter-ready,.motion-page-entered,.motion-content-enter-ready,.motion-content-entered,.motion-content-enter,.motion-toast-enter-ready,.motion-toast-entered,.motion-drawer-ready,.motion-drawer-open,.motion-drawer-entered,.motion-drawer-panel-ready,.motion-drawer-panel-open,.motion-drawer-panel-entered,.motion-backdrop-ready,.motion-backdrop-open,.motion-backdrop-entered,.motion-navigation-closed,.motion-navigation-open,.motion-backdrop-closed,.motion-drawer-closing,.motion-drawer-panel-closing,.motion-backdrop-closing{transform:none!important;opacity:1!important}
  .skeleton-line{animation:none!important}
  .motion-count-complete{transition:none!important}
  .motion-count-complete,.motion-draw-complete,.motion-highlight,.motion-transition,.motion-page-entered,.motion-content-entered,.motion-toast-entered,.motion-drawer-open,.motion-backdrop-open{transition:none!important;animation:none!important}
  .operations-trend-series{transition:none!important;animation:none!important;stroke-dashoffset:0!important}
  .operations-trend-point,.operations-trend-value-label{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}
  .motion-tab-indicator{transition:none!important;transform:none!important;opacity:1!important}
  .motion-feedback-updated{transition:none!important}
  .motion-navigation-closing{transition:none!important}
  .motion-toast-enter-ready,.motion-toast-entered{transition:none!important;animation:none!important}
  .dashboard-section-reveal-ready{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}
