.is-loading { position:relative; cursor:progress !important; }
.is-loading:not(.is-loading-inline), .is-loading:not(.is-loading-inline):hover { color:transparent !important; }
.is-loading:not(.is-loading-inline) > :not(.loading-indicator) { visibility:hidden !important; }
.loading-indicator { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; pointer-events:none; color:var(--loading-ink, var(--ink)); }
.loading-spinner { display:block; flex:0 0 auto; width:18px; height:18px; box-sizing:border-box; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:techped-spin .75s linear infinite; }
.is-loading-inline .loading-indicator { left:auto; right:14px; width:18px; }
.is-loading-inline .ui-control-icon { visibility:hidden; }
.loading-field-owner { position:relative; }
.loading-field-indicator { position:absolute; width:18px; height:18px; transform:translateY(-50%); pointer-events:none; color:var(--accent); }
input[data-loading-field] { padding-right:44px !important; }
.loading-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.loading-error { margin:12px 0; }
@keyframes techped-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .loading-spinner { animation:none; border-style:dotted; } }
@media print { .loading-indicator, .loading-field-indicator, .loading-status { display:none !important; } .is-loading:not(.is-loading-inline) { color:inherit !important; } .is-loading > * { visibility:visible !important; } }
