.sys-form-loading{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:color-mix(in srgb,var(--adm-panel,var(--surface,#fff)) 94%,transparent);color:var(--adm-text,var(--text,#263238));cursor:progress;font-size:13px}
.sys-form-loading[hidden]{display:none!important}
.sys-form-loading img{width:150px;max-height:70px;object-fit:contain;animation:sys-form-breathe 1.8s ease-in-out infinite}
.execution-main:has(>.sys-form-loading){position:relative}
body>.sys-form-loading{position:fixed}
@keyframes sys-form-breathe{0%,100%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-8px) scale(1.06);opacity:.75}}
@media(prefers-reduced-motion:reduce){.sys-form-loading img{animation:none}}
/* Progress stays inside the lazy control, without a veil or blocked input. */
.sys-control-loading-host{position:relative}
.sys-control-loading{position:absolute;inset:0 0 auto;height:2px;overflow:hidden;z-index:2;padding:0;margin:0;background:transparent;pointer-events:none;border:0;box-shadow:none}
.sys-control-loading::after{content:'';display:block;width:32%;height:100%;background:var(--adm-primary,var(--accent,#3c8dbc));animation:sys-control-progress 1.6s ease-in-out infinite}
.sys-control-loading>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes sys-control-progress{from{transform:translateX(-100%)}to{transform:translateX(313%)}}
@media(prefers-reduced-motion:reduce){.sys-control-loading::after{animation:none;width:100%;opacity:.6}}
