.app-btn[data-v-e7229aa4]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-md);font-size:calc(var(--font-body) * 1);font-weight:500;line-height:1.4;padding:calc(8px * var(--btn-scale)) calc(16px * var(--btn-scale));min-height:calc(40px * var(--btn-scale));transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);-webkit-user-select:none;user-select:none}.app-btn[data-v-e7229aa4]:active:not(:disabled){transform:scale(.96)}.app-btn--sm[data-v-e7229aa4]{min-height:calc(32px * var(--btn-scale));padding:calc(4px * var(--btn-scale)) calc(12px * var(--btn-scale));font-size:var(--font-aux)}.app-btn--lg[data-v-e7229aa4]{min-height:calc(52px * var(--btn-scale));padding:calc(12px * var(--btn-scale)) calc(24px * var(--btn-scale));font-size:var(--font-subtitle)}.app-btn--block[data-v-e7229aa4]{width:100%}.app-btn--icon[data-v-e7229aa4]{padding:calc(8px * var(--btn-scale));min-width:calc(40px * var(--btn-scale))}.app-btn--primary[data-v-e7229aa4]{background:var(--color-primary);color:#fff}.app-btn--primary[data-v-e7229aa4]:hover:not(:disabled){background:var(--color-primary-deep)}.app-btn--secondary[data-v-e7229aa4]{background:var(--bg-elevated);border-color:var(--color-primary);color:var(--color-primary)}.app-btn--secondary[data-v-e7229aa4]:hover:not(:disabled){background:var(--color-primary-light)}.app-btn--danger[data-v-e7229aa4]{background:var(--color-danger);color:#fff}.app-btn--danger[data-v-e7229aa4]:hover:not(:disabled){background:#d92e2e}[data-theme=dark] .app-btn--danger[data-v-e7229aa4]:hover:not(:disabled){background:#ff5c5c}.app-btn--text[data-v-e7229aa4]{background:transparent;color:var(--text-regular)}.app-btn--text[data-v-e7229aa4]:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-light)}.app-btn[data-v-e7229aa4]:disabled{opacity:.45;cursor:not-allowed}.app-btn__spinner[data-v-e7229aa4]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin-e7229aa4 .8s linear infinite}@keyframes btn-spin-e7229aa4{to{transform:rotate(360deg)}}@media (max-width: 768px){.app-btn[data-v-e7229aa4]{min-height:max(44px,calc(40px * var(--btn-scale)))}}
