.custom-button{background-color:transparent;color:var(--text-primary);border:1px solid var(--border);padding:.625rem 1.5rem;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-base);font-weight:500;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent!important;tap-highlight-color:transparent!important}.custom-button.primary{background-color:var(--primary-green);color:var(--color-on-primary);border-color:var(--primary-green);box-shadow:var(--shadow-sm)}.custom-button.primary:hover:not(:disabled){background-color:var(--primary-green-dark);border-color:var(--primary-green-dark);box-shadow:var(--shadow-md)}.custom-button.danger{background-color:var(--color-danger);color:var(--color-on-primary);border-color:var(--color-danger)}.custom-button.danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.custom-button:not(.primary):not(.danger):hover:not(:disabled){background-color:var(--accent-subtle);border-color:var(--accent-muted);color:var(--primary-green)}.custom-button:disabled{opacity:.55;cursor:not-allowed}.custom-button:active:not(:disabled){transform:scale(.98)}.custom-button:focus{outline:none}.custom-button:focus-visible{box-shadow:var(--focus-ring)}.custom-button.primary:focus-visible{box-shadow:var(--focus-ring),var(--shadow-sm)}