web: standardize buttons with variant system
Add variant attr (:primary, :secondary, :danger, :icon) to the button
component and convert all raw <button> tags to use <.button>. All action
buttons now share consistent sizing (rounded-md, px-3 py-1.5) and the
bordered outline style. Deploy, Retry, and View log all use :secondary.