.app-icon[data-v-364ae60b]{align-items:center;display:inline-flex;justify-content:center;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;-webkit-font-smoothing:antialiased;font-weight:200}.app-button[data-v-2f0ea454]{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;transition:background-color var(--motion-duration-fast) var(--motion-easing-standard),border-color var(--motion-duration-fast) var(--motion-easing-standard),box-shadow var(--motion-duration-fast) var(--motion-easing-standard),color var(--motion-duration-fast) var(--motion-easing-standard);-webkit-user-select:none;-moz-user-select:none;user-select:none}.app-button[data-v-2f0ea454]:focus-visible{box-shadow:var(--shadow-focus);outline:2px solid var(--color-border-focus);outline-offset:2px}.app-button[data-v-2f0ea454]:disabled{cursor:not-allowed;opacity:.55}.app-button--sm[data-v-2f0ea454]{border-radius:var(--radius-sm);font-size:var(--font-size-sm);min-height:32px;padding:var(--space-2) var(--space-3)}.app-button--md[data-v-2f0ea454]{font-size:var(--font-size-base);min-height:44px;padding:var(--space-3) var(--space-4)}.app-button--lg[data-v-2f0ea454]{border-radius:var(--radius-lg);font-size:var(--font-size-base);min-height:52px;padding:var(--space-4) var(--space-5)}.app-button--full-width[data-v-2f0ea454]{width:100%}.app-button--icon-only[data-v-2f0ea454]{aspect-ratio:1/1;padding:var(--space-2)}.app-button--primary[data-v-2f0ea454]{background:var(--color-brand-primary);color:var(--color-text-on-brand)}.app-button--primary[data-v-2f0ea454]:hover:not(:disabled){background:var(--color-brand-primary-hover)}.app-button--primary[data-v-2f0ea454]:active:not(:disabled){background:var(--color-brand-primary-active);box-shadow:inset 0 3px 5px #00000020}.app-button--secondary[data-v-2f0ea454]{background:var(--color-bg-surface);border-color:var(--color-border-default);color:var(--color-text-primary)}.app-button--secondary[data-v-2f0ea454]:hover:not(:disabled){border-color:var(--color-border-strong)}.app-button--ghost[data-v-2f0ea454]{background:transparent;color:var(--color-text-primary)}.app-button--ghost[data-v-2f0ea454]:hover:not(:disabled){background:var(--color-bg-sunken)}.app-button--danger[data-v-2f0ea454]{background:var(--color-feedback-danger);color:var(--color-text-on-brand)}.app-button--danger[data-v-2f0ea454]:hover:not(:disabled){filter:brightness(.92)}.app-button--success[data-v-2f0ea454]{background:var(--color-feedback-success);color:var(--color-text-on-brand)}.app-button--success[data-v-2f0ea454]:hover:not(:disabled){filter:brightness(.95)}.app-button--loading[data-v-2f0ea454]{cursor:progress}.app-button__spinner[data-v-2f0ea454]{animation:app-button-spin-2f0ea454 .7s linear infinite;border:2px solid;border-radius:var(--radius-full);border-right:2px solid transparent;height:1em;width:1em}.app-button__icon[data-v-2f0ea454]{align-items:center;display:inline-flex;height:1em;justify-content:center;width:1em}@keyframes app-button-spin-2f0ea454{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.app-button[data-v-2f0ea454]{transition:none}.app-button__spinner[data-v-2f0ea454]{animation-duration:1.5s}}
