:root{--motion-fast:160ms;--motion-medium:280ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}
button,.button,.primary-button,.admin-entry,input,select,textarea{transition:background-color var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}
a{transition:color var(--motion-fast),background-color var(--motion-fast)}
.panel-sidebar a{white-space:nowrap;transition:background-color var(--motion-fast),color var(--motion-fast),padding-left var(--motion-fast)}
.panel-sidebar a:hover{padding-left:19px}
.panel-top .icon-button{transition:background-color var(--motion-fast),transform var(--motion-fast)}
.panel-top .icon-button:active{transform:scale(.93)}
.panel-top details[open]>.panel-dropdown,.media-editor[open]>.form{animation:menu-pop var(--motion-fast) var(--motion-ease)}
dialog[open]{animation:dialog-pop var(--motion-medium) var(--motion-ease)}
dialog[open]::backdrop{animation:backdrop-in var(--motion-medium) ease-out}
.login-card,.profile-band{animation:surface-in 360ms var(--motion-ease)}
.panel-main>.wrap{animation:surface-in var(--motion-medium) var(--motion-ease)}
.motion-enter{animation:surface-in 420ms var(--motion-ease) both}
[data-motion-reveal]{transition:opacity 420ms var(--motion-ease),transform 420ms var(--motion-ease)}
[data-motion-reveal=pending]{opacity:0;transform:translateY(16px)}
[data-motion-reveal=pending]:focus-within{opacity:1;transform:none}
[data-motion-reveal=visible]{opacity:1;transform:none}
.info-card,.registration-card,.modality-card{transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
@media(hover:hover){.info-card:hover,.registration-card:hover,.modality-card:hover{box-shadow:0 10px 26px #02234f16}}
@media(min-width:851px){
  .panel-layout{grid-template-columns:245px minmax(0,1fr)}
  .motion-ready .panel-layout{transition:grid-template-columns var(--motion-medium) var(--motion-ease)}
  .panel-sidebar{min-width:0;overflow:hidden;opacity:1;transform:none;visibility:visible}
  .motion-ready .panel-sidebar{transition:opacity 180ms ease-out,transform var(--motion-medium) var(--motion-ease),padding var(--motion-medium) var(--motion-ease),visibility 0s}
  .panel-body.menu-collapsed .panel-sidebar{padding:25px 0;opacity:0;transform:translateX(-18px);visibility:hidden}
  .motion-ready.menu-collapsed .panel-sidebar{transition:opacity 180ms ease-out,transform var(--motion-medium) var(--motion-ease),padding var(--motion-medium) var(--motion-ease),visibility 0s var(--motion-medium)}
}
@media(max-width:850px){
  .panel-sidebar{display:block;transform:translateX(-105%);opacity:0;visibility:hidden;pointer-events:none}
  .motion-ready .panel-sidebar{transition:transform var(--motion-medium) var(--motion-ease),opacity var(--motion-medium) ease-out,visibility 0s var(--motion-medium)}
  .panel-body.menu-open .panel-sidebar{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
}
@keyframes surface-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-pop{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-motion-reveal=pending]{opacity:1;transform:none}
}
