/* Motion measured from the SPT terminology homepage, 2026-09-13. */
html[data-motion-theme="reference"] {
  --motion-action: #5277ff;
  --motion-ease: cubic-bezier(.25,.1,.25,1);
  --motion-chrome-ease: cubic-bezier(.4,0,.2,1);
  scroll-behavior: auto;
}
html[data-motion-theme="reference"] :is([data-motion], [data-motion-group] > *, .is-updating, .module-frame) {
  animation: none !important;
  opacity: 1;
}
/* Content visibility must not depend on the retired scroll-reveal observer.
   Legacy workbench CSS loads later and still sets these sections to opacity:0. */
html[data-motion-theme="reference"] [data-motion="scroll"] {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
html[data-motion-theme="reference"] :is(.auth-background-art, .auth-background-wash) {
  animation: none;
  will-change: auto;
  transform: none;
}
html[data-motion-theme="reference"] :is(.score-modal-dialog, .system-modal-dialog, #workHourAnalysisDialog, dialog) {
  animation: none;
  transition: none;
}
html[data-motion-theme="reference"] :is(button, .button, .btn, .auth-explore, .profile-button, [role="button"], .management-entry-card, .management-summary-card, .kpi-card, .people-card, .record-card, .ticket-card, .ticket-status-card, .ticket-appeal-type-card, .performance-summary article, .data-preview-grid article, [data-motion-card]) {
  transition: color .2s var(--motion-ease), background-color .2s var(--motion-ease), border-color .2s var(--motion-ease), box-shadow .2s var(--motion-ease);
}
html[data-motion-theme="reference"] :is(button, .button, .btn, .auth-explore, .profile-button, [role="button"], .management-entry-card, .management-summary-card, .kpi-card, .people-card, .record-card, .ticket-card, .ticket-status-card, .ticket-appeal-type-card, .performance-summary article, .data-preview-grid article, [data-motion-card]):is(:hover,:active) {
  transform: none;
  filter: none;
}
html[data-motion-theme="reference"] :is(.single-page-topbar, .ticket-nav-item, .management-nav-item, .sidebar-nav-item, .mobile-module-nav > a) {
  transition: color .3s var(--motion-chrome-ease), background-color .3s var(--motion-chrome-ease), border-color .3s var(--motion-chrome-ease);
}
@media (hover:hover) and (pointer:fine) {
  html[data-motion-theme="reference"] :is(.management-entry-card, .management-summary-card, .kpi-card, .people-card, .record-card, .ticket-card, .ticket-status-card, .ticket-appeal-type-card, .performance-summary article, .data-preview-grid article, [data-motion-card]):hover {
    border-color: color-mix(in srgb, var(--motion-action) 27%, var(--line, #dbe1eb));
    box-shadow: 0 16px 38px color-mix(in srgb, var(--motion-action) 9%, transparent);
  }
}
html[data-motion-theme="reference"] :focus-visible {
  outline: 2px solid var(--motion-action);
  outline-offset: 3px;
}
.reference-route-feedback {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: grid;
  place-items: center;
  pointer-events: none;
  background: #0f172a29;
  backdrop-filter: blur(3px);
}
/* Touch selection uses a fill and text weight. Keyboard focus stays visible
   in a neutral color without leaving a blue ring after tapping filters. */
html[data-motion-theme="reference"] :is(.performance-filter-card,.records-filter-panel,.people-filters,.performance-state-filters) :is(input,select,button):focus {
  border-color:#d4dae2;
  box-shadow:none;
  outline:none;
}
html[data-motion-theme="reference"] :is(.performance-filter-card,.records-filter-panel,.people-filters,.performance-state-filters) :is(input,select,button):focus-visible {
  outline:2px solid #818b98;
  outline-offset:-3px;
}
html[data-motion-theme="reference"] :is(.people-filters,.performance-state-filters) button[aria-pressed="true"] { border-color:transparent; box-shadow:none; }
.reference-loading-dots { display:flex; align-items:center; gap:7px; }
.reference-loading-dot { width:9px; height:9px; border-radius:50%; background:var(--motion-action); }
.reference-loading-dots { display:none; }
.reference-route-feedback { display:none !important; }
html[data-motion-theme="reference"] :is(
  .ticket-loading-state i,
  .ticket-detail-state[data-kind="loading"] > i,
  .management-loading-orbit i,
  .data-access-loading i,
  .people-loading i,
  .rules-loading i,
  .records-loading i,
  .management-status i.ph-circle-notch,
  .data-progress-icon i,
  .ticket-skeleton::after
) { animation:none !important; }
html[data-motion-theme="reference"] .ticket-skeleton::after { animation:none !important; }
@media (hover:none), (pointer:coarse) {
  html[data-motion-theme="reference"] :is(button, a, [role="button"], .management-entry-card, .management-summary-card, .kpi-card, .people-card, .record-card, .ticket-card, .ticket-status-card, .ticket-appeal-type-card, .performance-summary article, .data-preview-grid article, [data-motion-card]):is(:hover,:active) { transform:none; filter:none; }
}
@media (prefers-reduced-motion:reduce) {
  html[data-motion-theme="reference"] *, html[data-motion-theme="reference"] *::before, html[data-motion-theme="reference"] *::after {
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  .reference-route-feedback { display:none; }
}
