.button{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);font-weight:500;transition:var(--transition-all);cursor:pointer;font-size:var(--font-size-sm);height:2.5rem;padding-left:1rem;padding-right:1rem;border:none;background-color:var(--color-primary);color:white}.button:hover{background-color:var(--color-primary-dark)}.button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button-outline{background-color:transparent;border:1px solid var(--color-border);color:var(--color-foreground)}.button-outline:hover{background-color:var(--color-accent);color:var(--color-foreground)}.button-outline-primary{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.button-outline-primary:hover{background-color:var(--color-primary);color:white}.button-outline-primary:focus{outline:2px solid var(--color-primary);outline-offset:2px}.button-outline-primary:disabled{opacity:.5;cursor:not-allowed}.button-ghost{background-color:transparent;color:var(--color-foreground)}.button-ghost:hover{background-color:var(--color-accent)}.button-link{background-color:transparent;color:var(--color-muted);height:auto;padding:0}.button-link:hover{background-color:transparent;color:var(--color-foreground);text-decoration:underline}.button-icon{height:2.5rem;width:2.5rem;padding:0}.button-sm{height:2rem;padding-left:.75rem;padding-right:.75rem;font-size:var(--font-size-xs)}.button-lg{height:3rem;padding-left:1.5rem;padding-right:1.5rem;font-size:var(--font-size-base)}.button-gradient{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));color:white;transition:all .3s ease}.button-gradient:hover{background:linear-gradient(to right,var(--color-primary-dark),var(--color-secondary-dark))}.button-full{width:100%}