/* Motion is short feedback, never a new layout or coordinate system for fixed pickers. */
:root{--motion-fast:140ms;--motion-standard:160ms;--motion-panel:180ms;--motion-details:200ms;--motion-ease:cubic-bezier(.2,.7,.2,1);--motion-interaction:140ms;--motion-surface:180ms;--motion-layout:220ms}

@keyframes gc-fade-in{from{opacity:0}to{opacity:1}}
@keyframes gc-fade-out{from{opacity:1}to{opacity:0}}
@keyframes gc-surface-in{from{opacity:0;translate:0 3px}to{opacity:1;translate:0 0}}
@keyframes gc-brand-pulse{from{opacity:.55}to{opacity:1}}

/* Ancestors of fixed date/selection controls fade without transforms or translate. */
.modal-backdrop{animation:gc-fade-in var(--motion-standard) var(--motion-ease)}
.modal-backdrop>.modal,.client-details-panel:not([hidden]){animation:gc-fade-in var(--motion-panel) var(--motion-ease)}
.client-tab-panel:not([hidden]),.process-tab-panel:not([hidden]),.task-tab-panel:not([hidden]){animation:gc-fade-in var(--motion-fast) var(--motion-ease)}
.has-tooltip.help-open>.help-tooltip.help-popover{animation:gc-fade-in var(--motion-fast) var(--motion-ease)}

/* Only leaf surfaces travel three pixels; their parent form and checkboxes stay put. */
.client-picker-preview,.dossier-tab-overflow[open]>.dossier-overflow-menu,
.task-dossier-modal .gc-date-control .gc-date-popup:not([hidden]){
  animation:gc-surface-in var(--motion-standard) var(--motion-ease);
}
details.relation-picker[open][data-floating-picker]>.relation-picker-tools,
details.relation-picker[open][data-floating-picker]>.client-picker-search,
details.relation-picker[open][data-floating-picker]>.relation-options{
  animation:gc-surface-in var(--motion-fast) var(--motion-ease);
}
.button,.text-button,.icon-button,.task-dossier-tab,.record-card{
  transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease);
}
.sidebar{transition:transform var(--motion-panel) var(--motion-ease),visibility var(--motion-panel)}

/* The root removes these surfaces after 160 ms; only closing blocks pointer actions. */
.modal-backdrop.is-closing{animation:gc-fade-out var(--motion-standard) var(--motion-ease) forwards;pointer-events:none}
.has-tooltip.help-open>.help-tooltip.help-popover.is-closing{animation:gc-fade-out var(--motion-standard) var(--motion-ease) forwards;pointer-events:none}
.client-details-panel.is-details-opening:not([hidden]){animation:gc-fade-in var(--motion-details) var(--motion-ease)}
.client-details-panel.is-details-closing:not([hidden]){animation:gc-fade-out var(--motion-details) var(--motion-ease) forwards;pointer-events:none}
/* Details alone resize the dossier; no transform changes fixed-picker coordinates. */
.client-dossier-modal{transition:width var(--motion-details) var(--motion-ease)}
.client-details-layout{transition:grid-template-columns var(--motion-details) var(--motion-ease)}
.client-dossier-modal>.modal-close{transition:right var(--motion-details) var(--motion-ease)}
.client-dossier-modal:not(.has-details-open):has(.client-details-panel)>.modal-close{right:18px}

.brand-loader{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.5}
.brand-loader>img{display:block;width:28px;height:28px;object-fit:contain}
.brand-loader>img,.brand-loader .brand-mark>img{animation:gc-brand-pulse 1100ms ease-in-out infinite alternate}
.brand-loader-label{font-size:11px;color:var(--muted)}

@media(prefers-reduced-motion:reduce){
  .modal-backdrop,.modal-backdrop>.modal,.client-details-panel,.client-tab-panel,.process-tab-panel,.task-tab-panel,
  .client-picker-preview,.dossier-overflow-menu,.help-tooltip.help-popover,.has-tooltip.help-open>.help-tooltip.help-popover,
  .task-dossier-modal .gc-date-control .gc-date-popup,
  details.relation-picker[open][data-floating-picker]>.relation-picker-tools,
  details.relation-picker[open][data-floating-picker]>.client-picker-search,
  details.relation-picker[open][data-floating-picker]>.relation-options,
  .brand-loader>img,.brand-loader .brand-mark>img{animation:none!important;translate:none}
  .button,.text-button,.icon-button,.task-dossier-tab,.record-card,.sidebar,.client-dossier-modal,.client-details-layout,.client-dossier-modal>.modal-close{transition:none}
  .modal-backdrop.is-closing,.has-tooltip.help-open>.help-tooltip.help-popover.is-closing,.client-details-panel.is-details-closing{opacity:0;animation:none!important}
}
