.ui-btn[data-v-e17b43ed]{align-items:center;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;gap:var(--space-2);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.ui-btn[data-v-e17b43ed]:focus{outline:none}.ui-btn[data-v-e17b43ed]:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-btn[data-v-e17b43ed]:disabled{cursor:not-allowed;opacity:.5}.ui-btn--loading[data-v-e17b43ed],.ui-btn[data-v-e17b43ed]:disabled{pointer-events:none}.ui-btn--icon-right[data-v-e17b43ed]{flex-direction:row-reverse}.ui-btn--sm[data-v-e17b43ed]{font-size:.875rem;gap:var(--space-1);padding:var(--space-2) var(--space-4)}.ui-btn--md[data-v-e17b43ed]{font-size:1rem;gap:var(--space-2);padding:var(--space-3) var(--space-6)}.ui-btn--lg[data-v-e17b43ed]{font-size:1.125rem;gap:var(--space-3);padding:var(--space-4) var(--space-8)}.ui-btn--primary[data-v-e17b43ed]{background:linear-gradient(135deg,var(--color-primary-500) 0,var(--color-primary-600) 100%);box-shadow:var(--shadow-md),0 4px 14px -3px #6366f166;color:#fff}.ui-btn--primary[data-v-e17b43ed]:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-600) 0,var(--color-primary-700) 100%);box-shadow:var(--shadow-lg),0 8px 20px -4px #6366f180;transform:translateY(-2px)}.ui-btn--primary[data-v-e17b43ed]:active:not(:disabled){box-shadow:var(--shadow-sm),0 2px 8px -2px #6366f166;transform:translateY(0)}.ui-btn--secondary[data-v-e17b43ed]{background:linear-gradient(135deg,var(--color-neutral-600) 0,var(--color-neutral-700) 100%);box-shadow:var(--shadow-md),0 4px 14px -3px #47556966;color:#fff}.ui-btn--secondary[data-v-e17b43ed]:hover:not(:disabled){background:linear-gradient(135deg,var(--color-neutral-700) 0,var(--color-neutral-800) 100%);box-shadow:var(--shadow-lg),0 8px 20px -4px #47556980;transform:translateY(-2px)}.ui-btn--secondary[data-v-e17b43ed]:active:not(:disabled){transform:translateY(0)}.ui-btn--outline[data-v-e17b43ed]{background:transparent;border-color:var(--color-neutral-300);box-shadow:var(--shadow-sm);color:var(--color-text)}.ui-btn--outline[data-v-e17b43ed]:hover:not(:disabled){background:var(--color-neutral-100);border-color:var(--color-neutral-400);box-shadow:var(--shadow-md);transform:translateY(-1px)}.ui-btn--outline[data-v-e17b43ed]:active:not(:disabled){background:var(--color-neutral-200);transform:translateY(0)}.ui-btn--ghost[data-v-e17b43ed]{background:transparent;color:var(--color-text-muted)}.ui-btn--ghost[data-v-e17b43ed]:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-text)}.ui-btn--ghost[data-v-e17b43ed]:active:not(:disabled){background:var(--color-neutral-200)}.ui-btn--danger[data-v-e17b43ed]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:var(--shadow-md),0 4px 14px -3px #dc262666;color:#fff}.ui-btn--danger[data-v-e17b43ed]:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:var(--shadow-lg),0 8px 20px -4px #dc262680;transform:translateY(-2px)}.ui-btn--danger[data-v-e17b43ed]:active:not(:disabled){transform:translateY(0)}.ui-btn--warning[data-v-e17b43ed]{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:var(--shadow-md),0 4px 14px -3px #f59e0b66;color:#fff}.ui-btn--warning[data-v-e17b43ed]:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);box-shadow:var(--shadow-lg),0 8px 20px -4px #f59e0b80;transform:translateY(-2px)}.ui-btn--warning[data-v-e17b43ed]:active:not(:disabled){transform:translateY(0)}.ui-btn--full[data-v-e17b43ed]{width:100%}.ui-btn__icon[data-v-e17b43ed]{flex-shrink:0}.btn-spinner[data-v-e17b43ed]{animation:btn-spin-e17b43ed .6s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:currentcolor;height:1.25em;width:1.25em}.ui-btn--ghost .btn-spinner[data-v-e17b43ed],.ui-btn--outline .btn-spinner[data-v-e17b43ed]{border-color:currentColor rgba(0,0,0,.15) rgba(0,0,0,.15)}@keyframes btn-spin-e17b43ed{to{transform:rotate(1turn)}}.sr-only[data-v-e17b43ed]{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.icon-sm[data-v-e17b43ed]{height:1rem;width:1rem}.icon-md[data-v-e17b43ed]{height:1.25rem;width:1.25rem}.icon-lg[data-v-e17b43ed]{height:1.5rem;width:1.5rem}@media(prefers-reduced-motion:reduce){.ui-btn[data-v-e17b43ed]{transition:none}.ui-btn[data-v-e17b43ed]:hover:not(:disabled){transform:none}.btn-spinner[data-v-e17b43ed]{animation:none}}
