.ayllu-loading-overlay[hidden], .ayllu-loading-status[hidden], .ayllu-loading-dismiss[hidden] { display: none; }
.ayllu-loading-overlay { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 1rem; background: rgb(15 23 42 / 45%); cursor: wait; }
.ayllu-loading-card { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 2rem; max-width: 100%; border-radius: 1rem; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #172033); box-shadow: 0 16px 48px rgb(0 0 0 / 20%); text-align: center; }
.ayllu-spinner { display: inline-block; width: 2.5rem; height: 2.5rem; flex-shrink: 0; border: .25rem solid rgb(23 114 228 / 25%); border-top-color: #1772e4; border-radius: 50%; animation: ayllu-spin .8s linear infinite; }
.ayllu-loading-status { position: fixed; bottom: 1rem; right: 1rem; z-index: 2000; display: flex; align-items: center; gap: .75rem; max-width: calc(100vw - 2rem); padding: .75rem 1rem; border-radius: .75rem; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #172033); box-shadow: 0 4px 24px rgb(0 0 0 / 20%); pointer-events: none; }
.ayllu-loading-status .ayllu-spinner { width: 1.5rem; height: 1.5rem; border-width: .2rem; }
.ayllu-loading-inline { display: flex; justify-content: center; align-items: center; gap: .75rem; padding: .75rem; color: var(--bs-body-color, #172033); }
.ayllu-loading-inline .ayllu-spinner { width: 1.5rem; height: 1.5rem; border-width: .2rem; }
.ayllu-loading-dismiss { border: 0; background: transparent; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.ayllu-is-loading { cursor: wait; }
@keyframes ayllu-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ayllu-spinner { animation-duration: 2s; } }
