.ui-spinner-wrap[data-v-3bf7d8f0]{display:inline-flex}.ui-spinner[data-v-3bf7d8f0]{border:2px solid var(--color-border);border-top-color:var(--color-primary-dark);border-radius:50%;flex:none;animation:.8s linear infinite ui-spin-3bf7d8f0;display:inline-block}.ui-spinner--sm[data-v-3bf7d8f0]{width:14px;height:14px}.ui-spinner--md[data-v-3bf7d8f0]{width:20px;height:20px}.ui-spinner--lg[data-v-3bf7d8f0]{border-width:3px;width:32px;height:32px}@keyframes ui-spin-3bf7d8f0{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ui-spinner[data-v-3bf7d8f0]{animation-duration:2.4s}}.ui-button[data-v-379c7e80]{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius);font-size:var(--font-size-base);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;border:1px solid #0000;line-height:1.2;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ui-button--sm[data-v-379c7e80]{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-size-small)}.ui-button--block[data-v-379c7e80]{width:100%;display:flex}.ui-button--primary[data-v-379c7e80]{border-color:var(--color-primary-dark);background:var(--color-primary-dark);color:#fff}.ui-button--primary[data-v-379c7e80]:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary)}.ui-button--secondary[data-v-379c7e80]{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-primary-dark)}.ui-button--secondary[data-v-379c7e80]:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.ui-button--danger[data-v-379c7e80]{border-color:var(--color-danger-dark);background:var(--color-danger-dark);color:#fff}.ui-button--danger[data-v-379c7e80]:hover:not(:disabled){border-color:var(--color-danger);background:var(--color-danger)}.ui-button--ghost[data-v-379c7e80]{color:var(--color-primary-dark);background:0 0}.ui-button--ghost[data-v-379c7e80]:hover:not(:disabled){background:var(--color-primary-light)}.ui-button[data-v-379c7e80]:disabled{border-color:var(--color-disabled);background:var(--color-disabled);color:var(--color-secondary-dark);cursor:not-allowed}.ui-button--ghost[data-v-379c7e80]:disabled{color:var(--color-text-muted);background:0 0;border-color:#0000}.ui-button--loading[data-v-379c7e80]{cursor:progress}
