.base-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--border-radius-md);font:inherit;font-weight:var(--font-medium);line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.base-button--md{min-height:2.5rem;padding:0 1rem;font-size:.9375rem}.base-button--sm{min-height:2rem;padding:0 .75rem;font-size:.875rem}.base-button--icon-only{padding:0;aspect-ratio:1}.base-button--primary{background-color:var(--brand-600);color:#ffffff}.base-button--primary:hover:not(:disabled){background-color:var(--brand-700)}.base-button--secondary{background-color:var(--surface);border-color:var(--gray-300);color:var(--gray-900)}.base-button--secondary:hover:not(:disabled){background-color:var(--gray-100)}.base-button--danger{background-color:var(--red-500);color:#ffffff}.base-button--danger:hover:not(:disabled){background-color:var(--red-700)}.base-button--ghost{background-color:transparent;color:var(--gray-700)}.base-button--ghost:hover:not(:disabled){background-color:var(--gray-100)}.base-button:disabled{opacity:.6;cursor:not-allowed}.base-button__spinner{width:1rem;height:1rem;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:base-button-spin .7s linear infinite}@keyframes base-button-spin{to{transform:rotate(1turn)}}