/* Restrained motion; no animation is required to use the application. */
@keyframes psa-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes psa-background{from{transform:translate3d(0,0,0)}to{transform:translate3d(-24px,-18px,0)}}
@keyframes psa-toast{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:no-preference){
  .auth-agency{animation:psa-enter .5s ease-out both}
  .auth-intro{animation:psa-enter .65s .08s ease-out both}
  .auth-panel-inner{animation:psa-enter .6s .14s ease-out both}
  .auth-story::after{animation:psa-background 2.4s ease-in-out 2 alternate}
  .content>header{animation:psa-enter .4s ease-out both}
  .content>.card,.content>.grid{animation:psa-enter .45s .06s ease-out both}
  #toast>div{animation:psa-toast .25s ease-out both}
  button,.button{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,filter .18s ease}
  button:active:not(:disabled),.button:active{transform:translateY(1px)}
  .sidebar nav a{transition:background-color .18s ease,color .18s ease,transform .18s ease}
  input,select,textarea{transition:border-color .18s ease,box-shadow .18s ease}
  input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #174fa112}
  .stats .card{transition:transform .2s ease,box-shadow .2s ease}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  button:hover:not(:disabled),.button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #17346318}
  .sidebar nav a:hover{transform:translateX(3px)}
  .stats .card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #1734630d}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}}

