:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-fast:150ms;--motion-normal:220ms}
.page-content{animation:motion-page-in 260ms var(--motion-ease) both}
.navigation-dialog[open],.toast.show{animation:none}
:is(button,.btn,summary,.nav a,.mobile a,.mobile button,.section-tabs a,.status-tabs a,.studio-mode a,.theme-switch,.mobile-menu-shortcuts a){transition:background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease,transform var(--motion-fast) var(--motion-ease)}
:is(button,.btn):not(:disabled):active{transform:scale(.98)}
:is(input,select,textarea){transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease}
:is(.order-record,.shipping-record,.studio-file,.review-card,.photo-card,.film-stock-option,.plan-card,.tag,.service-status,.lab-job-status){transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
:is(.metric-card,.workspace-actions a,.priority-list a,.workflow-stages a,.recent-orders a){transition:background-color 180ms ease,border-color 180ms ease,transform 180ms var(--motion-ease)}
.theme-track,.theme-track i{transition:background-color 180ms ease,transform 200ms var(--motion-ease)}
.sidebar{transition:width 240ms var(--motion-ease),padding 240ms var(--motion-ease)}
.nav a.active:after{animation:motion-dot-in 180ms var(--motion-ease)}
.modal-mask{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 180ms ease,visibility 0s linear 180ms}
.modal-mask.show{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}
.modal-mask :is(.camera-modal,.photo-modal-img,.modal-panel){transform:translateY(10px) scale(.985);transition:transform 220ms var(--motion-ease)}
.modal-mask.show :is(.camera-modal,.photo-modal-img,.modal-panel){transform:none}
.toast{display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px);transition:opacity 160ms ease,transform 200ms var(--motion-ease),visibility 0s linear 160ms}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.flash{animation:motion-panel-in 220ms var(--motion-ease) both}
.motion-busy:before{content:'';width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex-shrink:0;animation:motion-spin 800ms linear infinite}
.form-workspace:has(>.order-entry:only-child){grid-template-columns:minmax(0,1fr);width:100%;max-width:1040px}
.workspace-actions a{min-height:76px}.studio-caption:empty{display:none}.integration-intro:has(>div:only-child){justify-content:flex-start}
.motion-page-leaving .page-content{animation:motion-page-out 140ms ease-in both}
@media(hover:hover){:is(.metric-card,.workspace-actions a,.workflow-stages a):hover{transform:translateY(-2px);border-color:var(--accent)}.priority-list a:hover,.recent-orders a:hover{background:var(--focus)}}
@keyframes motion-page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes motion-page-out{to{opacity:0;transform:translateY(-5px)}}
@keyframes motion-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes motion-dot-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes motion-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 :root{view-transition-name:root}
 ::view-transition-group(root){animation-duration:220ms;animation-timing-function:var(--motion-ease)}
 ::view-transition-old(root){animation:motion-fade-out 160ms ease-out both}
 ::view-transition-new(root){animation:motion-fade-in 220ms var(--motion-ease) both}
}
@keyframes motion-fade-out{to{opacity:0}}
@keyframes motion-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{.motion-busy:before{display:none}.modal-mask,.toast{display:none!important}.page-content{animation:none;opacity:1;transform:none}}
