/* Last in the cascade: common motion without moving controls during use. */
:root{--motion-fast:160ms;--motion-ease:cubic-bezier(.2,.7,.3,1)}
.studio-content{max-width:1560px;margin-inline:auto;padding-inline:4vw}
.panel,.admin-panel,.task-create-panel{min-width:0}
.page-head,.section-head,.admin-panel-head{gap:16px}
.product-row>div,.task-overview-target,.task-review-content{min-width:0;overflow-wrap:anywhere}
.task-review-content{max-height:55dvh;overflow:auto;line-height:1.8}
.task-review .form-actions{position:sticky;bottom:0;background:var(--panel);padding-top:12px}
.task-just-created{animation:task-created 1.8s ease-out}
@keyframes task-created{from{background:color-mix(in srgb,var(--accent) 18%,transparent)}to{background:transparent}}
.target-option.is-selected{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.selected-target-chip{animation:motion-enter 220ms var(--motion-ease)}
.studio-profile[open] .studio-profile-menu,.row-menu[open] .row-menu-panel,.ui-select-popup:not([hidden]){animation-duration:240ms}
.profile-menu[open] .profile-popover{animation:motion-enter 240ms var(--motion-ease)}
.task-row .state,.friend-option .checkmark{transition:color 180ms,opacity 180ms,background-color 180ms}
@media(max-width:560px){.dialog-bottom{padding-bottom:max(12px,env(safe-area-inset-bottom))}.dialog-bottom button{min-height:44px}#toast{max-width:calc(100vw - 32px);overflow-wrap:anywhere}}
.inbox-item.is-read>div:first-child>strong{color:var(--muted)}
[data-diagnostic-list]{display:grid;gap:8px;max-height:420px;overflow:auto}
[data-diagnostic-list] details{padding:10px;border-bottom:1px solid var(--line)}
[data-diagnostic-list] p{font-size:12px;overflow-wrap:anywhere;margin-top:12px}
.scan-elapsed{font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted)}
@media(max-width:820px){.studio-content{padding-inline:4vw}.task-create-panel{position:static}.product-row{flex-wrap:wrap}.product-actions{flex-wrap:wrap}.target-picker-sheet-foot,.scan-dialog-foot{position:sticky;bottom:0;background:var(--panel);z-index:3;padding-bottom:max(12px,env(safe-area-inset-bottom))}dialog{max-height:calc(var(--visible-height,100dvh) - 24px)}.task-review .form-actions>button{flex:1}.batch-toolbar{gap:10px}.batch-toolbar select{max-width:100%}}
@media(max-width:560px){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}.target-picker-sheet-foot>div{display:flex;gap:8px;width:100%}.target-picker-sheet-foot button{flex:1;min-height:44px}.studio-header-end{gap:12px}.page-head{align-items:flex-start;flex-wrap:wrap}.panel,.admin-panel{padding:18px}.task-overview-row{padding-block:14px}.studio-metric strong{font-size:clamp(25px,7vw,36px)}button,.button{min-height:40px}}
.ui-load-placeholder{display:grid;gap:12px;padding:20px;min-height:108px}
.ui-load-placeholder span{display:block;height:14px;background:var(--field);border-radius:3px}
.ui-load-placeholder span:nth-child(2){width:72%}
.ui-load-placeholder span:nth-child(3){width:88%}
.studio-profile[open] .studio-profile-menu,.row-menu[open] .row-menu-panel,.ui-select-popup:not([hidden]),.app-toast{animation:motion-enter var(--motion-fast) var(--motion-ease)}
@keyframes motion-enter{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
.app-toast-region,.app-runtime-toast-region,.admin-toast-region{top:auto;left:auto;right:24px;bottom:24px;transform:none;width:min(400px,calc(100vw - 32px));pointer-events:none}
.app-toast{pointer-events:auto;background:var(--panel);color:var(--ink);box-shadow:0 5px 20px #0002}
.app-toast[data-closing=true]{opacity:0;translate:0 4px;transition:opacity 180ms,translate 180ms}
.app-toast-error{border-color:var(--red)}
.app-toast-close{flex-shrink:0;min-width:32px}
button.is-loading::after{animation:motion-spin .7s linear infinite}
@keyframes motion-spin{to{transform:rotate(360deg)}}
.target-option,.pill,.account-health,.task-row-action{transition:color 160ms,background-color 160ms,border-color 160ms}
.target-option>i{transition:opacity 160ms}
.motion-avatar-pending{opacity:0}
.motion-avatar-ready{opacity:1;transition:opacity 180ms}
.scan-progress{display:flex;gap:12px;list-style:none;margin:0 0 18px;padding:0;flex-wrap:wrap;color:var(--muted);font-size:11px}
.scan-progress li{border-bottom:2px solid var(--line);padding:6px 0;flex:1;min-width:70px}
.scan-progress li[aria-current=step]{color:var(--ink);border-color:var(--accent)}
.scan-progress li[data-complete=true]{border-color:var(--green)}
dialog{transition:opacity 180ms,translate 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete}
dialog:not([open]){opacity:0;translate:0 6px}
dialog[open]{opacity:1;translate:0 0}
dialog::backdrop{transition:opacity 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete}
dialog:not([open])::backdrop{opacity:0}
@media(max-width:640px){.app-toast-region,.app-runtime-toast-region,.admin-toast-region{right:16px;bottom:calc(18px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.studio-content,dialog[open],dialog::backdrop,.app-toast,.ui-load-placeholder span,.scan-loading-track:after,button.is-loading:after{animation:none!important}*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
