

/* Approved compact action reference. Individual translate/scale preserve any
   existing transform used to position a control. No animation on navigation. */
@media screen {
 :root {--sc-action-hover:#6746bd;--sc-action-pressed:#54359e;--sc-action-duration:160ms}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):not(.btn-link):not([role=tab]):not(.paginate_button):not([data-action-static]) {
  transition:background-color var(--sc-action-duration),border-color var(--sc-action-duration),color var(--sc-action-duration),translate var(--sc-action-duration) cubic-bezier(.2,.8,.2,1),scale var(--sc-action-duration) cubic-bezier(.2,.8,.2,1),box-shadow var(--sc-action-duration);
 }
 html:root body :is(.ei-button,.sc-action-button) {min-height:36px;border-radius:8px;padding:7px 10px}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):not(.btn-link):not([role=tab]):not(.paginate_button):not([data-action-static]):not([aria-expanded]):not(.dropdown-toggle) > :is(svg.sc-ui-icon,svg.icon,i.fa) {
  transition:translate var(--sc-action-duration),rotate var(--sc-action-duration);
 }
 @media(hover:hover) and (pointer:fine) {
  html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):not(.btn-link):not([role=tab]):not(.paginate_button):not([data-action-static]):not(:disabled):not(.disabled):not([aria-disabled=true]):not([aria-busy=true]):hover {
   translate:0 -1px;box-shadow:0 3px 8px color-mix(in srgb,var(--ui-focus,#7351d7) 18%,transparent)!important;
  }
  html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):not([data-action-static]):not([aria-expanded]):not(.dropdown-toggle):not(:disabled):not(.disabled):not([aria-disabled=true]):not([aria-busy=true]):hover > :is(svg.sc-ui-icon,svg.icon,i.fa) {translate:0 -1px;rotate:-5deg}
 }
 html:root body :is(.btn-primary,.tw-dw-btn-primary,.sc-action-primary):not(:disabled):not(.disabled):not([aria-disabled=true]):not([aria-busy=true]):hover {background:var(--sc-action-hover)!important;border-color:var(--sc-action-hover)!important;color:#fff!important}
 html:root body :is(.btn-primary,.tw-dw-btn-primary,.sc-action-primary):not(:disabled):not(.disabled):not([aria-disabled=true]):active {background:var(--sc-action-pressed)!important;border-color:var(--sc-action-pressed)!important}
 html:root body :is(.btn-default,.btn-neutral,.tw-dw-btn-neutral,.tw-dw-btn-outline,.dt-button):not(:disabled):not(.disabled):not([aria-disabled=true]):hover {background:var(--sc-select-selected,var(--ui-soft))!important;border-color:var(--ui-focus)!important}
 html:root body :is(.btn-danger,.tw-dw-btn-error):not(:disabled):not(.disabled):not([aria-disabled=true]):active {background:#921c2a!important;border-color:#921c2a!important;color:#fff!important}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):not(.btn-link):not([role=tab]):not(.paginate_button):not([data-action-static]):not(:disabled):not(.disabled):not([aria-disabled=true]):not([aria-busy=true]):active {translate:0 0;scale:.97;box-shadow:none!important;transition-duration:70ms}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button).sc-action-pulse:not([data-action-static]) {animation:sc-action-feedback .24s ease-out}
 @keyframes sc-action-feedback {0%{scale:.97}65%{scale:1.025}100%{scale:1}}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):is(:disabled,.disabled,[aria-disabled=true]) {opacity:.45;cursor:not-allowed;translate:none;scale:none;animation:none!important;box-shadow:none!important}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button)[aria-busy=true] {opacity:.8;cursor:wait;translate:none;scale:none}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button)[aria-busy=true] > :is(svg.sc-ui-icon,svg.icon,i.fa) {animation:sc-action-working .8s ease-in-out infinite}
 @keyframes sc-action-working {0%,100%{opacity:.4;translate:-2px 0}50%{opacity:1;translate:2px 0}}
 html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button):focus-visible {outline:2px solid var(--ui-focus,#7351d7)!important;outline-offset:3px}
 /* Coarse pointers keep existing specialist geometry; ordinary form commands
    receive a 44 px target without changing desktop density or pagination. */
 @media(pointer:coarse) {
  html:root body :is(.modal-footer,.sc-appointment-mini-panel-footer) :is(.btn,.tw-dw-btn) {min-height:44px}
 }
 @media(prefers-reduced-motion:reduce) {
  html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button),
  html:root body :is(.btn,.tw-dw-btn,.dt-button,.ei-button,.sc-action-button) > :is(svg,i) {transition:none!important;animation:none!important;translate:none!important;scale:none!important;rotate:none!important}
 }
}

/* Shared activity bars, matching scDataLoader. */
.sc-page-progress{position:fixed;inset:0 0 auto;height:3px;z-index:2147483000;pointer-events:none;overflow:hidden;background:color-mix(in srgb,var(--ui-focus,var(--auth-accent,#7351d7)) 18%,transparent)}
.sc-page-progress[hidden]{display:none!important}
.sc-page-progress::after{content:'';display:block;width:35%;height:100%;background:var(--ui-focus,var(--auth-accent,#7351d7));animation:sc-page-travel 1.1s ease-in-out infinite alternate}
@keyframes sc-page-travel{from{transform:translateX(-100%)}to{transform:translateX(285%)}}
html.sc-feedback-ready .pace{display:none!important}
html body .sc-action-working{position:relative;cursor:wait!important}
html body button.sc-action-working::after{content:'';display:inline-block;width:18px;height:16px;margin-inline-start:8px;vertical-align:middle;background:linear-gradient(currentColor,currentColor) 0 100%/4px 6px no-repeat,linear-gradient(currentColor,currentColor) 50% 100%/4px 11px no-repeat,linear-gradient(currentColor,currentColor) 100% 100%/4px 16px no-repeat;animation:sc-action-bars .8s ease-in-out infinite alternate}
@keyframes sc-action-bars{to{opacity:.4;transform:scaleY(.65)}}
@media(prefers-reduced-motion:reduce){.sc-page-progress::after,html body button.sc-action-working::after{animation:none}.sc-page-progress::after{width:100%}}
@media print{.sc-page-progress{display:none!important}}
