/* Feedback follows native hover/press/focus and explicit request state. No click handlers. */
body.workspace-jade:not(.auth-page) :is(button,.button) { touch-action:manipulation; }
body.workspace-jade:not(.auth-page) :is(.executive-timeline,.executive-summary) { animation:none; }
body.workspace-jade:not(.auth-page) :is(button,.button)[aria-busy=true] { position:relative; cursor:progress; padding-inline-end:34px; }
body.workspace-jade:not(.auth-page) :is(button,.button)[aria-busy=true]::after {
 content:""; position:absolute; right:12px; top:calc(50% - 6px); width:12px; height:12px;
 border:2px solid currentColor; border-right-color:transparent; border-radius:50%; pointer-events:none;
}
@media(prefers-reduced-motion:no-preference) {
 body.workspace-jade:not(.auth-page) :is(button,.button) { transition:transform 180ms cubic-bezier(.2,.8,.2,1),background-color 160ms ease,border-color 160ms ease,color 160ms ease; }
 @media(hover:hover) and (pointer:fine) {
  body.workspace-jade:not(.auth-page) :is(button,.button):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):not([data-view]):not(.executive-node):not(.ab-event):not(.shared-goal-card):hover { transform:translateY(-1px); }
 }
 body.workspace-jade:not(.auth-page) :is(button,.button):not(:disabled):not([aria-disabled=true]):not([aria-busy=true]):not([data-view]):not(.executive-node):not(.ab-event):not(.shared-goal-card):active { transform:scale(.98); transition-duration:80ms; }
 body.workspace-jade:not(.auth-page) :is(button,.button)[aria-busy=true]::after { animation:jade-button-wait 800ms linear infinite; }
}
body.workspace-jade:not(.auth-page) :is(button,.button):is(:disabled,[aria-disabled=true],[aria-busy=true]) { transform:none; transition-property:background-color,border-color,color; }
body.workspace-jade:not(.auth-page) :is(.executive-node,.ab-event,.shared-goal-card,[data-view]) { transform:none; }
@keyframes jade-button-wait { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
 body.workspace-jade:not(.auth-page) :is(button,.button),body.workspace-jade:not(.auth-page) :is(button,.button)::after { animation:none!important; transition:none!important; transform:none!important; }
}
@media print {
 body.workspace-jade :is(button,.button),body.workspace-jade :is(button,.button)::after { animation:none!important; transition:none!important; transform:none!important; }
}
